Howto

Armadillo-460でPC/104接続シリアルボード(梅沢無線電機 HT3080)を使用する

梅沢無線電機 HT3080 8ポート シリアル(UART)ボードを、Armadillo-460と組み合わせて使用する方法を説明します。HT3080の詳しい情報は、メーカーWebサイトをご覧ください。

本Howtoでのおおまかな手順は以下のようになります。

  1. 事前準備
  2. HT3080対応Linuxカーネルを作成
  3. 動作確認

本Howtoで使用するソフトウェアは以下の通りです。

1. 事前準備

1.1. HT3080のジャンパー設定を行う

Howtoで使用する設定について説明します。同様の設定を行ってください。
詳しいジャンパー設定は、HT3080のマニュアルをご覧ください。

  • JP1~JP4, JP6~JP9 (ベースアドレス = 0x0000)

3 極ジャンパポストで、●印の側にジャンパソケットを取り付けると1、反対側に 取り付けると0 が設定されます。尚、JP6~9は面実装の0Ω抵抗によって設定されます。

ジャンパ JP1 JP2 JP3 JP4 JP6 JP7 JP8 JP9
設定 0 0 0 0 0 0 0 0
  • JP5 (IRQ = 7)
ジャンパ JP5
設定 7
  • JP10~JP80 (RS232)
ジャンパ JP10~JP80
設定 1-3, 4-6

2. HT3080対応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-ht3080.patch
[atde3]$ tar zxvf linux-2.6.26-at15.tar.gz
[atde3]$ cd linux-2.6.26-at
[atde3]$ patch -p1 < ../linux-a460-ht3080.patch

2.2. ビルド

Armadillo-460 + HT3080用のカーネルイメージを作成します。
前項で適用したパッチには、armadillo460_ht3080_defconfigが含まれているので、
それを用いて設定を行います。

[atde3]$ make armadillo460_ht3080_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カーネルイメージを書き込み後、再起動してください。
起動ログには、以下のようにHT3080を認識したことが表示されます。

Serial: 8250/16550 driver $Revision: 1.90 $ 8 ports, IRQ sharing disabled
serial8250.0: ttyS0 at MMIO 0xb2000000 (irq = 199) is a 16550A
serial8250.0: ttyS1 at MMIO 0xb2000010 (irq = 199) is a 16550A
serial8250.0: ttyS2 at MMIO 0xb2000020 (irq = 199) is a 16550A
serial8250.0: ttyS3 at MMIO 0xb2000030 (irq = 199) is a 16550A
serial8250.0: ttyS4 at MMIO 0xb2000040 (irq = 199) is a 16550A
serial8250.0: ttyS5 at MMIO 0xb2000050 (irq = 199) is a 16550A
serial8250.0: ttyS6 at MMIO 0xb2000060 (irq = 199) is a 16550A
serial8250.0: ttyS7 at MMIO 0xb2000070 (irq = 199) is a 16550A

ログインして、"/sbin/getty -L [TTY名] 115200 vt102"を行うと該当ポートにログインプロンプトが表示されます。

ポート CH1 CH2 CH3 CH4 CH5 CH6 CH7 CH8
TTY名 ttyS0 ttyS1 ttyS2 ttyS3 ttyS4 ttyS5 ttyS6 ttyS7
$ [root@armadillo460-0 (ttymxc1) ~]# /sbin/getty -L 115200 ttyS0 vt102