第3章 システム概要

ソフトウェアの開発を開始する前に、本章ではシステム概要について解説します。

3.1. Armadillo-400 シリーズ基本仕様

Armadillo-400 シリーズの標準状態[3]での基本仕様を表3.1「Armadillo-400 シリーズ基本仕様」に示します。また、Armadillo-420のブロック図を図3.1「Armadillo-420 ブロック図」に示します。

表3.1 Armadillo-400 シリーズ基本仕様

 Armadillo-420

プロセッサ

Freescale i.MX257 (ARM926EJ-S)

命令/データキャッシュ 16KByte/16KByte

内部 SRAM 128KByte

システムクロック

CPU コアクロック:400MHz

BUS クロック:133MHz

RAM

LPDDR SDRAM:64MByte (16bit幅)

 

ROM

NOR フラッシュメモリ:16MByte (16bit幅)

 

シリアル

RS232C レベル×1 ポート

フロー制御ピン有り (フルモデム)

最大 230.4 kbps

 

3.3V I/O レベル×2 ポート

フロー制御ピン無し

最大 4Mbps

 

USB 2.0 ホスト

High Speed×1 ポート

Full Speed×1 ポート

LAN

10BASE-T/100BASE-TX×1 ポート

ストレージ

microSD×1

4bit幅、最大 208Mbps

 

GPIO

3.3V I/O レベル×18 ピン

プログラマブル LED

赤×1、緑×1、黄×1

ボタン

タクトスイッチ×1

 

Armadillo-420 ブロック図

図3.1 Armadillo-420 ブロック図


3.2. Armadillo-420 ベーシックモデル基本仕様

Armadillo-420 ベーシックモデルは、Armadillo-420 に Armadillo-400シリーズ RTC オプションモジュールを接続したモデルです。RTC オプションモジュールの基本仕様を、表3.2「RTCオプションモジュール基本仕様」に示します。

表3.2 RTCオプションモジュール基本仕様

 Armadillo-400シリーズ RTC オプションモジュール

リアルタイムクロック

電源切断後も一定時間動作可能


[ティップ]

リアルタイムクロックのバックアップ時間は、RTCオプションモジュールの型番によって異なります。また、外部バッテリを接続することで長時間電源が切断されても時刻データを保持させることが可能です。詳細な仕様については「Armadillo-400 シリーズ ハードウェアマニュアル」をご参照ください。

Armadillo-420 ベーシックモデルの見取り図を図3.2「Armadillo-420 ベーシックモデル見取り図」に示します。また、標準イメージにおける、Linuxカーネル起動後の拡張インターフェース(CON9 および CON14)の各ピンの状態を表3.3「Armadillo-420 ベーシックモデル拡張インターフェースデフォルト状態」に示します[4]。各インターフェースの配置場所等を確認してください。

Armadillo-420 ベーシックモデル見取り図

図3.2 Armadillo-420 ベーシックモデル見取り図


表3.3 Armadillo-420 ベーシックモデル拡張インターフェースデフォルト状態

ピン番号機能Input/OutputOpen DrainPull/Keeper[a]Slew RateDrive Strength
CON14 1[b]+3.3V_IOPower----
CON14 2GNDPower----
CON14 3I2C2_SCLInput/OutputEnabled22kΩ PU[c]SlowStd.
CON14 4I2C2_SDAInput/OutputEnabled22kΩ PU[c]SlowStd.
CON9 1GPIO3_17InputDisabled100kΩ PUSlowStd.
CON9 2GPIO3_14InputDisabled100kΩ PUSlowStd.
CON9 3シリアルインターフェース2 UART3_RXDInputDisabled100kΩ PUSlowStd.
CON9 4シリアルインターフェース3 UART5_RXDInputDisabled100kΩ PUSlowStd.
CON9 5シリアルインターフェース2 UART3_TXDOutputDisabledDisabledSlowStd.
CON9 6シリアルインターフェース3 UART5_TXDOutputDisabledDisabledSlowStd.
CON9 7+3.3V_IOPower----
CON9 8+3.3V_IOPower----
CON9 9GNDPower----
CON9 10GNDPower----
CON9 11GPIO1_17InputDisabled100kΩ PUSlowStd.
CON9 12GPIO1_29InputDisabled100kΩ PUSlowStd.
CON9 13GPIO1_18InputDisabled100kΩ PUSlowStd.
CON9 14GPIO1_30InputDisabled100kΩ PUSlowStd.
CON9 15GPIO1_7InputDisabled100kΩ PUSlowStd.
CON9 16GPIO1_31InputDisabled100kΩ PUSlowStd.
CON9 17GPIO4_21InputDisabled100kΩ PUSlowStd.
CON9 18GPIO1_6InputDisabled100kΩ PUSlowStd.
CON9 19GNDPower----
CON9 20+3.3V_IOPower----
CON9 21GPIO1_8InputDisabled100kΩ PUSlowStd.
CON9 22GPIO1_9InputDisabled100kΩ PUSlowStd.
CON9 23GPIO1_10InputDisabled100kΩ PUSlowStd.
CON9 24GPIO1_11InputDisabled100kΩ PUSlowStd.
CON9 25GPIO1_16InputDisabled100kΩ PUSlowStd.
CON9 26GPIO2_22InputDisabled100kΩ PUSlowStd.
CON9 27GPIO2_21Output LowDisabledDisabledFastStd.
CON9 28GPIO3_15Output LowDisabledDisabledFastStd.

