shkoga
2016年11月22日 7時11分
こんにちは。サムシングプレシャスの古賀です。
Armadillo-4x0 の、Windows 用ダウンローダ(フラッシュメモリ書換ツール; Hermit-At Win32)について不具合報告します。実装の不具合ではなく、パッケージの問題(同梱されている、シリアルブート時に転送するブートローダが、古いものしかないという問題)ですが。
きのう、手持ちの Armadillo-440 のオンボード Flash に v2.03 のカーネル(v3.14-at8)を書き込もうとして気づいたのですが、Windows 用のダウンローダーに同梱されている、シリアルブート時に shoehorn で転送するブートローダ(hermit)が、カーネル 2.6.x 用のものしかありません。このため、v2.03 のカーネルを書き込もうとすると、Flash の kernel リージョンのサイズが足りず、エラーします。
カーネル 2.6.x までは、カーネルの圧縮イメージサイズが 2MB 未満でしたので、shoehorn で転送する hermit にハードコードされている Flash のリージョンテーブルでは、kernel リージョンのサイズは 2MB でした。しかし、カーネル 3.14 では 2MB を超えているため、最新ソースでは、4MB に設定されています(※hermit-at-3.8.0-source/hermit-at-3.8.0/src/target/armadillo4x0/board.c にある armadillo4x0_setup_flash() でハードコード):
http://armadillo.atmark-techno.com/armadillo-440/downloads
しかし、上のページからリンクが張られている Hermit-At Win32 の最新版(v3.8.0)では、shoehorn で転送するブートローダが、カーネル 2.6.x 用のものになっているようです。そのため、サイズが 2MB を超えている最新のカーネルイメージを書き込むことができません。
試しに、Hermit-At Win32 の hermit-at-win_v3.8.0/hermit-at-win/libs/ にある loader-armadillo4x0-boot.bin を、Linux 用のダウンローダのパッケージに収録されている loader-armadillo4x0-boot-v3.8.0.bin で置き換えたところ(※上記ディレクトリにコピーしてファイル名を loader-armadillo4x0-boot.bin に変更した)、Hermit-At Win32 の "Memmap" 画面に表示される Flash の kernel リージョンサイズが 4MB になりました:
http://manual.atmark-techno.com/armadillo-4x0/armadillo-400_series_soft…
以上、ご参考まで。
--
古賀信哉 (株)サムシングプレシャス
at_yashi
2016年11月22日 11時16分
> Windows 用のダウンローダーに同梱されている、シリアルブート時に shoehorn で転送するブートローダ(hermit)が、カーネル 2.6.x 用のものしかありません。このため、v2.03 のカーネルを書き込もうとすると、Flash の kernel リージョンのサイズが足りず、エラーします。
ごめんなさい、更新が漏れていたようです。
3.8.1を今月リリース予定なので、一緒に更新します。
情報ありがとうございました。