JNIBユーザーズガイド ― 第2章 システム・プログラミング ―
2.6. 高速アプリケーション・ローディング (Fast Application Loading)
アプリケーション・バイナリをターゲットへダウンロードする場合、現在のPCパラレルポートを用いたJTAGインターフェースは効率的ではありません。 その平均的な転送レートは 約1分間に1MBです。 CDCは 7MB以上のファイルを作成することもあり、ローディング時間は非常に長くなります。 そのため、ネットワーク・アプリケーション・ローディング機能が開発され、ダウンロード時間が10分の1、もしくはそれ以上になりました。
ネットワーク・アプリケーション・ローディング機能は、以下のコンポーネントより成り立ちます。
- アプリケーション・サーバー: Application Server (AppServer):
ホスト上で実行されるサーバー・コンポーネントです。 このサーバーはJavaアプリケーションで、%AJILE_HOME%\Host\AppServer.jar にインストールされます。
- サーバー・ランチャー: Server launcher (AppServer.bat):
サーバーを起動するためのウィンドウズのバッチ・ファイルです。 このバッチ・ファイルは通常アプリケーション構築ディレクトリにコピーされます。
- アプリケーション・ローダー: Application Loader (AppLoader):
ターゲット上で実行されるクライアント・コンポーネントです。
このコンポーネントは JNIB NAND アプリケーション・ロード・ファイルであり、%AJILE_HOME%\Host\AppLoader\jnibKernel.data にインストールされます。
- クライアント・ランチャー: Client launcher (AppLoader.sod):
アプリケーション・ローディング・プロセスを起動するためのシャレード(Charade)・スクリプト・ファイルです。 この sodファイルは、アプリケーション構築処理中に、自動的にアプリケーション構築ディレクトリにコピーされます。
2.6.1. 準備 (Preparation)
このクライアント(AppLoader)は、まだ存在していない場合は、 JNIB NAND フラッシュ の中にプログラムされる必要があります。 「セクション 2.3.1. NANDローダによるアプリケーションの更新 (Updating Applications via the NAND Loader)」のパート2 にある手順に従ってください。 このクライアントは、プライマリ・ブート・ローダー(PBL)としても機能します。 また、このクライアントは、ネットワーク・ブラウザー経由でのターゲット設定を行うCMSを含みます。 ( CMSの利用については 「CMSユーザーズ・ガイド」をご覧ください。 )
サーバー・ランチャー(AppServer.bat)は、まだ存在していない場合は、アプリケーション構築ディレクトリにコピーされる必要があります。 バッチ・ファイルの実行により ひとたび起動すると、アップデートされたビルドが いつでも再ロードされうるように そのサーバーは走り続けます。 しかしながら、別のアプリケーションがターゲットにロードされる場合、そのサーバーは終了されて、新しいアプリケーションの構築ディレクトリから再起動される必要があります。
2.6.2. ローダーの実行 (Executing the loader)
ひとたびアプリケーションがビルドされると、アプリケーション構築ディレクトリの中から シャレードの「 AppLoader.sod 」スクリプトを実行することにより、バイナリ・ファイルをロードすることができます。 このスクリプトは、アプリケーション・バイナリをダウンロードするために、クライアントがNANDフラッシュ内に常駐するようにします。加えて、アプリケーション構築のシンボル情報もシャレードにロードされます。 ロード処理の際の出力は、以下のようになります。
JNib CF Manager Initializing Servertec (R) Application/Web Server aJile Edition Version 2.1.4.1 09/04/2005 Open Source Release Copyright (C) 1998-2005 Servertec. All rights reserved. JNIB CMS ready at http://192.168.1.2:8080/cms ------ build_program.bin ------- jemcfg 3.10.05 August 27, 2008 2:55:04 PM PDT executive Loaded 6198639 bytes from build_program.bin file in 20 seconds. -------------------------------- ----- build_systemseg.bin ------ Configuration: JNibConfiguration Runtime: aJile CDC 1.1 Version 5.3.00 ucode version: 0x80 C:\OSGi\Projects\Equinox\JEMOutput\build_systemseg.bin jemcfg 3.10.05 August 27, 2008 2:55:04 PM PDT executive C:\aJile\Runtime_cdc11\ucode\jnib_uram.bin created on Sat Jul 19 03:04:58 2008 (GMT) Loaded 17462 bytes from build_systemseg.bin file in 771 msec. -------------------------------- vm.0 breakPoint: [Application loaded...click on "Reset" before running.]
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時 」