Howto

Armadillo-460でPC/104接続 コンパクトフラッシュインターフェースボード(梅沢無線電機 HT3040)を使用する

梅沢無線電機製 HT3040 CompactFlashインターフェースボード(型番: HT3040-C02)を、Armadillo-460と組み合わせて利用する方法を説明します。HT3040の詳しい情報は、メーカーWebサイトをご覧ください。 本Howtoでのおおまかな手順は以下のようになります。 1. 事前準備 2. HT3040対応Linuxカーネルを作成 3. 動作確認 本Howtoで使用するソフトウェアは以下の通りです。 * Linuxカーネルソース: [linux-2.6.26-at15.tar.gz][1] * ユーザーランドイメージ: [romfs-a460-1.00.img.gz][2] * パッチ: [linux-a460-ht3040.patch][3] [1]:http://download.atmark-techno.com/armadillo-460/source/kernel/linux-2.6.26-at15.tar.gz [2]:http://download.atmark-techno.com/armadillo-460/image/romfs-a460-1.00.img.gz [3]:http://download.atmark-techno.com/armadillo-460/sample/linux-a460-ht3040.patch 本Howtoで作成するカーネルイメージは、こちらからダウンロードすることができます。

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
注) armadillo460_ht3040_defconfigでは、ide-csのみカードサービスを有効としています。無線LAN等の他のカードサービスを利用する場合は、適切なものを有効化してください。また、カードサービスドライバを修正する必要がある場合があります。詳しくは、ソフトウェアマニュアルをご覧ください。
[ソフトウェアマニュアル](/manuals)を参照し、新しい 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
### 関連するコンテンツ FAQ : Armadillo-500でCFを認識しません