[a] PD=プルダウン、PU=プルアップ。

[b] RTCオプションモジュールのCON1 1ピンに接続。以下、CON14 4まで、RTCオプションモジュールと接続されます。

[c] RTCオプションモジュールで1kΩ PU。


[ティップ]

シリアルインターフェース 2 と 3 は +3.3V IO レベルとなっています。オプション[5]の RS232C レベル変換アダプタを使用することで、RS232C レベルで使用することができます。

RS232C レベル変換アダプタは、シリアルインターフェース 2 に接続する場合は、RS232C レベル変換アダプタの 1 番ピン (黄色または緑に着色されたケーブル)と CON9 1 ピンが合うように、シリアルインターフェース 3 に接続する場合は、RS232C レベル変換アダプタの 1 番ピンと CON9 2 ピンが合うように接続してください。

3.3. Armadillo-420 WLANモデル(AWL13対応)基本仕様

Armadillo-420 WLANモデル(AWL13対応)は、Armadillo-420 に Armadillo-400シリーズ WLANオプションモジュール(AWL13対応)(以下、WLANオプションモジュール(AWL13対応))を接続したモデルです。WLANオプションモジュール(AWL13対応)の基本仕様を、表3.4「WLANオプションモジュール(AWL13対応)基本仕様」に示します。

表3.4 WLANオプションモジュール(AWL13対応)基本仕様

 Armadillo-400シリーズ WLANオプションモジュール(AWL13対応)

無線LAN規格

IEEE802.11b, IEEE802.11g, IEEE802.11n, IEEE802.11i

送受信周波数

2400MHz ~ 2483.5MHz(ch1 ~ 13)

アクセス方式

インフラストラクチャモード(STA[a]、AP[b][c])、アドホックモード

セキュリティ方式

64bit/128bit WEP, TKIP, AES

リアルタイムクロック

電源切断後も一定時間動作可能

[a] STA=ステーション。

[b] ファームウェア v4.3.2以降で有効です。対応するデバイスドライバはv3.0.2以降です。

[c] AP=アクセスポイント


[ティップ]

リアルタイムクロックは、外部バッテリを接続することで長時間電源が切断されても時刻データを保持させることが可能です。詳細な仕様については「Armadillo-400 シリーズ ハードウェアマニュアル」をご参照ください。

Armadillo-420 WLANモデル(AWL13対応)の見取り図を図3.3「Armadillo-420 WLANモデル(AWL13対応)見取り図」に示します。また、標準イメージにおける、Linuxカーネル起動後の拡張インターフェース(CON9 および CON14)の各ピンの状態を表3.5「Armadillo-420 WLANモデル(AWL13対応)拡張インターフェースデフォルト状態」に示します[6]。各インターフェースの配置場所等を確認してください。

Armadillo-420 WLANモデル(AWL13対応)見取り図

図3.3 Armadillo-420 WLANモデル(AWL13対応)見取り図


表3.5 Armadillo-420 WLANモデル(AWL13対応)拡張インターフェースデフォルト状態

