Armadillo-9/200シリーズ対応のカーネル2.6.26ベータリリース版を更新しました。カーネルのバージョンはバージョン2.6.26-at4-ep93xx-port-pre1です。
フラッシュメモリのカーネルリージョンサイズが圧迫されていたため、IPv6サポートを外しています。必要な場合は、カーネルのコンフィギュレーションでIPv6を有効にしてください。
対応製品
- Armadillo-220
- Armadillo-230
- Armadillo-240
- Armadillo-9
上記以外のボードはサポートされません。
注意事項
本リリースは正式バージョン公開前のベータリリースです。動作不具合等を引き起こす可能性がありますので、ご了承、ご注意の上ご利用下さい。動作不具合を発見した場合は、メーリングリストに投稿をお願いいたします。
ダウンロード
ソースアーカイブおよびイメージファイルは以下からダウンロードすることができます。イメージファイルの作成に使用したatmark-distはv20090318です。
ソースアーカイブ
カーネル: linux-2.6.26-at4-ep93xx-port-pre1.tar.gz
Armadillo-220 フラッシュイメージ
カーネル: linux-a220-ep93xx-port-pre1.bin.gz
ユーザランド: romfs-a220-recover-ep93xx-port-pre1.img.gz
Armadillo-230 フラッシュイメージ
カーネル: linux-a230-ep93xx-port-pre1.bin.gz
ユーザランド: romfs-a230-recover-ep93xx-port-pre1.img.gz
Armadillo-240 フラッシュイメージ
カーネル: linux-a240-ep93xx-port-pre1.bin.gz
ユーザランド: romfs-a240-recover-ep93xx-port-pre1.img.gz
Armadillo-9 フラッシュイメージ
カーネル: linux-a9-ep93xx-port-pre1.bin.gz
ユーザランド: romfs-a9-ep93xx-port-pre1.img.gz
ビルド手順
開発環境およびatmark-distに変更はありません。atmark-distのビルド方法についての詳しい情報は、ダウンロードページの「Atmark Dist 開発ガイド」をごらんください。
atmark-distのコンフィギュレーションで指定するボード名(AtmarkTechno Products)には以下のいずれかを指定してください。
Armadillo-9
- Armadillo-9
Armadillo-220
- Armadillo-220.Base
- Armadillo-220.Recover
Armadillo-230
- Armadillo-230.Base
- Armadillo-230.Recover
Armadillo-240
- Armadillo-240.Base
- Armadillo-240.Recover
ドライバ
いくつかのドライバが未実装または動作未検証となっています。
Armadillo-9/200シリーズ共通
ドライバ | 説明 |
---|---|
シリアル | 実装済み |
RTC | 実装済み |
LAN | 実装済み |
USB | 動作未検証 |
GPIO | 実装済み |
Armadillo-200シリーズ専用
ドライバ | 説明 |
---|---|
NAND | 実装済み |
LED | 実装済み |
タクトスイッチ | 実装済み |
Armadillo-9専用
ドライバ | 説明 |
---|---|
コンパクトフラッシュ | 未実装 |
IDE | 未実装 |
Armadillo-9/240用
ドライバ | 説明 |
---|---|
VGA | 実装済み |
Armadillo-230専用
ドライバ | 説明 |
---|---|
smsc911x | 動作未検証 |
RTCドライバ
詳しくはこちらをごらんください。デフォルトで無効になっています。
GPIOドライバ
以下の3つのドライバが実装されています。
GPIOクラス対応GPIOドライバ
GPIOクラス対応GPIOドライバに対応するカーネルのコンフィギュレーションは以下を参照してください。デフォルトで有効になっています。
Device Drivers --->
GPIO Support --->
[*] /sys/class/gpio/... (sysfs interface)
GPIOクラス対応GPIOドライバが有効になっている場合、/sys/class/gpio/以下のファイルを操作することでGPIOを制御することができます。Armadillo-9の場合は、デフォルトでsysfsがマウントされないため、以下のコマンドを実行してsysfsをマウントしてください。
[armadillo ~]# mkdir /sys
[armadillo ~]# mount -t sysfs none /sys
以下はGPIOを制御するコマンド例です。詳しくは、カーネルのソースファイルに含まれる"Documentation/gpio.txt"をごらんください。
[armadillo ~]# cd /sys/class/gpio
[armadillo ~]# ls
export gpiochip16@ gpiochip32@ gpiochip48@ gpiochip8@
gpiochip0@ gpiochip24@ gpiochip40@ gpiochip56@ unexport
[armadillo ~]# echo 4 > export # GPIO0をエクスポート
[armadillo ~]# ls
export gpiochip0@ gpiochip24@ gpiochip40@ gpiochip56@ unexport
gpio4@ gpiochip16@ gpiochip32@ gpiochip48@ gpiochip8@
[armadillo ~]# ls gpio4
direction edge subsystem@ uevent value
[armadillo ~]# cat gpio4/direction # directionを確認
out
[armadillo ~]# cat gpio4/value # 値を確認
0
[armadillo ~]# echo 1 > gpio4/value # 値を1(high)に設定
[armadillo ~]# echo in > gpio4/direction # directionをinputに設定
[armadillo ~]# cat gpio4/edge # 割り込みタイプを確認
none
[armadillo ~]# echo rising > gpio4/edge # 割り込みタイプを確認
[armadillo ~]# echo 4 > unexport # 割り込みタイプをrisingに設定
[armadillo ~]# ls
export gpiochip16@ gpiochip32@ gpiochip48@ gpiochip8@
gpiochip0@ gpiochip24@ gpiochip40@ gpiochip56@ unexport
[armadillo ~]# cat gpiochip0/label # gpiochip0のラベルを確認
A # gpiochip0がPort Aであることを確認できる
[armadillo ~]# cat gpiochip0/base # gpiochip0のベース番号を確認
0 # Port A:0のGPIO番号が0であることを確認できる
[armadillo ~]# cat gpiochip0/ngpio # gpiochip0のGPIO数を確認
8
export/unexportに渡すGPIO番号は、以下の表を参照してください。
Armadillo-200シリーズのGPIO番号
GPIO番号 | ハードウェアマニュアルのGPIO名 |
---|---|
4 | GPIO_0(Port A:4) |
5 | GPIO_1(Port A:5) |
6 | GPIO_2(Port A:6) |
7 | GPIO_3(Port A:7) |
8 | GPIO_4(Port B:0) |
9 | GPIO_5(Port B:1) |
10 | GPIO_6(Port B:2) |
11 | GPIO_7(Port B:3) |
24 | GPIO_8(Port D:0) |
25 | GPIO_9(Port D:1) |
26 | GPIO_10(Port D:2) |
27 | GPIO_11(Port D:3) |
40 | GPIO_12(Port C:0) |
41 | GPIO_13(Port C:1) |
42 | GPIO_14(Port C:2) |
43 | GPIO_15(Port C:3) |
Armadillo-9のGPIO番号
GPIO番号 | ハードウェアマニュアルのGPIO名 |
---|---|
4 | GPIO_0(Port A:4) |
5 | GPIO_1(Port A:5) |
6 | GPIO_2(Port A:6) |
7 | GPIO_3(Port A:7) |
8 | GPIO_4(Port B:0) |
9 | GPIO_5(Port B:1) |
10 | GPIO_6(Port B:2) |
11 | GPIO_7(Port B:3) |
28 | GPIO_8(Port D:4) |
29 | GPIO_9(Port D:5) |
30 | GPIO_10(Port D:6) |
31 | GPIO_11(Port D:7) |
gpioX/edgeにnone以外を指定した場合には、指定した割り込みが入るまでgpioX/valueをpoll/select等でポーリングすることができます。ポーリングを開始する前に一度gpioX/valueをreadしておく必要があります。再度ポーリングを行ないたい場合は、gpioX/valueを一旦closeしてから再度openする必要があります。以下はgpio4/valueをポーリングするサンプルコードです。
int main(int argc, char *argv[])
{
int fd;
int i;
fd_set fds;
char buf;
for (i = 0; i < 5; i++) {
fd = open("/sys/class/gpio/gpio4/value", O_RDONLY);
read(fd, &buf, 1);
FD_ZERO(&fds);
FD_SET(fd, &fds);
ret = select(fd + 1, &fds, NULL, NULL, NULL);
close(fd);
}
return 0;
}
sysfs対応GPIOドライバ
詳しくはこちらをごらんください。デフォルトで無効になっています。
キャラクタデバイス版GPIOドライバ
詳しくはこちらをごらんください。デフォルトで有効になっています。
キャラクタデバイス版GPIOドライバが有効になっている場合、atmark-distに含まれるgpioctrlを使用できるようになります。
NANDドライバ
詳しくはこちらをごらんください。デフォルトでは無効になっています。
LEDドライバ
以下の2つのドライバが実装されています。
LEDクラス対応LEDドライバ
詳しくはこちらをごらんください。デフォルトでは有効になっています。
キャラクタデバイス版LEDドライバ
詳しくはこちらをごらんください。デフォルトでは有効になっています。
インプットレイヤ対応タクトスイッチドライバが有効になっている場合、atmark-distに含まれるledctrlを使用できるようになります。
タクトスイッチドライバ
以下の2つのドライバが実装されています。
インプットレイヤ対応タクトスイッチドライバ
詳しくはこちらをごらんください。デフォルトでは有効になっています。
インプットレイヤ対応タクトスイッチドライバが有効になっている場合、atmark-distに含まれるswmgrを使用できるようになります。
キャラクタデバイス版タクトスイッチドライバ
詳しくはこちらをごらんください。デフォルトでは無効になっています。