michi.mizuno.0107
2018年11月8日 16時41分
Armadillo460へのHT3080デバイスドライバの導入について不具合がありましたので,解決策をお伺いしたいです.HT3080は梅沢無線電機の8ポート シリアル(UART)ボードです(http://www.umezawa.co.jp/products/ht/ht3080.html).
Armadillo460:
Amtrak-dist v1.55.0
Linux 2.6.26-at29
Hermit-At v2.4.0
作業用PC: Linux Ubuntu 14.04 LTS
を使用しています.
まず,このページ(https://armadillo.atmark-techno.com/howto/a460-with-ht3080)に従い,カーネルのソースコードを展開してパッチを適用し,次にビルドを行なってlinux.bin.gzを得ました.具体的な手順は以下です.
1, カーネルのソースコードを展開してパッチを適用する(linux-2.6.26-at15.tar.gzではなく,linux-2.6.26-at29.tar.gzを用いた.しかし,15で試しても最後にcan't connectのエラーが出た.)
[PC ~]$ wget http://download.atmark-techno.com/armadillo-460/source/kernel/linux-2.6…
[PC ~]$ wget http://download.atmark-techno.com/armadillo-460/sample/linux-a460-ht308…
[PC ~]$ tar zxvf linux-2.6.26-at29.tar.gz
[PC ~]$ cd linux-2.6.26-at29
[PC ~]$ patch -p1 < ../linux-a460-ht3080.patch
2.ビルド
Armadillo-460 + HT3080用のカーネルイメージを作成.前項で適用したパッチには、armadillo460_ht3080_defconfigが含まれているので、それを用いて設定を行う.
[PC ~]$ make armadillo460_ht3080_defconfig
[PC ~]$ make CROSS_COMPILE=arm-linux-gnueabi-
:(ビルドには数分かかります)
[PC ~]$ gzip -c arch/arm/boot/Image > linux.bin.gz
次に,Armadillo-400 シリーズ ソフトウェアマニュアル(https://users.atmark-techno.com/files/downloads/armadillo-460/document/…)の49ページに従い,hermit-atを用いてカーネルイメージの書き換えを試みました.
1,付属DVDのdebファイルから,以下のコマンドで作業用PCにhermitダウンローダーを導入する.
[PC ~]$ sudo dpkg --install hermit-at_2.2.0_i386.deb
[PC ~]$ sudo dpkg --install shoehorn-at_1.1.1-1_i386.deb
2,ジャンパJ2ピンをショートさせてArmadillo460に電源を投入し、保守モードで起動する.シリアルケーブルで作業用PCとArmadilloを接続.作業用PCでminicomを起動し,保守モードとなっていることを確認.
3,作成したlinux.bin.gzのあるディレクトリ(linux-2.6.26-at29)に移動し,以下のコマンドでカーネルリージョンにパッチを適用したlinux.bin.gzを書き込もうと試みる.
[PC ~]$ hermit download --input-file linux.bin.gz --region kernel
しかし,作業用PC側で以下のエラーが生じました.
hermit: panic: can't connect to target
connectできていないようなエラーなのですが,minicomを見ると以下のように表示されており,どうやら認識自体はできているようです.ポートはdev/ttyS0でminicomが起動しています.
hermit> +OK
+OK
このように,Armadillo側でOKが出ているのになぜconnectができないエラーが出るのかがわからず,困っております.どなたか対策を知る方がいらっしゃいましたらご指南のほど宜しくお願い致します.
コメント
michi.mizuno.0107
at_mizo
2018年11月8日 16時45分
溝渕です。
> connectできていないようなエラーなのですが,minicomを見ると以下のように表示されており,どうやら認識自体はできているようです.ポートはdev/ttyS0でminicomが起動しています.
minicomを終了させてからhermitコマンドを実行してみていただけますか。
https://manual.atmark-techno.com/armadillo-4x0/armadillo-400_series_sof…
> Armadillo と接続している作業用 PC のシリアルインターフェースが他のア
> プリケーションで使用されていないことを確認してください。使用されてい
> る場合は、該当アプリケーションを終了するなどしてシリアルインターフェー
> スを開放してください。