ピン番号機能Input/OutputOpen DrainPull/Keeper[a]Slew RateDrive Strength
CON14 1[b]+3.3V_IOPower----
CON14 2GNDPower----
CON14 3I2C2_SCLInput/OutputEnabled22kΩ PU[c]SlowStd.
CON14 4I2C2_SDAInput/OutputEnabled22kΩ PU[c]SlowStd.
CON9 1SDHC2_PWREN(GPIO3_17)OutputDisabled100kΩ PU[d]SlowStd.
CON9 2RTC_INT1(GPIO3_14)InputDisabled22kΩ PUSlowStd.
CON9 3GPIO1_14[e]InputDisabled100kΩ PUSlowStd.
CON9 4シリアルインターフェース3 UART5_RXDInputDisabled100kΩ PUSlowStd.
CON9 5GPIO1_15[e]InputDisabled100kΩ PUSlowStd.
CON9 6シリアルインターフェース3 UART5_TXDOutputDisabledDisabledSlowStd.
CON9 7+3.3V_IOPower----
CON9 8+3.3V_IOPower----
CON9 9GNDPower----
CON9 10GNDPower----
CON9 11GPIO1_17[e]InputDisabled100kΩ PUSlowStd.
CON9 12GPIO1_29[e]InputDisabled100kΩ PUSlowHigh
CON9 13GPIO1_18[e]InputDisabled100kΩ PUSlowStd.
CON9 14GPIO1_30[e]InputDisabled100kΩ PUSlowHigh
CON9 15SDHC2_WP(GPIO1_7)InputDisabled100kΩ PU[f]SlowHigh
CON9 16SDHC2_CMDInput/OutputDisabledDisabled[g]FastHigh
CON9 17SDHC2_CD(GPIO4_21)InputDisabled100kΩ PU[f]SlowHigh
CON9 18SDHC2_CLKOutputDisabledDisabledFastHigh
CON9 19GNDPower----
CON9 20+3.3V_IOPower----
CON9 21SDHC2_DATA0Input/OutputDisabledDisabled[g]FastHigh
CON9 22SDHC2_DATA1Input/OutputDisabledDisabled[g]FastHigh
CON9 23SDHC2_DATA2Input/OutputDisabledDisabled[g]FastHigh
CON9 24SDHC2_DATA3Input/OutputDisabledDisabled[g]FastHigh
CON9 25GPIO1_16InputDisabled100kΩ PUSlowStd.
CON9 26GPIO2_22InputDisabled100kΩ PUSlowStd.
CON9 27GPIO2_21Output LowDisabledDisabledFastStd.
CON9 28GPIO3_15Output LowDisabledDisabledFastStd.

[a] PD=プルダウン、PU=プルアップ

[b] WLANオプションモジュール(AWL13対応)のCON1 1ピンに接続。以下、CON9 24まで、WLANオプションモジュール(AWL13対応)と接続されます。

[c] WLANオプションモジュール(AWL13対応)で1kΩ PU。

[d] WLANオプションモジュール(AWL13対応)で1kΩ PD。

[e] WLANオプションモジュール(AWL13対応)では未使用。

[f] WLANオプションモジュール(AWL13対応)で10kΩ PD。

[g] WLANオプションモジュール(AWL13対応)で47kΩ PU。


3.4. メモリマップ

Armadillo-400 シリーズは、標準で表3.6「Armadillo-420 フラッシュメモリ メモリマップ」に示すようにフラッシュメモリを分割して使用します。

表3.6 Armadillo-420 フラッシュメモリ メモリマップ

物理アドレスリージョン名サイズ説明

0xa0000000

0xa001ffff

bootloader128KB

ブートローダーイメージを格納します

0xa0020000

0xa041ffff

kernel4MB

カーネルイメージを格納します

0xa0420000

0xa0efffff

userland10.875MB

ユーザーランドイメージを格納します

0xa0f00000

0xa0ffffff

config1MB

設定情報を保存します


3.5. ソフトウェア構成

Armadillo-400 シリーズでは、以下のソフトウェアによって動作します。

3.5.1. ブートローダー

ブートローダーは、電源投入後に最初に動作するソフトウェアです。Armadillo-400 シリーズでは Hermit-At ブートローダー (以降、単に Hermit-At と記述します) を使用します。

Hermit-At にはオートブートモードと保守モードの2つの動作モードがあります。オートブートモードでは、あらかじめ指定された場所からカーネルイメージを RAM 上にロードし、カーネルをブートします。保守モードでは、フラッシュメモリの更新、ブートオプションの設定などを行います。詳しくは、付録A Hermit-At ブートローダーを参照してください。

ブートローダーは、必ずフラッシュメモリのブートローダーリージョンに書き込まれている必要があります。

