フラッシュメモリの内容を書き換えることで、Armadilloの機能を変更することができます。この章ではフラッシュメモリの書き換え方法を説明します。
| |
---|
何らかの原因により「書き換えイメージの転送」に失敗した場合、Armadilloが正常に起動しなくなる場合があります。書き換えの際は次の点に注意してください。
|
作業用PCにダウンローダをインストールします。
ダウンローダの種類には、表6.1「ダウンローダ一覧」のようなものがあります。
表6.1 ダウンローダ一覧
ダウンローダ | OSタイプ | 説明 |
---|
hermit-at | Linux | Linux用のCUIアプリケーションです。 |
shoehorn-at | Linux | Linux用のCUIアプリケーションです。 |
hermit-at-win | Windows | Windows用のGUIアプリケーションです。 |
| |
---|
ATDE(Atmark Techno Development Environment)を利用する場合、ダウンローダパッケージはすでにインストールされているので、インストールする必要はありません。
|
付属CDのdownloader/debディレクトリよりパッケージファイルを用意し、インストールします。必ずrootユーザで行ってください。
付属CDのdownloader/win32/hermit-at-win_[version]
.zip
を任意のフォルダに展開します。
フラッシュメモリの書き込み先頭アドレスは、領域(リージョン)名で指定することができます。書き込み領域毎に指定するイメージファイルは、表6.2「リージョン名と対応するイメージファイル
」のようになります。
表6.2 リージョン名と対応するイメージファイル
製品 | 領域名 | ファイル名 |
---|
Armadillo-210 | bootloader | loader-armadillo2x0-[version] .bin |
kernel | linux-a210-[version] .bin.gz |
userland | romfs-a210-recover-[version] .img.gz romfs-a210-base-[version] .img.gz |
Armadillo-220/230/240 | bootloader | loader-armadillo2x0-eth-[version] .bin |
kernel | linux-a2x0-[version] .bin.gz |
userland | romfs-a2x0-recover-[version] .img.gz romfs-a2x0-base-[version] .img.gz |
Armadillo-9 | bootloader | loader-armadillo9-[version] .bin |
kernel | linux-[version] .bin.gz |
userland | romfs-[version] .img.gz |
Armadillo-300 | ipl | ipl-a300.bin(※書き換え不可) |
bootloader | loader-armadillo-3x0-[version] .bin |
kernel | linux-a300-[version] .bin.gz |
userland | romfs-a300-[version] .img.gz |
Armadillo-500 | bootloader | loader-armadillo5x0-[version] .bin |
kernel | linux-a500-[version] .bin.gz |
userland | romfs-a500-[version] .img.gz |
Armadillo-500 FX | bootloader | loader-armadillo5x0-fx-[version] .bin |
kernel | linux-a500-fx-[version] .bin.gz |
userland | romfs-a500-fx-[version] .img.gz |
| |
---|
一部製品のユーザーランドには、RecoverとBaseという2種類のイメージファイルが用意されています。Recoverイメージは、出荷状態でオンボードフラッシュメモリに書き込まれていて、各製品の特徴や性能を利用するアプリケーションが含まれています。Baseイメージは、開発のベースとなるように、基本的なアプリケーションやツールのみが含まれています。 |
6.3. Hermit-Atダウンローダを使用してフラッシュメモリを書き換える
ここでは、Hermit-Atダウンローダを使用してフラッシュメモリを書き換える手順について説明します。「ダウンローダのインストール」でインストールしたHermit-Atダウンローダを使用します。これは、Armadilloのブートローダーと協調動作を行い、作業用PCからArmadilloのフラッシュメモリを書き換えることができます。
「ジャンパピンの設定について」を参照し、Hermit-Atを起動してください。
Armadilloと接続している作業用PCのシリアルインターフェースが他のアプリケーションで使用されていないことを確認します。使用されている場合は、該当アプリケーションを終了するなどしてシリアルインターフェースを開放してください。
図6.2「ダウンロードコマンド」のようにコマンドを実行します。
download
はhermitのサブコマンドの一つです。--input-file
で指定されたファイルをターゲットボードに書き込む時に使用します。--region
は書き込み対象の領域を指定するオプションです。下記の例では、「kernel領域にlinux.bin.gzを書き込む」という命令になります。
シリアルインターフェースがttyS0以外の場合は、図6.3「ダウンロードコマンド(ポート指定) 」のように--port
オプションを使用してポートを指定してください。
bootloaderリージョンは、誤って書き換えることがないように簡易プロテクトされています。書き換える場合は、図6.4「ダウンロードコマンド(アンプロテクト)[]」のように--force-locked
オプションを使用して、プロテクトの解除をしてください。
| |
---|
bootloaderリージョンに誤ったイメージを書き込んでしまった場合、オンボードフラッシュメモリからの起動ができなくなります。この場合は「2ndブートローダを出荷状態に戻す」を参照してブートローダーを復旧してください。
|
hermit-at-win.exeを実行します。図6.5「Hermit-At:Downloadウィンドウ」が表示されます。
Armadilloと接続されているシリアルインターフェースを「Serial Port」に指定してください。ドロップダウンリストに表示されない場合は、直接ポートを入力してください。
Imageには書き込むファイルを指定してください。Regionには書き込み対象のリージョンを指定してください。allやbootloaderリージョンを指定する場合は、Force Lockedをチェックしてください。
すべて設定してから実行ボタンをクリックします。図6.6「Hermit-At:downloadダイアログ」が表示されます。
ダウンロードの設定と進捗状況が表示されます。ダウンロードが完了するとダイアログはクローズされます。
6.4. netflashを使用してフラッシュメモリを書き換える
Linuxアプリケーションのnetflashを使用してフラッシュメモリを書き換えることができます。netflashは、所属するネットワークにあるHTTPサーバーやFTPサーバーが公開しているファイルをダウンロードしてフラッシュメモリを書き換えることができます。
Armadilloにログインし、図6.7「netflashコマンド例」のようにコマンドを実行します。
オプションの"-r [デバイスファイル名]"で書き込み対象のリージョンを指定しています。表6.3「リージョンとデバイスファイルの対応」を参照してください。その他のオプションについては、netflash -hで詳細を確認する事ができます。
表6.3 リージョンとデバイスファイルの対応
リージョン | デバイスファイル |
---|
カーネル | /dev/flash/kernel |
ユーザランド | /dev/flash/userland |
2ndブートローダ領域にhermitコマンドプロンプトが表示されないイメージや、不正なイメージを書き込んでしまい、2ndブートローダを制御できなくなった場合の対処方法について説明します。
Armadillo-300の1stブートローダは、Shoehorn-At Hostと協調動作をすることで、Armadillo-300のRAM上に直接プログラムを書き込むことができます。この機能を利用して2ndブートローダを復旧させることが可能です。
| |
---|
1stブートローダが破壊されている場合、本手段では復旧することはできません。破壊されている場合は、JTAGを使用し直接フラッシュメモリへ1st/2ndブートローダを書き込む必要があります。
|
Armadillo-300の電源が切断されていることを確認し、作業用PCとArmadillo-300をシリアルケーブルで接続します。
Armadillo-300のJP1を「2-3」に設定します。
作業用PCでshoehornコマンドを以下の例[] のように実行します。
Armadillo-300の電源を投入します。
| |
---|
電源を投入した場合、起動ログの表示が開始されます。表示が開始されない場合は、Armadillo-300の電源を切断し、シリアルケーブルの接続やジャンパ設定を確認してください。
|
"hermit>"と表示されたら、「Ctrl + C」キーを入力してください。
以上で作業用PCからhermitを使用してArmadillo-300へ2ndブートローダをダウンロードする準備が整います。ジャンパの設定変更や電源の切断をしないでCtrl-Cを押してShoehornを終了してから、図6.9「ブートローダの書き込みコマンド例」のようにブートローダの書き込みを行ってください[]。
6.6. 2ndブートローダーのパラメータを出荷状態に戻す
フラッシュメモリの2ndブートローダ領域には、2ndブートローダーイメージの他に2ndブートローダーのパラメータが保存されています。これは、Armadilloの再起動後も設定を有効にするためです。パラメータと初期設定の対応を、表6.4「2ndブートローダーのパラメータ」に示します。
表6.4 2ndブートローダーのパラメータ
パラメータ | 初期設定 | 説明 |
---|
Linuxカーネルパラメータ | 無し | Linuxカーネル起動時にカーネルに渡すパラメータ |
2ndブートローダーのパラメータを出荷状態に戻すには、ターゲットとなる Armadillo のジャンパを設定し、保守モードで起動してください。
作業用PCのシリアル通信ソフトウェアを使用して、コマンドを入力します。Linuxカーネルパラメータを初期設定に戻すには、図6.16「Linuxカーネルパラメータを初期設定に戻す」のようにコマンドを実行してください。[]