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フラッシュのアップデートには

  1. ロード・ファイルの作成
  2. 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ユーザーズガイド 目次

  • 第4章 問題解決 (Trouble Shooting)

関連情報・リンク

Also available in: HTML TXT