3.5.2. カーネル

Armadillo-400 シリーズは、Linux カーネルを使用しています。

標準ではカーネルイメージはフラッシュメモリのカーネルリージョンに配置されます。カーネルイメージは、Hermit-At のブートオプションを変更することで、ストレージ(microSD/SD)または TFTP サーバー上にも配置することができます。

3.5.3. ユーザーランド

Armadillo-400 シリーズでは、標準のユーザーランドのルートファイルシステムは Atmark-Dist と呼ばれるソースコードベースのディストリビューションから作成した initrd[7] イメージを使用します。

また、標準ユーザーランドの他に、オプションとして Debian GNU/Linux ベースのユーザーランドも提供しています。

標準では initrd イメージはフラッシュメモリのユーザーランドリージョンに配置され、Hermit-At によって RAM disk に展開されます。initrd イメージは、 Hermit-At のブートオプションを変更することで、TFTP サーバー上にも配置することができます。

ルートファイルシステムは、カーネルパラメータを設定することで、RAM disk 以外にストレージ (microSD/SD/USB) または NFS サーバー[8]上に配置することもできます。

カーネルとユーザーランドをフラッシュメモリ以外に配置する方法については、8章カーネル/ユーザーランドの配置で詳しく説明します。

3.5.4. ダウンローダー

Armadillo の内蔵フラッシュメモリを書き換えるために、作業用 PC で動作するアプリケーションです。

Linux PC 上で動作するダウンローダーには Hermit-At ダウンローダーと Shoehorn-At があります。Hermit-At ダウンローダーは、ターゲットとなる Armadillo と協調動作を行い、Armadillo の内蔵フラッシュメモリを書き換えることができます。Shoehorn-At は、ブートローダーの復旧に使用します。

Windows PC 上で動作するダウンローダーは、Hermit-At Win32 と呼びます。 Hermit-At Win32 は、ターゲットとなる Armadillo の内蔵フラッシュメモリを書き換える機能と、ブートローダーを復旧するための機能を両方有しています。

3.6. ブートモード

Armadillo-400 シリーズは、JP1の設定によってオンボードフラッシュメモリブートモードと、UART ブートモードを選択することができます。

オンボードフラッシュメモリブートモードでは、フラッシュメモリのブートローダーリージョンに配置されたブートローダーが起動されます。

標準のブートローダーである Hermit-At では、JP2 の設定によって自動でカーネルをブートするオートブートモードか、各種設定を行うための保守モードを選択することができます。

なお、JP2 の設定によってオートブートモードが選択されている場合でも、起動時に SW1 が押下されている時は Hermit-At のオートブートキャンセル機能により保守モードで起動します。

UART ブートモードは、フラッシュメモリのブートローダーが壊れた場合など、システム復旧のために使用します。詳しくは、「ブートローダーを出荷状態に戻す」 を参照してください。

Armadillo-400 シリーズの各ジャンパ設定でのブートモードを表3.7「ジャンパの設定」に示します。

表3.7 ジャンパの設定

JP1JP2ブートモード
オープンオープンオンボードフラッシュメモリブート/オートブートモード
オープンショートオンボードフラッシュメモリブート/保守モード
ショート-UART ブートモード

[ティップ]ジャンパのオープン、ショートとは

「オープン」とはジャンパピンにジャンパソケットを接続していない状態です。

「ショート」とはジャンパピンにジャンパソケットを接続している状態です。



[3] Armadillo-400 シリーズは IO ピンのマルチプレクスにより機能を変更することができます。詳しくは、「Armadillo-400 シリーズ ハードウェアマニュアル」及び9章Linuxカーネル仕様をご参照ください。

[4] Linuxカーネル起動以前の状態に関しては、「Armadillo-400 シリーズ ハードウェアマニュアル」をご参照ください。

[5] RS232C レベル変換アダプタはオプション品としてご購入いただけます。また、開発セットには付属しています。

[6] Linuxカーネル起動以前の状態に関しては、「Armadillo-400 シリーズ ハードウェアマニュアル」をご参照ください。

[7] initial RAM disk。一般的な Linux システムでは、initrd は HDD などにあるルートファイルシステムをマウントする前に一時的に使用する「ミニ」ルートファイルシステムとして使用されます。Armadillo-400 シリーズでは、initrd をそのままルートファイルシステムとして使用します。

[8] カーネルでNFSサポートを有効にした場合