警告メッセージ

Howtoは、Armadilloシリーズを有効に活用するための参考資料です。使用ソフトウェアのバージョンなど諸条件の差異によって、記載内容と実際の動作が異なる場合があります。また、すべての機能検証や長期の動作試験を行ったものではありませんので、必ずご使用目的に適合した検証・試験を行ってください。

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

対象製品: Armadillo-460

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

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

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

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

本Howtoで作成するカーネルイメージは、こちらからダウンロードすることができます。

1.55 MB

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