第2章 システム概要

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

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

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

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

 Armadillo-420Armadillo-440

プロセッサ

Freescale i.MX257 (ARM926EJ-S)

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

内部 SRAM 128KByte

システムクロック

CPU コアクロック:400MHz

BUS クロック:133MHz

RAM

LPDDR SDRAM:64MByte (16bit幅)

LPDDR SDRAM:128MByte (16bit幅)

ROM

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

NOR フラッシュメモリ:32MByte (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/440 ブロック図

図2.1 Armadillo-420/440 ブロック図


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

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

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

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

リアルタイムクロック

スーパーキャパシタによるバックアップ


Armadillo-420 ベーシックモデルの見取り図を図2.2「Armadillo-420 ベーシックモデル見取り図」に示します。また、CON9 および CON14 のピン配置を表2.3「Armadillo-420 ベーシックモデル拡張インターフェースピン配置」に示します。各インターフェースの配置場所等を確認してください。

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

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


表2.3 Armadillo-420 ベーシックモデル拡張インターフェースピン配置

ピン番号機能備考
CON9 1GPIO100 kΩ プルアップ
CON9 2GPIO100 kΩ プルアップ
CON9 3シリアルインターフェース2 RXD 
CON9 4シリアルインターフェース3 RXD 
CON9 5シリアルインターフェース2 TXD 
CON9 6シリアルインターフェース3 TXD 
CON9 7+3.3V 
CON9 8+3.3V 
CON9 9GND 
CON9 10GND 
CON9 11GPIO100 kΩ プルアップ
CON9 12GPIO100 kΩ プルアップ
CON9 13GPIO100 kΩ プルアップ
CON9 14GPIO100 kΩ プルアップ
CON9 15GPIO100 kΩ プルアップ
CON9 16GPIO100 kΩ プルアップ
CON9 17GPIO100 kΩ プルアップ
CON9 18GPIO100 kΩ プルアップ
CON9 19GND 
CON9 20+3.3V 
CON9 21GPIO100 kΩ プルアップ
CON9 22GPIO100 kΩ プルアップ
CON9 23GPIO100 kΩ プルアップ
CON9 24GPIO100 kΩ プルアップ
CON9 25GPIO100 kΩ プルアップ
CON9 26GPIO100 kΩ プルアップ
CON9 27GPIO 
CON9 28GPIO 
CON14 1+3.3V 
CON14 2GND 
CON14 3I2C2 SCL22 kΩ プルアップ/オープンドレイン
CON14 4I2C2 SDA22 kΩ プルアップ/オープンドレイン

[ティップ]

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

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

2.3. Armadillo-440 液晶モデル基本仕様

Armadillo-440 液晶モデルは、Armadillo-440 に Armadillo-440 LCD 拡張ボードを接続したモデルです。拡張ボードの基本仕様を、表2.4「拡張ボード基本仕様」に示します。

表2.4 拡張ボード基本仕様

 Armadillo-440 LCD 拡張ボード

オーディオ

Playback(ステレオ) / Capture(モノラル)

LCD

解像度 480 × 272 ピクセル

RGB 565 カラー

タッチスクリーン

4 線抵抗膜式

リアルタイムクロック

スーパーキャパシタによるバックアップ

ボタン

タクトスイッチ×3


Armadillo-440 液晶モデルの見取り図を図2.3「Armadillo-440 液晶モデル見取り図」に示します。また、CON9 および CON14 のピン配置を表2.5「Armadillo-440 液晶モデル拡張インターフェースピン配置」に示します。各インターフェースの配置場所等を確認してください。

Armadillo-440 液晶モデル見取り図

図2.3 Armadillo-440 液晶モデル見取り図


表2.5 Armadillo-440 液晶モデル拡張インターフェースピン配置

ピン番号機能備考
CON9 1GPIO100 kΩ プルアップ
CON9 2GPIO100 kΩ プルアップ
CON9 3シリアルインターフェース2 RXD 
CON9 4シリアルインターフェース3 RXD 
CON9 5シリアルインターフェース2 TXD 
CON9 6シリアルインターフェース3 TXD 
CON9 7+3.3V 
CON9 8+3.3V 
CON9 9GND 
CON9 10GND 
CON9 11GPIO100 kΩ プルアップ
CON9 12GPIO100 kΩ プルアップ
CON9 13GPIO100 kΩ プルアップ
CON9 14GPIO100 kΩ プルアップ
CON9 15GPIO100 kΩ プルアップ
CON9 16GPIO100 kΩ プルアップ
CON9 17GPIO100 kΩ プルアップ
CON9 18GPIO100 kΩ プルアップ
CON9 19GND 
CON9 20+3.3V 
CON9 21GPIO100 kΩ プルアップ
CON9 22GPIO100 kΩ プルアップ
CON9 23GPIO100 kΩ プルアップ
CON9 24GPIO100 kΩ プルアップ
CON9 25GPIO100 kΩ プルアップ
CON9 26GPIO100 kΩ プルアップ
CON9 27GPIO 
CON9 28GPIO 
CON14 1+3.3V 
CON14 2GND 
CON14 3I2C2 SCL22 kΩ プルアップ/オープンドレイン
CON14 4I2C2 SDA22 kΩ プルアップ/オープンドレイン

[ティップ]

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

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

[警告]

CON14 3 と CON14 4 ピンは linux-2.6.26-at7 (linux-a400-1.00.bin.gz) では デフォルトで GPIO として使用していました。linux-2.6.26-at8 (linux-a400-1.01.bin.gz) 以降では、デフォルトの設定で I2C2 として使用するよう変更されました。CON14 3 と CON14 4 ピンをご利用になる際は、デフォルトの設定が変更されているためご注意ください。

2.4. メモリマップ

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

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

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

0xa0000000

0xa001ffff

bootloader128KB

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

0xa0020000

0xa021ffff

kernel2MB

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

0xa0220000

0xa0fdffff

userland13.75MB

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

0xa0fe0000

0xa0ffffff

config128KB

設定情報を保存します


表2.7 Armadillo-440 フラッシュメモリ メモリマップ

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

0xa0000000

0xa001ffff

bootloader128KB

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

0xa0020000

0xa021ffff

kernel2MB

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

0xa0220000

0xa1fdffff

userland29.75MB

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

0xa1fe0000

0xa1ffffff

config128KB

設定情報を保存します


2.5. ソフトウェア構成

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

2.5.1. ブートローダー

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

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

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

2.5.2. カーネル

Armadillo-400 シリーズでは、標準のカーネルとして Linux 2.6 系を使用します。

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

2.5.3. ユーザーランド

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

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

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

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

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

2.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 の内蔵フラッシュメモリを書き換える機能と、ブートローダーを復旧するための機能を両方有しています。

2.6. ブートモード

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

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

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

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

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

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

表2.8 ジャンパの設定

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



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

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

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

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

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