JNIBユーザーズガイド ― 第2章 システム・プログラミング ―
2.3.1. NANDローダーによるアプリケーションのアップデート (Updating Applications via the NAND Loader)
JNIB上のアプリケーションをアップデートする典型的な方法は、NANDローダーによる方法です。 NANDローダー用アプリケーション構築を完了するにあたり、以下のような 考慮すべき点がいくつかあります。
- 今後のアップデートで利用されるメディア/コネクションを見極め、それらに対応するドライバーが含まれているかを確認してください。 「表2-2 NANDローダー DIPスイッチの設定」で示されているユーザーが選択可能ないかなる メディア/コネクション からでも アップデートすることができます。 例えば、今後のアップデートがUSBメモリスティックから読み込まれる予定であれば、ビルドには、USBメモリスティック用のデバイス・ドライバーが含まれている必要があります。 いつでもCFカードは利用可能であるように、CFカード用のドライバーはaJileランタイムシステムに含まれています。
- 今後のアップデートにおいて、NANDへのローディングの状況をモニターする場合は、標準出力ポート「System.out」を見極めてください。 「System.out」は デフォルトで、シャレード(Charade)のコンソール・ウィンドウへ出力されています。 しかしながら、NANDローダーが利用される時は、通常、シャレード(Charade)は接続されておりません。 そのため「System.out」は、必要であれば、未使用のシリアル・ポートへ向けておくことが可能です。(JEM Builder のドライバーの設定を参照のこと。) ただし、シリアルポートによるモニタリングは必ずしも必要ではありません。
アプリケーションの構築後、JNIBのNANDフラッシュのアップデートには
- ロード・ファイルの作成
- NANDローダーの起動
という2つの手順があります。 詳細については以下のセクションで説明します。
パート1: NANDローダー用のロード・ファイルの作成 (Creating the load file for the NAND loader)
アプリケーションのバイナリ・ファイルは、NANDローダーに読み込まれる前に、単一のロード・ファイルである「 jnibKernel.data 」にコンバートされる必要があります。 バッチ・ファイル「 createNandFile.bat 」が、アプリケーションのバイナリ・ファイルを単一のロード・ファイルにコンバートします。 バッチ・ファイル「 createNandFile.bat 」 は、以下の例題で示されているとおり、バッチ・コマンドが実行されたディレクトリに「 jnibKernel.data 」ファイルを作成します。
rem Assuming %build_path% is set to the build path of the application cd %build_path% rem Create the “jnibKernel.data” file in the build directory %AJILE_HOME%\Host\createNandFile
または、
rem Assuming %build_path% is set to the build path of the application rem Create the “jnibKernel.data” file in the current directory %AJILE_HOME%\Host\createNandFile -d %build_path%
コマンド・ファイルからの出力は以下のようになります。
INFO - NAND Loader INFO - Starting the NAND Flash loading server. INFO - Server: Starting the NAND loader server INFO - Server: Load NAND Flash from a CAPS binary file INFO - Server: Directory : INFO - Server: Program file : build_program.bin INFO - Server: System Segment file : build_systemseg.bin INFO - Server: The microcode file will be placed in the NAND INFO - File Name jnibKernel.data INFO - Server: Transmission complete
この結果 作成された「 jnibKernel.data 」ファイルがNANDローダーに対応したファイルとなり、利用したいメディアへコピーできます。 NANDローダー用として利用されるCFメモリ・カード や USBメモリ・スティック は、FAT32ファイル・システムでフォーマットされている必要があります。
パート2: NANDローダーの起動 (Activating the NAND loader)
NANDローダーは aJileランタイム内に存在していますので、JNIB上で実行される どんなアプリケーションでも NANDフラッシュをアップデートすることができます。 (アプリケーションは aJileランタイムのバージョン4.2.04 か、それ以降のバージョンでビルドされていると仮定します。)
ステップ1:
NANDローダーを開始する前の第一ステップは、どの メディア/コネクション から ロード・ファイルを読み込むかにより、NANDローダーDIPスイッチを設定することです。 「表 2-2: NANDローダー DIPスイッチ設定 」では、それぞれの メディア/コネクション 用の設定を示します。
表 2-2 NANDローダーDIPスイッチ設定
| スイッチ #8 | スイッチ #9 | スイッチ #10 | アプリケーション・ソース |
| OFF | OFF | OFF | ロードしない |
| OFF | OFF | ON | CFメモリ・カード スロット A* |
| OFF | ON | OFF | CFメモリ・カード スロット B* |
| OFF | ON | ON | USB メモリ・スティック |
| ON | OFF | OFF | ネットワークアドレス |
| ON | OFF | ON | シリアル・ポート(シリアル・ストリーム) |
* CFメモリ・カードが1枚しか挿入されていない場合、ファイルシステムは CDカードがどちらのスロットにあるかを認識します。
下図、図 2-2 は NANDローダーがスロットAにあるCFカードを利用する設定であることを示しています。
図 2-2 スロットAにあるCFカード用のNANDローダーDIPスイッチ設定
ステップ2:
NANDローダーDIPスイッチを適切に設定した後、現在実行中のアプリケーションをリセットする必要があります。 アプリケーションをリセットするには、以下のように いくつかの方法があります。
- シャレード(Charade)を実行しているのであれば、 「GO」 または 「Reset」、そして「Run」ボタンをクリック。
- 既にアプリケーションが NANDに存在している場合は、電源の入直し。
- JNIBのリセット・ボタンを押す。 (付録を参照)
ステップ3:
リセット後、システムは準備ができたことを 短いビープ音を5回鳴らすことにより知らせます。そして、指定されたメディアが挿入される、あるいは、指定されたコネクションが確立するを待ちます。 (以下のステップが1分以内に実行されない場合はNANDローダーは中断します。)
ステップ4:
メディア または コネクション の準備ができたら、JNIBの「Go」キー を押すか、または、 DIPスイッチの設定を「ロードしない」位置に設定することにより、ロード処理が開始されます。
ステップ5:
NANDローダーは、処理中であることを約4秒毎の短いビープ音で知らせます。また、現行のアプリケーションで指定されているシステム出力チャンネルからそのステータスを出力します。
ステップ6:
システムは NANDのロードが完了したことを3回の長いビープ音で知らせてから、現在のアプリケーションを開始します。
注意
新しいアプリケーションがNANDへロードされた後、その新しいアプリケーションは次にリセットが行われるまでは実行されません。 必要であれば、別のロード処理が始まってしまわないように、NANDローダーDIPスイッチを「ロードしない」設定に戻しておいてください。
JNIBユーザーズガイド 目次
- 第1章 概要 (Overview)
- 第2章 システム・プログラミング (System Programming)
- 2.1. ランタイム・システムの背景 (Runntime System Background)
- 2.2. アプリケーションの構築 (Building Applications)
- 2.3. NANDフラッシュへのアプリケーションの保存 (Storing Applications in NAND Flash)
- 2.4. 複数アプリケーションのNANDフラッシュへの保存 (Storing Multiple Applications in NAND Loader)
- 2.5. タイム・ゾーン・データのNANDフラッシュへの保存 (Storing Time Zone Data in NAND Flash)
- 2.6. 高速アプリケーション・ローディング (Fast Application Loading)
関連情報・リンク
- 当サイトの管理人: 四元輝博のブログ「 シリコンバレー 24時 」
