梅沢無線電機製 HT3040 CompactFlashインターフェースボード(型番: HT3040-C02)を、Armadillo-460と組み合わせて利用する方法を説明します。HT3040の詳しい情報は、メーカーWebサイトをご覧ください。
本Howtoでのおおまかな手順は以下のようになります。
本Howtoで使用するソフトウェアは以下の通りです。
- Linuxカーネルソース: linux-2.6.26-at15.tar.gz
- ユーザーランドイメージ: romfs-a460-1.00.img.gz
- パッチ: linux-a460-ht3040.patch
1. 事前準備
1.1. HT3040のジャンパー設定を行う
HT3040 にはJP1 からJP6 までのジャンパーがあります。3極ポスト型ジャンパーの端子番号は、シルクで○印が付けられている端子から順に1、2、3 番ピンとなっています。なお、本Howtoで使用する設定は、メーカー出荷設定のまま利用します。
JP1 (3E0H/3E1Hポートを使用)
- 未設定
JP2~6 (16bit バス側の信号を使用)
ジャンパ 設定値 JP2 2-3 JP3 2-3 JP4 2-3 JP5 2-3 JP6 2-3
2. HT3040対応Linuxカーネルを作成
2.1. カーネルのソースコードを展開してパッチを適用する
[atde3]$ wget http://download.atmark-techno.com/armadillo-460/source/kernel/linux-2.6.26-at15.tar.gz [atde3]$ wget http://download.atmark-techno.com/armadillo-460/sample/linux-a460-ht3040.patch [atde3]$ tar zxvf linux-2.6.26-at15.tar.gz [atde3]$ cd linux-2.6.26-at15 [atde3]$ patch -p1 < ../linux-a460-ht3040.patch
2.2. ビルド
Armadillo-460 + HT3040用のカーネルイメージを作成します。
前項で適用したパッチには、armadillo460_ht3040_defconfigが含まれているので、
それを用いて設定を行います。
[atde3]$ make armadillo460_ht3040_defconfig [atde3]$ make CROSS_COMPILE=arm-linux-gnueabi- :(ビルドには数分かかります) [atde3]$ gzip -c arch/arm/boot/Image > linux.bin.gz
ソフトウェアマニュアルを参照し、新しい Linux カーネルイメージ(linux.bin.gz)を Armadillo-460 に書き込んでください。
3. 動作確認
作成したLinuxカーネルイメージを書き込み後、再起動してください。
起動ログには、以下のようにHT3040を認識したことが表示されます。
Intel ISA PCIC probe: Ricoh RF5C296/396 ISA-to-PCMCIA at port 0xf20003e0 ofs 0x00, 2 sockets host opts [0]: none host opts [1]: none ISA irqs (scanned) = 9 status change on irq 9
ログインして、使用するメモリ空間とI/O空間を設定します。
[root@armadillo460-0 (ttymxc1) ~]# echo "+ 0xb3000000 - 0xb307ffff" > /sys/class/pcmcia_socket/pcmcia_socket0/available_resources_mem [root@armadillo460-0 (ttymxc1) ~]# echo "+ 0xf2000000 - 0xf20000ff" > /sys/class/pcmcia_socket/pcmcia_socket0/available_resources_io [root@armadillo460-0 (ttymxc1) ~]# echo "yes" > /sys/class/pcmcia_socket/pcmcia_socket0/available_resources_setup_done
CFカードを接続すると、以下のようにカードを認識します。
pcmcia: registering new device pcmcia0.0 hda: Sony NCFB2G, CFA DISK drive ide0 at 0xf2000000-0xf2000007,0xf200000e on irq 201 hda: max request size: 128KiB hda: 4001760 sectors (2048 MB) w/1KiB Cache, CHS=3970/16/63 hda: hda1 ide-cs: hda: Vpp = 0.0