Armadilloフォーラム

hermit: panic

ohshimayyyy

2017年2月24日 16時50分

お世話になります。
大島と申します。

config/userland/オリジナルに対して
イメージの書き込み領域の変更に伴う
メモリマッピングに失敗しました。
そこで、ブートローダの書き込みを試みたのですが
下記のメッセージが出力されました。
更に、SDブートを試みているのですが
VM wareがSDカードを認識していない状況です。
対処方法をご教示いただきたく、宜しくお願いいたします。

・実行コマンド
ATDEより
hermit> hermit download --input-file loader-armadillo810-nor-v3.4.0.bin --region bootloader --force-locked --port /dev/ttyUSB0

・上記コマンド実行後の出力内容
----------------------------------------
hermit: panic: can't connect to target
----------------------------------------

・以降の起動時の出力内容
----------------------------------------
irq: no support exp
----------------------------------------

・環境
VMware(R) Workstation 12 Player(12.0.1 build-3160714)
atde5-amd64-20150612
atmark-dist-20150618
linux-3.4-at14
hermit-at-3.4.0

ご対応の程、宜しくお願いいたします。

コメント

お世話になります。
大島と申します。

> VM wareがSDカードを認識していない状況です。
上記につきましては、Windows PC(ホスト)に備え付けのSDスロットをやめて
USB SDカードリーダーで、VM wareが認識することができ
下記のURLに則り、ブートディスクを作成しました。

しかしながら、SDブートは失敗しているようで
SDブートさせようとしても
起動している様子はなく、プロンプトすら返ってきません。
LED1/2のみ点灯した状態で、時折LED3/4が点滅します。

ブートディスクには、下記を用いました。
debian-wheezy-armhf_a810_20130116.tar.gz
loader-armadillo810-mmcsd-v3.8.1.bin
linux-a810-v1.18.bin.gz
romfs-a810-v1.14.img.gz

アドバイスいただきたく
ご対応の程、宜しくお願いいたします。

at_takashi.sasayama

2017年2月27日 16時40分

笹山です。

Armadillo-810 拡張ボード01 (Aコネクタ用)のJP1をショート、JP2をオープン、JP3をショートに設定していますでしょうか?

参考情報

16.4. SDブートの実行
http://manual.atmark-techno.com/armadillo-810/armadillo-810_product_man…

FAQ : 故障かなと思ったら(Armadillo-810)
http://armadillo.atmark-techno.com/faq/troubleshooting-a810

ご対応いただき、有難う御座います。

ご提示いただいた参考情報も拝見しており
必要なジャンパもショートしておりました。
ブートディスク作成のオペレーションに不備がないか
確認しながら複数回試してみたのですが
いずれも失敗しています。

関係ないかもしれませんが。。
使用しているSDカードは
SDHC(CLASS 6)8GBのものです。

また、hermit panicの原因になったのは
開発用USB シリアル変換アダプタの
メモリマッピングを設定するコマンド(setenv)の
実行不備で、その辺りも気になっています。

ご対応の程、宜しくお願いいたします。

at_takuya.sasaki

2017年2月28日 11時13分

佐々木です。

SDブートを試みる前に、一度hermitを書き換えてみてはいかがでしょうか?

私の過去に同じようなことをやらかしましたので、ブログにしています。
https://users.atmark-techno.com/blog/750/1050

ちなみにブログ内のhermit-at win版は以下からダウンロード可能です。
http://armadillo.atmark-techno.com/files/downloads/armadillo-810/downlo…

ご参考まで。

ご対応おただき、有難う御座います。

> https://users.atmark-techno.com/blog/750/1050
拝見しておりまして、試してみました。

> http://armadillo.atmark-techno.com/files/downloads/armadillo-810/downlo…
ご案内いただいた、hermit-at-winで実行してみましたが
下記のメッセージエラーが出力され、hermitの書き込みに失敗しました。
----------------------------------------
can't connect to target
----------------------------------------

OS自動起動モード、保守モード、SDブートいずれでも
「hermit >」というようなプロンプトは出力されず
端末上では、無反応でした。
先般お伝えした通り、CPUボードの
LED1/2は点灯し、LED3/4は時折点滅している状態です。
ATDE上での実行では、下記の通りです。
----------------------------------------
hermit: panic: can't connect to target
----------------------------------------

ヒントが少ない状況で、大変恐縮なのですが
ご対応の程、宜しくお願いいたします。

at_kojiro.yamada

2017年3月16日 14時21分

ご迷惑をお掛けしており申し訳ありません。

本件、Hermit-At ブートローダーのバグでした。

■ バグについて

src/target/command/param.cのget_param_value()関数に、
引数で与えられたバッファの範囲外にnull文字('\0')を書き込むバグがあり、
get_param_value()でgetされるパラメータがブートローダーの想定以上のサイ
ズだった場合、問題が起こります。

おそらく本件の場合、setenvで保存した console のパラメータがブートローダー
の想定以上のサイズ(128文字以上)だったのではないかと推測しています。
consoleに128文字以上のパラメータを与えると、
次回のブートローダー起動時から、報告いただいているものと同様の現象が起こ
ります。

■ 対処方法

暫定ですが、対策を行ったイメージを作成しましたので添付します。

添付のfilenameを使用してブートディスクを作成すれば、ブートローダーを起
動できるようになります。
大まかな手順は以下の通りです。
それぞれの手順の詳細については、Armadillo-810 製品マニュアル[1]をご覧くだ
さい。

1. バグ修正済みイメージ(sdboot.bin)でSDブートを行う
2. hermit上でclearenvを実行する
3. 電源をOFFにして、SDブートのためのジャンパ設定を元に戻す
4. 電源をONにして、NORフラッシュから起動する
5. tftpdl, netflashなどの方法でバグ修正済みイメージ
(loader-armadillo840-nor-v3.8.0.4.g2aed.bin)をNORフラッシュに書き込

[1] http://manual.atmark-techno.com/armadillo-810/armadillo-810_product_man…

ファイル ファイルの説明
loader-armadillo840_get_param_value_bugfix.zip