Index by title

aJile社へのユーザー登録の方法

aJile社(Valley Campus社)からJNIBの開発キットを購入しても 開発用のソフトウェアが含まれたCD-ROMなどは同梱されてきません。
開発用のソフトウェアやドキュメントを入手するためには、以下の手順に従い、aJile社へユーザー登録を行い、
ダウンロード・サイトのパスワードを取得する必要があります。

2008年4月20日 現在

ユーザー登録の方法

以下の手順でユーザー登録を行ってください。

h3. aJile社からのメール タイトル:「 aJile Systems, Inc. - Your Registration is Pending Approval 」
Greetings 登録したあなたのお名前,
Thank you for your registration with us. We have
received your request and we will process it as soon as you
confirm your email address by clicking on the following
hyperlink:

http://www.ajile.com/index.php?option=com_comprofiler&task=confirm&confirmcode=reg4abed734dc9d3b1790037821cac1b9ef0cec6a0c 

Once your email address is confirmed our moderators will be
notified to continue the activation process.
You will be notified by email of the progress of the process.
Email : 登録したあなたのEメールアドレス
User Name : 登録したユーザー名

Kind Regards,
Website Administration Team

NOTE: This email was automatically generated from aJile Systems, Inc. (http://www.ajile.com).

受け取ったメール・メッセージに
「 http://www.ajile.com/index.php?option=.... 」
というような長い長いリンクのアドレスが見つかります。
メールソフトから、このリンク・アドレスを直接クリックするか、
もしくは、ブラウザーへこのリンク・アドレスをコピー&ペーストして、
必ず このリンク・ページにアクセスしてください。
これを怠りますと、いつまでたってもユーザー登録処理が終わりません。

実際のユーザー登録処理はaJile社内で人が確認作業を行うようです。
そのため週末や祭日にひっかかっている場合などは数日かかるかもしれませんが気長に待ちましょう。
ユーザー登録が承認されると、

h3. aJile社からのメール タイトル:「 aJile Systems, Inc. - New User Details 」
Welcome 登録したあなたのお名前
Your application has been approved by our administration team.
Your account with the following details:
Email : 登録したあなたのEメールアドレス
User Name : 登録したユーザー名

has been activated.
Thank you.
Kind Regards,
Website Administration Team

NOTE: This email was automatically generated from aJile Systems, Inc. (http://www.ajile.com).

のようなメールが送られてきますので、ユーザー登録が終了したことが確認できます。

以上で登録したユーザー名とパスワードを使って http://ajile.com/ に ログインできるようになります。
引き続きJNIB開発ソフトウェアをダウンロードしたい場合は、JNIB開発ソフトウェアのダウンロードの方法 のページに進んでください。

関連情報・リンク


関連情報・リンク


JDKのダウンロードとインストール

aJile社(Valley Campus社)から 送られてきた JNIB に同梱されてきた手順書の必要事項の欄には
「 JDK or JRE 1.4 or higher. Avalable from Sun Microsystems at www.java.sun.com
とあります。 つまり、 JDK か JRE の バージョン1.4 以降がインストールされている必要があるということです。
このページでは、JDKのダウンロードとインストールの方法を解説します。

2008年5月31日 現在

JDK のダウンロード

はじめに、「JDK」とは「Java Development Kit」のことで、Javaの開発環境のことです。
また、「JRE」とは、「Java Runtime Environment」のことで、Javaの実行環境のことです。
これらのソフトウェアは、

よりダウンロードできます。
Java開発環境であるJDK には Java実行環境であるJRE も含まれていますので、今回は「JDK」の方をインストールしてみます。

JDK のインストール

関連情報・リンク


JNIB の RAM と NANDフラッシュ・メモリ

「Hello World」プログラムを構築するために、「 JEM Builder 」や「 シャレード(Charade) 」を使ってプログラムの構築・ダウンロード・実行を行ってきましたが、実を言うと今の状態では、この「Hello World」プログラムはJNIBの電源を切ってしまうと消えてしまいます。

この問題に対応するために どうしたらよいかを理解するために、ここで少しだけJNIBの内部のメモリ構造を見てみましょう。

JNIBのメモリ構成

JNIBにはメモリとして、16MBのPSRAM と 32MBのNANDフラッシュ が内蔵されています。 そのうち JNIBのCPUであるaJ-100が直接実行できるのは、RAMに書き込まれているプログラムだけです。

「Hello World」プログラムを構築するために 「Charade」による実行ファイルのダウンロードと実行 ページの例で示した シャレード(Charade) から 「 load.sod 」スクリプトを実行してプログラムをJNIBにダウンロードする方法では、プログラムは、直接 JNIBのRAMに書き込まれ、それを「 Run 」ボタンをクリックすることにより実行していたわけです。 但し、プログラムが書き込まれていたのは あくまでも「 RAM 」ですので、JNIBの電源を切ってしまいますとプログラムは消えてしまいます。

プログラムを開発・テストする段階では、このように開発用のPCからJNIBのRAMに直接ダウンロードして書き込む方法でも問題ありませんが、
プログラムが完成した後、JNIBを実際のフィールドで使ったり、お客様に納品しようとするためには、これでは使い物になりません。 第一、これでは「組み込み」システムとは呼べません。

そこでJNIBでは 電源が入れられた直後には、NANDフラッシュに保存されているプログラムを RAMにコピーしてからそれを実行する、という仕組みになっています。 つまり、完成したプログラムをJNIBに「組み込む」ためには、そのプログラムをNAMDフラッシュに書き込んでおけばよいことになります。 JNIBには、完成したプログラムをNAMDフラッシュに書き込む方法が いくつか存在しています。

以後、「Hello World」プログラム開発の続きとして、NAMDフラッシュ・メモリへアプリケーション・実行ファイルの書き込み方法について、簡単な方法から順にみてゆきます。

関連情報・リンク


JNIB開発ソフトウェアのインストール

JNIB開発ソフトウェアのダウンロードの方法 」でダウンロードしたファイルをインストールします。

2008年5月31日 現在

JNIB開発ソフトウェアのインストール

以上で、「 aJile JME/CDC 1.1 Runtime and Tools version 5.1.03 」のインストールが終了しました。

関連情報・リンク


JNIB開発ソフトウェアのダウンロードの方法

2008年7月29日 現在

ログインの方法

aJile社のサイトへのログイン方法です。
ユーザー登録が まだの済んでいない場合は、「 aJile社へのユーザー登録の方法 」を参考にして、先にユーザー登録をしてください。

ソフトウェアのダウンロード方法

JNIBの開発では理由がない限り、「 CDC 」の方を選らんだ方がよいようです。
ここでは、例として CDC の最新版をダウンロードしてみます。

aJile JME/CDC 1.1 Runtime and Tools version 5.2.01

関連情報・リンク


JTAGによるアプリケーションのNAMDフラッシュへの書き込み

JTAG接続による 構築されたアプリケーション・ファイルをJNIBのNAMDフラッシュへの書き込む手順について説明します。

基本的に この方法については、マニュアルの 2.3.2. JTAGによるアプリケーションの書き込み (Flashing Applications via JTAG) ページに記載されています。

このページでは、「Hello World」プログラム の構築が終わり、シャレード(Charade) からの アプリケーション・ファイルの ダウンロード と 実行が成功している状態であることを前提とします。

ここで、JTAGの衝突を避けるために、もし シャレード(Charade) が 起動されていたら、これを終了させてください。

その後、DOSプロンプトを開いて、カレント・ディレクトリを「 C:\JavaSample 」にします。

 cd \JavaSample

それから、「 %AJILE_HOME%\Host\jtagNandLoad 」というコマンドを入力します。


 %AJILE_HOME%\Host\jtagNandLoad

すると、NAMDフラッシュへの書き込みが開始されます。

そして、非常に時間がかかりますが、書き込みが終了すると、

のような表示になります。

これで、一旦JNIBの電源を切ってから、もう一度 電源を入れなおしても 「Hello World」プログラムが自動的に実行されるようになります。

関連情報・リンク


JTAGアダプタの接続

JNIB 開発キット(JNIB Development Kit) を購入すると、「JTAGアダプタ (JTAG adapter)」と言う付属品が同梱されてきます。
このJTAGアダプタを利用して JNIB と PC本体 を接続することにより、出来上がったプログラムのダウンロードやデバグ作業が行えるようになります。

2008年7月22日 現在

JTAGアダプタ の確認

「JTAGアダプタ」は、以下の写真のとおり、4つの部品に分かれています。

PC側 の パラレル・ポート

JTAGアダプタ を接続するためには、PC側に 「 パラレル・ポート(プリンター・ポート) 」が必要です。 コネクタは、下の写真のとおり、25ピン D-SUB メス型をしています。

これは、少し古い DELL社製の LATITUDE C640 というノートPCの後ろの写真です。

JTAGアダプタ の接続 完成図

JTAGアダプタの接続は以下の写真のとおりになります。

どのような順番で接続しても、結果的に、この写真のとおりに接続できればOKです。

関連情報・リンク




A

B

C

D

E

F

G

H

I

J

K

L

M

N

O

P

Q

R

S

T

U

V

W

X

Y

Z

.

%


「Charade」による実行ファイルのダウンロードと実行

「 JEM Builder 」で 新規プロジェクトを保存し、それから 実行用ファイルを実際に構築(ビルド)するところまでを 「JEM Builder」による実行ファイルの構築 (3)プロジェクトの保存と構築編 ページで説明しました。 その続きとして、
「 シャレード(Charade) 」を用いて、今作成した実行用アプリケーション・ファイルをJNIBにダウンロードし、実行してみます。

シャレード(Charade) の起動

まず、ウィンドウのスタート・メニューの aJileツールがインストールされているプログラム・グループから「 Charade for JNIB 」を起動してください。

この時、おそらく Consoleウィンドウの 最上部の左側に「 aJ-100/80: Running 」 と表示されています。
ここで、表示のそのすぐ下にある「 Halt 」ボタン と 「Reset」ボタンを 交互に何回かクリックして、表示が「 aJ-100/80: Halted 」になるようにします。 これでダウンロードの準備ができました。

実行ファイルのダウンロード

実行用のアプリケーション・ファイルをJNIBにダウンロードするには、「 C:\JavaSample 」ディレクトリにある「 load.sod 」 というシャレード(Charade) 用のスクリプト・ファイルを実行します。
そのためには、メニューバーから [File]-[Execute...]を選択します。

すると、「 Select command file to execute: 」ウィンドウが開いてきます。
ディレクトリを 「 C:\JavaSample 」に移動し、「 load.sod 」を選択してから「開く」ボタンをクリックします。

すぐに「 load.sod 」が実行されて、「 Hello World 」の実行用ファイルがJNIBへロードされてゆきます。 これには結構時間がかかります。

「 Hello World 」の実行

ダウンロードが終わったら、Consoleウィンドウの 上部にたくさん並んでいるボタンの中から 「 Run 」ボタンをクリックします。

図のように Consoleウィンドウに「 Hello World ! 」が表示されます。

これで JNIB用のソフトウェア開発の一連の操作方法が理解できたと思います。
しかし、これだけでは JNIBの上で実際にソフトウェアが実行されている、という実感が湧いてこないと思います。そこで、「Hello World」プログラムを少し改造してみます。 続きは「 「Hello World」の改造と再構築 」に進んでみてください。

関連情報・リンク


「Hello World」の改造と再構築

「Hello World」プログラムを構築する今までの一連の操作で、デバッガーソフト「シャレード(Charade)」の画面に「 Hello World! 」の文字が表示されました。 しかし、単に、PCのデバッガーの上に「 Hello World! 」と表示されても、本当に JNIBの上でソフトウェアが実行されているのかどうか、どうもピンと来ません。

そこで、実際にJNIBが動作していることを体感できるように、現在の「Hello World」プログラムを改造してみます。

「Hello World」プログラムのソースコードの変更

「Hello World」プログラムのソース・コード「 Hello.java 」を以下のように変更します。
//
//  Hello World ! 改訂版
//

import com.ajile.drivers.jnib.JNibSystem;

public class Hello
{
    public static JNibSystem mSys;

    public static void main( String[] args )
    {
        System.out.println( "Hello World !" );

        mSys = JNibSystem.get();

        int led = 0;
        while ( true ) {

            mSys.enableLed( led, false );

            led = (led + 1) % 4;
            mSys.beep();            // ビープ音

            mSys.enableLed( led, true );

            // 1秒 待ち
            try {
                Thread.sleep( 1000 );
            }
            catch ( Exception e ) {
            }

        }

    }
}

できれば、このソースをそのままの形で「 Hello.java 」ファイルへコピー&ペーストしてください。

プログラムの内容としては、JNIBについているLEDのうち、「COM1」 「COM2」 「CF」 「Error」の4つのLEDを順番に1秒毎に点滅させてゆきます。その際、各LEDが光りはじめる時にビープ音が鳴るというものです。

ソースのコンパイル

コンパイルの方法は前回の「 「Hello World」ソースコードの準備とそのコンパイル 」 にある方法と全く同じです。

cd C:\JavaSample
%JAVA_HOME%\bin\javac -bootclasspath %AJILE_HOME%\Runtime_cdc11\Rts;%AJILE_HOME%\Runtime_cdc11\btclasses.zip -source "1.4" -target "1.4" -d C:\JavaSample Hello.java

「JEM Builder」による再構築

実行用ファイルを再構築します。 既に「JEM Builder」に対して「Hello World」プロジェクトは登録されていますので、それをそのまま使います。先ほどから「JEM Builder」が起動したままであれば、単にビルド用の ボタンをクリックするだけでOKのハズです。 もちろん、メニュー[Project]-[Build]から再構築しても結構です。

もし、「JEM Builder」を既に終了させてしまっていたら、再起動してください。 通常「JEM Builder」は前回使ったプロジェクトを自動的に読み込んできますので、起動しただけで「Hello.ajp」が開いて来ると思います。 もし、「Hello.ajp」が自動的に開いてこない場合は、メニュー[File]-[Open Project]から、「C:\JavaSample」ディレクトリにある「Hello.ajp」ファイルを読み込んでください。

「Charade」による実行ファイルのダウンロード

前回の「 「Charade」による実行ファイルのダウンロードと実行 」を参考にして、
メニューバーから [File]-[Execute...]を選択して、「 C:\JavaSample 」ディレクトリにある「 load.sod 」を実行し、「Hello World」用実行ファイルをダウンロードします。

「Charade」による実行ファイルの実行

ダウンロードがすんだら、 「Run」ボタンをクリックして 新たらしい「Hello World」を実行してみてください。

問題がなければ、シャレード(Charade) の Consoleウィンドウに「 Hello World ! 」が表示された後、ビープ音とともに「COM1」 「COM2」 「CF」 「Error」の4つのLEDが順番に1秒毎に点滅してゆくハズです。 このとき、「COM1」 と 「COM2」のLEDは、光るとすぐに消えてしまいますが、これは仕様のようです。 一方、「CF」 と 「Error」のLEDは、1秒間 光続けています。

これで、JNIBが実際に動作しているところを体感できたと思います。

ところが 今の状態では、JNIBの電源を切ってしまうと、今ダウンロードした「Hello World」プログラムは消えてしまいます。 これについては、JNIBのメモリ構成についての知識が必要になりますので、引き続き「 JNIBのRAMとNANDフラッシュ・メモリ 」のページに進んでください。

関連情報・リンク


「Hello World」ソースコードの準備とそのコンパイル

JNIBに、お決まりの「Hello World」プログラムを実行させてみます。
「Hello World」プログラム と題していますが、現在 市販されている JNIB_L (通称「ブラックJNIB」もしくは「黒JNIB」)には ディスプレイがありませんので、 まずは PC上のデバッガーソフト「シャレード(Charade)」の画面に「Hello World」の文字を表示させてみます。

JNIB チュートリアル マニュアルに ソフトウェア開発の手順が記載されていますが、このマニュアルの内容もディスプレイが付いているタイプのJNIB(通称「ブルーJNIB」もしくは「青JNIB」)を前提としていますので、サンプルプログラムがほとんど参考になりません。 また、 説明されている開発環境が CLDC と CDC の両方について ごちゃ混ぜ で記述されているのでハッキリ言って非常に判りにくいです。
そこで、ここでは 開発環境として「 CDCを利用する 」 ということを前提として説明します。

2008年9月21日 現在

開発環境の確認

開発に先立って、以下の環境が整っていることを前提とします。

とします。 それから、

Windows上の 「 C:\JavaSample 」ディレクトリを このプロジェクト用のディレクトリとします。
他のディレクトリ下で作業する場合は、ご自身の環境でのディレクトリと読み替えてください。

ソースコードの作成

「Hello World」プログラムのソース・コードは、ここでは最も単純に
class Hello
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World !" );
    }
}

とします。

このソース・コードを 適当なテキスト・エディターにコピー&ペーストして、「 Hello.java 」という名前をつけて「 C:\JavaSample 」ディレクトリに保存します。

ソースのコンパイル

ウィンドウのコマンド・プロンプトを開きます。 そこで

cd C:\JavaSample


として、カレント・ディレクトリを「 C:\JavaSample 」にします。

その次に、ひじょ~~~に 長いですが、以下のようにJavaコンパイラのコマンドを1行で打ち込みます。 というか、打ち込むのは大変なのでコピー&ペーストして、変更が必要な部分だけ変更した方がよいでしょう。 実際の作業ディレクトリがこの例題と同じ「 C:\JavaSample 」を使っているのであれば、コピペした状態で そのまま実行しても問題ないハズです。


%JAVA_HOME%\bin\javac -bootclasspath %AJILE_HOME%\Runtime_cdc11\Rts;%AJILE_HOME%\Runtime_cdc11\btclasses.zip -source "1.4" -target "1.4" -d C:\JavaSample Hello.java

Javaコンパイラからのエラーが出なければ、「 C:\JavaSample 」ディレクトリに「 Hello.class 」という classファイルが 新たに出来上がっているハズです。


次は、出来上がった classファイルから 「 JEM Builder 」を使って JNIB上にダウンロードできる実行ファイルを作成します。
「JEM Builder」による実行ファイルの構築 (1)ランタイム登録編 に進んでください。

関連情報・リンク


「JEM Builder」による実行ファイルの構築 (1)ランタイム登録編

classファイルが出来上がりましたので、次に、アプリケーションをビルドする必要があります。
アプリケーションをビルドするには、「 JEM Builder 」という専用のソフトウェアを利用することになりますが、まず この「 JEM Builder 」に適切な設定を行う必要があります。
一度 適切な設定を行ってしまえば、あとはソース・コードを変更する毎にビルドを繰り返すだけなのですが、そのための初期設定が非常に複雑で判りにくくなっており、初めてJNIBのソフトウェアを開発する際に、最もつまずくところだと言えるでしょう。 ここでは、できるだけ詳しく解説してみます。

JEM Builder の起動

まず、ウィンドウズのスタート・メニューから aJileツールがインストールされているプログラム・グループの JemBuilderアイコンをクリックして「 JEM Builder 」を起動してください。

「 JEM Builder 」を初めて起動した場合、このような警告メッセージが表示されますが、 そのまま「了解」ボタンをクリックして次に進んでください。

「 JEM Builder 」が起動され、このような画面になります。

CDC 1.1 ランタイム・クラスのセットアップ

ここでは「 JEM Builder 」を初めて起動した、と仮定します。 まず 行わなければならないことは、「ランタイム・クラス」に関する設定を行うことです。 ちなみに この設定は、一度行っておけばよく、後はその設定を呼び出すだけになります。

メニューバーから [Project]-[Properties]を選択します。

すると、「 Project Properties 」ウィンドウが開いてきます。

ここでさらに 「 Project Properties 」ウィンドウの「 Embedded Runtime: 」欄の右側にある「 Define... 」ボタンをクリックします。 すると新たに 「 Select Runtime 」と表示されているウィンドウがポップアップします。

今 開いた 「 Select Runtime 」ウィンドウの画面左下にある「 New... 」ボタンをクリックします。 すると 画面右側の「 Edit 」セクションの各入力項目が白くなり、入力可能となります。

それぞれの項目に以下のような値を入力してください。 (この例では、ランタイムが C:\aJile にインストールされていると仮定しています。)

Name: aJile CDC 1.1
Classpath: C:\aJile\Runtime_cdc11\Rts
Root Directory: C:\aJile\Runtime_cdc11
JDK Classpath: C:\aJile\Runtime_cdc11\btclasses.zip;C:\aJile\Runtime_cdc11\foundation.jar
Select Runtime type: CDC

入力においては、上記の表から値をコピー&ペーストしてもよいですが、 「 Classpath: 」 「 Root Directory: 」 「 JDK Classpath: 」に関しては、それぞれの入力項目の右横のボタンをクリックして、「 Runtime path 」ウィンドウを表示させ、そこから Classpathディレクトリ や .jarファイル を選ぶこともできます。
例えば、以下の「 JDK Classpath: 」項目から開いた「 Runtime path 」ウィンドウでは、C:\aJile\Runtime_cdc11 ディレクトリ の「 btclasses.zip 」 と 「 foundation.jar 」を指定します。

すべての項目の入力が終了したら、「 OK 」ボタンをクリックしてください。 すると 画面左側の「 Runtimes 」セクションに 新たに「 aJile CDC 1.1 」というランタイムが登録されたことが確認できます。

ここでさらに 「 OK 」ボタンをクリックします。 「 Select Runtime 」ウィンドウが閉じて、「 Project Properties 」画面に戻ります。

戻ってきた「 Project Properties 」画面では、「 Embedded Runtime: 」欄に「 aJile CDC 1.1 」と表示されていることを確認してください。 それから 画面下の「 OK 」ボタンをクリックしてください。 「 Project Properties 」ウィンドウが閉じられ、「 JEM Builder 」が起動された時の画面となります。


「 JEM Builder 」における ランタイムの登録が済みましたので 次は、プロジェクトの登録に進みます。
「JEM Builder」による実行ファイルの構築 (2)プロジェクト登録編 ページに進んでください。

関連情報・リンク


「JEM Builder」による実行ファイルの構築 (2)プロジェクト登録編

「 JEM Builder 」でのランタイム登録を 「JEM Builder」による実行ファイルの構築 (1)ランタイム登録編 ページで説明しました。 その続きとして、 プロジェクトの登録をしてゆきます。

新しいプロジェクトの作成

メニューバーから [File]-[New Project]を選択します。

すると、このような警告メッセージが表示されますが、 そのまま「了解」ボタンをクリックして次に進んでください。

すると、「 New Project step 1 of 2 」というウィンドウが開いてきます。

今回の「Hello World」の例では、「 C:\JavaSample 」を作業用ディレクトリとしていますので、「 Enter the output directory: 」欄に 「 C:\JavaSample 」と入力してから、画面下の「 Next> 」ボタンをクリックします。

すると、「 New Project step 2 of 2 」というウィンドウが開いてきます。

「 Select a runtime: 」 「 Select a Configuration: 」の それぞれの項目で以下の表の値を選択してください。

Select a runtime: aJile CDC 1.1
Select a Configuration: JNibConfiguration

それから「 Finish > 」ボタンをクリックします。

JVMの作成

すると次に、JVM名を入力するための「 New JVM step 1 of 4 」というウィンドウが開いてきます。
「 Enter the name of the new JVM: 」欄に デフォルト値として既に「 JVM0 」と入力されています。 もし値が入力されていなかった場合は、「 JVM0 」と打ち込んでください。 それから 「 Next > 」ボタンをクリックします。

次に、クラス名を入力するための「 New JVM step 2 of 4 」というウィンドウが開いてきます。

この「Hello World」の例題では、クラス名を「 Hello 」としていますので、「 Enter the fully qualified class name: 」欄に 「 Hello 」と入力します。 それから 「 Next > 」ボタンをクリックします。

次に、クラスパスを入力するための「 New JVM step 3 of 4 」というウィンドウが開いてきます。

今回の「Hello World」の例題では、「 C:\JavaSample 」を作業用ディレクトリとしていますので、
「 Enter the Classpath for this JVM: 」欄に 「 C:\JavaSample 」と入力します。 それから 「 Next > 」ボタンをクリックします。

次に、JVMへのドライバーの追加をするための「 New JVM step 4 of 4 」というウィンドウが開いてきます。

JNIBでは、最低でも「 chardisp 」と「 jnibsystem 」の2つのドライバーが必要です。
Driversセクションの左側の「 Available Drivers: 」欄から 「 chardisp 」をクリックしハイライトさせ、隣にある右矢印ボタンをクリックして「 Installed Drivers 」欄へ移動させます。 同様に、「 jnibsystem 」も「 Installed Drivers 」欄へ移動させます。
それから 「 Finish > 」ボタンをクリックします。

プロジェクトの登録が終了するとこのような画面になります。 画面左側に「 JVM0 」という項目が追加されているのが確認できます。


次は、今作成したプロジェクトを保存し、実行用ファイルを構築します。
「JEM Builder」による実行ファイルの構築 (3)プロジェクトの保存と構築編 に進んでください。

関連情報・リンク


「JEM Builder」による実行ファイルの構築 (3)プロジェクトの保存と構築編

「 JEM Builder 」での新規のプロジェクトの登録を 「JEM Builder」による実行ファイルの構築 (2)プロジェクト登録編 ページで説明しました。 その続きとして、 プロジェクトの保存し、それから 実行用ファイルを実際にビルド(構築)してみます。

新しいプロジェクトの保存

メニューバーから [File]-[New Project]を選択します。

すると、保存用のダイアログ・ウィンドウが表示されますので、「 C:\JavaSample 」に「 Hello 」という名前でプロジェクトを保存します。 これで、「 C:\JavaSample\Hello.ajp 」という .ajpファイルが出来ているハズです。

アプリケーションの構築

実際にJNIBにダウンロードできる 実行用のアプリケーション・ファイルを構築(ビルド)するには、メニューバーから [File]-[New Project]を選択するか、もしくは、 ボタンをクリックします。

すると、アプリケーション・ファイルのビルド処理が始まり、その経過が画面の右側に表示されます。
問題がなければ、この図のように 最後に「 Build Finished 」と言う表示がされてビルド処理が終了します。

これで「 C:\JavaSample 」ディレクトリに 「 load.sod 」ファイルをはじめ、たくさんのファイルが作成されているハズです。
次は、「Charade」を用いて、今作成した実行用アプリケーション・ファイルを保存し、JNIBにダウンロードし、実行します。
「Charade」による実行ファイルのダウンロードと実行 に進んでください。

関連情報・リンク


コンパクト・フラッシュによるNAMDフラッシュへの書き込み (1)ロード・ファイルの作成

JTAGによるアプリケーションのNAMDフラッシュへの書き込み 」で紹介したような JTAGでの接続以外の方法でも アプリケーションの実行ファイルを NANDフラッシュ・メモリへ書き込む方法があります。

これは、いろいろなメディアやコネクションから アプリケーション実行ファイルを読み込み、NANDフラッシュ・メモリへ書き込むソフトウェアで「 NANDローダー 」と呼びます。 通常 NANDローダーは、適切なデバイス・ドライバとセットにして、 アプリケーションと共にNANDフラッシュに書き込んでおきます。 特にコンパクト・フラッシュ・カードに関しては、いつでも利用可能となるように、コンパクト・フラッシュ・カード用のデバイス・ドライバーはaJileランタイムシステムに含まれています。

この NANDローダーは、JNIB本体の電源投入時のDIPスイッチの設定により、各メディアやコネクション、例えば、コンパクト・フラッシュのメモリ・カードをはじめ、USBメモリ や ネットワーク経由、シリアル・ポート経由 で JNIB用の実行ファイルをNANDフラッシュ・メモリへ書き込むことができます。

ただし そのためには まず、NANDローダー用のファイルを作成する必要があり、 通常そのファイルは「 jnibKernel.data 」と名づけられています。 これについては、マニュアル「 2.3.1. NANDローダによるアプリケーションの更新 (Updating Applications via the NAND Loader) 」の パート1 に説明があります。

「 createNandFile.bat 」バッチ・ファイルによる NANDロード・ファイル の作成

例のごとく「Hello World」プログラムの構築の続きとして説明します。

DOSプロンプトを開いて、カレント・ディレクトリを「 C:\JavaSample 」にします。

 cd \JavaSample

それから、「 %AJILE_HOME%\Host\createNandFile 」というコマンドを入力します。


 %AJILE_HOME%\Host\createNandFile

すると、NANDローダー用のファイル「 jnibKernel.data 」 の作成が開始されます。

この図のように正常に終了すると、「 C:\JavaSample 」ディレクトリに「 jnibKernel.data 」というファイルが作成されているのが確認できるはずです。

JEM Builder による NANDロード・ファイル の作成

既に今までの説明で、NANDフラッシュ・メモリへ書き込むための「 jnibKernel.data 」というファイルが作成されているわけですが、2008年9月23日にリリースされた、aJile のJME CDC Runntime もしくは JME CLDC Runtime の バージョン 5.3.03 からは、もっと簡単な方法が提供され始めました。 それは、「 JEM Builder 」から NANDロード・ファイルの作成ができるようになったことです。
ここでは、それについても説明しておきます。

「 JEM Builder 」を起動し、「 C:\JavaSample 」ディレクトリにあるプロジェクト・ファイル「 Hello.ajp 」を開きます。
画面 左側のツリーから[Project]-[Output Files]を選択します。

すると、表示された右側の画面の下側に「 Enable NAND load file genaration 」欄が見えますので、そこにチェックを付けるだけです。
すぐ下にファイル名として「 jnibKernel.data 」が自動的に挿入されると思いますが、これは、よほど特別なことがない限り、変更する必要はないでしょう。

後は通常どおり、JEM Builderの ビルド用の ボタンをクリックするか、メニュー[Project]-[Build]を選択するかして、アプリケーションの再構築を行ってください。
アプリケーションの構築処理の最後に「 jnibKernel.data 」ファイルを作成する工程が付け加えられます。

ただし、NANDロード・ファイルの作成には、非常に時間がかかりますので、通常は、このチェックを外しておき、本当に必要な場合にだけ、この[Project]-[Output Files]画面を開いて、「 Enable NAND load file genaration 」欄にチェックをつけた方がよいでしょう。

このページでは、NANDロード・ファイルの作成の方法として

という2とおりの方法を説明しました。
次は、今 作成した NANDロード・ファイルを JNIBのNANDフラッシュ・メモリへ実際に書き込むことになります。
コンパクト・フラッシュによるNAMDフラッシュへの書き込み (2)NAMDローダーの起動 」ページに進んでください。

関連情報・リンク


コンパクト・フラッシュによるNAMDフラッシュへの書き込み (2)NAMDローダーの起動

NAMDローダーの起動によるNAMDフラッシュへの書き込みには、いろいろなメディアやコネクションからの読み込みがサポートされていますが、ここでは、最も基本となる方法として、メディアをコンパクト・フラッシュにのみ絞って、その手順を説明します。

他のメディアについては、マニュアルの「 2.3.1. NANDローダによるアプリケーションの更新 (Updating Applications via the NAND Loader) 」を参照してください。

CFカードによるNAMDフラッシュへの書き込み手順

1. FAT32でフォーマットされた コンパクト・フラッシュ・カード(CFカード)を準備します。

2. ウィンドウ上で「 C:\JavaSample 」ディレクトリの「 jnibKernel.data 」ファイルを、CFカードのルート・ディレクトリ にコピーします。

3. JNIBの電源を切ります。

4. JNIBの「 Slot A 」にCFカードを挿入します。 「カチッ」という音がするまで、しっかり差し込んでください。

5. JNIBの DIPスイッチの 10番を「 ON 」(上に倒す)にします。

6. JNIBの電源を入れます。 この時、「 ピ ピ ピ ピ ピ 」と 5回 音がなります。

7. 電源を入れたままの状態で、DIPスイッチの 10番を「 OFF 」(下に倒す)に戻します。 この時、「 ピー ピー ピ 」というビープ音がします。

8. CFカード から NANDフラッシュへのコピーが開始されます。 この時、約4秒毎に 短いビープ音がします。

9. 「 ピー ピー ピー 」と 3回の長いビープ音がしたら、コピー終了です。

10. JNIBの電源を切ります。

11. JNIBの「 Slot A 」から、CFカードを抜き取ります。

12. JNIBの電源を入れます。

13. NANDフラッシュに書き込まれた「Hello World」プログラムが自動的に実行されます。

関連情報・リンク


メイン・メニュー

「 組み込みJavaによる M2M 総合研究プロジェクト 」のメイン・メニューです。 管理人が個人的に調査した内容をまとめたものです。

JNIB開発環境 構築の手順

aJile社(日本代理店: Valley Campus 社)が 提供している ピュアJavaによるネットワーキング組み込み系コンピュータ 「 JNIB (Java Network Interface Box) 」について と その開発環境構築について解説しています。

JNIB ソフトウェア開発の手順 - お決まりの「Hello World」プログラムの構築 -

新しい 言語や開発環境を学習する際には お決まりの「Hello World」プログラムの構築を実際に行ってみて、JNIB用の実行ファイルの構築方法、JNIBへのダウンロード および 実行の方法 を具体的に学習してみます。

JNIB マニュアル(日本語翻訳版?)

技術一般情報

関連情報・リンク


環境変数の設定

JNIBの開発環境では、特定の「環境変数」が定義されていることを前提としています。 その「環境変数」の設定の方法を解説します。

2008年7月24日 現在

環境変数について

JNIBの開発環境では、「 AJILE_HOME 」 と 「 JAVA_HOME 」 という2つの環境変数を定義する必要があります。 これらの環境変数は、ユーティリティー用のバッチ・ファイル等の中で利用されていますので、これらの環境変数が定義されていなかったり、または、定義が間違っていた場合には、正常に動作しなくなってしまいます。

これらの環境変数では それぞれのソフトウェアが存在するディレクトリへのパスを指定します。 ここでは具体的な値としては、JNIBの開発環境のディレクトリを示す環境変数「 AJILE_HOME 」には「 C:\aJile 」、 また、JDKのディレクトリを示す環境変数「 JAVA_HOME 」 には 「 C:\Java\jdk6 」という値を設定することにします。 もし、上記以外の場所へソフトウェアをインストールしている場合は、それに合わせて、適切な値に変更してください。

環境変数の設定方法

それでは環境変数の具体的な設定方法を図解します。 ここでは ホストPCのOSは「 Windows XP 日本語版 Service Pack 2 」であることを前提としています。

環境変数の設定画面を開く

Windows XP で 環境変数の設定画面を開くには、

または、コントロール パネル が クラシック表示の場合には、

または デスクトップより、

で開くことができます。

画面の上半分が 「ユーザ環境変数」の設定画面で 現在ログインしているユーザのみに適応される環境変数です。 一方、画面の下半分が 「システム環境変数」の設定画面で 登録されているすべてのユーザに適応される環境変数です。 PCの利用状況に応じて使い分ければよいでしょう。

新規環境変数の登録

ここでは、ユーザー環境変数 として、 環境変数名「 AJILE_HOME 」に 変数値「 C:\aJile 」をセットしてみます。
まず、ユーザー環境変数エリアの[ 新規(N) ]ボタンを押します。 すると「新しいユーザー変数」という画面が開きますので、「変数名」と「変数値」という それぞれの欄に値を入力します。

同様に 環境変数名「 JAVA_HOME 」に 変数値「 C:\Java\jdk6 」をセットします。

すると最終的に、以下の画面のようになります。

[OK]ボタンを押してを終了させてから、ウィンドウを再起動します。 (再起動しなくても動作するようですが、念のために再起動することをお勧めします。)

設定した環境変数の確認方法

ウィンドウの再起動後、今設定した環境変数が正常に設定されているか確認してみます。
先ず、コマンド・プロンプトを開きます。 そこで


> echo %AJILE_HOME%

並びに


> echo %JAVA_HOME%

と打ち込むと、下図のように それぞれの 環境変数の値が表示されます。

関連情報・リンク


用語集

A

B

C

D

E

F

G

H

I

J

K

L

M

N

O

P

Q

R

S

T

U

V

W

X

Y

Z

.

%

関連情報・リンク


高速アプリケーション・ローディング

JNIBの ソフトウェアを開発する工程では、 アプリケーションを構築した後、そのバイナリ・ファイルをJNIBのRAMへローディングする必要があります。 しかし、このアプリケーション・ファイルを ディバッガーの「シャレード(Charade)」から JTAG接続を経由してJNIBへローディングするのは、開発工程で何度も繰り返される作業でありながら、非常に時間がかかる工程です。 これでは、効率的な開発環境とは言えません。

この問題の解決策として、aJile社は、2008年9月2日にリリースされた「 JME CDC Runtime 」 の バージョン 5.3.01 にて、「 高速アプリケーション・ローダー (Fast application loader) 」機能を新たにサポートしました。 同バージョンの「 JME CDC Runtime 」のリリース・ノートには、この機能により、従来のJTAG接続でのローディングより 十数倍 速くローディングできる、とあります。

また、この機能に関する説明が 「 JNIB ユーザーズ・ガイド (JNIB User's Guide) 」の 「 2.6. 高速アプリケーション・ローディング (Fast Application Loading) 」にあると書かれています。

基本的な考え方としては、 転送スピードが遅いJTAG経由でのダウンロードに代わって、高速なEthernetを使ってファイルを転送してしまいましょう、というものです。 そのために、開発用PC上ではサーバーとなるソフトウェアを事前に走らせておき、JNIBからそのサーバーにネットワーク接続してファイルをダウンロードする形態をとります。 これを実現するために、JNIB側には あらかじめ 「 アプリケーション・ローダー: Application Loader (AppLoader) 」と呼ばれるソフトウェアをインストールしておきます。 また、JNIBからサーバーへの接続を指示するためには、「シャレード(Charade)」からJTAG経由でJNIBの アプリケーション・ローダーへ コマンドを送ってやります。 このコマンドを受け取ったアプリケーション・ローダーが ネットワーク経由でサーバーへの接続を開始するわけです。

この「 高速アプリケーション・ローダー (Fast application loader) 」機能は、たいへん魅力的な機能ではありますが、実際に実現しようと思っても、その方法は マニュアルからだけでは非常に判りにくくなっています。

そこで、私も試行錯誤の末 わかったのですが、この「 高速アプリケーション・ローダー (Fast application loader) 」機能を実現する方法の手順をここに具体的に示しておきます。

前提条件

アプリケーション・ローダー: Application Loader (AppLoader) の NANDフラッシュへのロード

まず、JNIBのNANDフラッシュ・メモリへ 「 アプリケーション・ローダー: Application Loader (AppLoader) 」をインストールします。
具体的にインストールしなければならないファイルは「 C:\aJile\Host\AppLoader 」ディレクトリにある「 jnibKernel.data 」ファイルというファイルです。 この「 jnibKernel.data 」ファイルは、 aJile社からダウンロードした「 JME CDC Runtime Version 5.3.03」をインストールした段階で既に含まれていますので、新たに作成する必要はありません。

JNIBのNANDフラッシュ・メモリへ書き込む方法は、「 コンパクト・フラッシュによるNAMDフラッシュへの書き込み (2)NAMDローダーの起動 」ページの方法を参考にして下さい。 但し、CFカードへコピーするのは、「 C:\JavaSample 」ディレクトリにある「 jnibKernel.data 」ファイル ではなく、「 C:\aJile\Host\AppLoader 」ディレクトリにある「 jnibKernel.data 」ファイルです。 絶対に間違えないでください。

( 私は、どうしても 「 C:\aJile\Host\AppLoader 」ディレクトリにある「 jnibKernel.data 」ファイルを NANDフラッシュに書き込まなければならない、ということが判らず、長時間 ハマってしまいました。 )

「 AppServer.bat 」によるサーバーの起動

「 C:\JavaSample 」ディレクトリにある「Hello World」プログラムを 従来どおり、「 JEM Builder 」で アプリケーション構築してください。 このとき、「 C:\JavaSample 」ディレクトリ に「 AppServer.bat 」というバッチ・ファイルが 自動的に作成されているハズです。 このバッチ・ファイル「 AppServer.bat 」をエクスプローラーからダブル・クリックして実行しておきます。

「 AppServer.bat 」が 問題なく起動すると、このような画面が現れるハズですので、そのまま走らせておいてください。

【注意】 もし、「 AppServer.bat 」ファイルが 自動的に作成されていない場合は、お使いの ランタイムが「 JME CDC Runtime Version 5.3.03」 以降のバージョンであるかどうかを確認してください。

【注意】 他のアプリケーションをネットワーク経由でJNIBへダウンロードするには、今実行されている「 AppServer.bat 」を終了させ、ダウンロードしたいアプリケーションのディレクトリにある「 AppServer.bat 」を改めて起動する必要があります。

「シャレード(Charade)」からの 「 AppLoader.sod 」スクリプトの実行

実行用のアプリケーション・ファイルをJNIBにダウンロードするために、「 C:\JavaSample 」ディレクトリにある「 AppLoader.sod 」 というシャレード(Charade) 用のスクリプト・ファイルを実行して、 JNIB上にあるアプリケーション・ローダーを起動させます。

「シャレード(Charade)」を起動して、メニューバーから [File]-[Execute...]を選択します。

すると、「 Select command file to execute: 」ウィンドウが開いてきますので、 ディレクトリを 「 C:\JavaSample 」に移動し、「 AppLoader.sod 」を選択してから「開く」ボタンをクリックします。

すると、「シャレード(Charade)」の Consoleウィンドウには、
[AppLoader]-> -- JNIB target script for starting the AppLoader
[AppLoader]-> -- Apploader must be in NAND flash as the PBL
[AppLoader]-> 
[AppLoader]-> Halt
[AppLoader]-> Reset
[AppLoader]-> 
[AppLoader]-> -- Setup PLL
[AppLoader]-> set 0xFFFF00A4 0xEC6
[AppLoader]-> 
[AppLoader]-> -- Change Chip Select 0 to 16 bits
[AppLoader]-> set 0xFFFF0080 0x54D
[AppLoader]-> 
[AppLoader]-> -- Enable chip selects 4:7
[AppLoader]-> set 0xFFFF00A0 0x3C000
[AppLoader]-> 
[AppLoader]-> -- Activate the FPGA so that the FPGA RAM may be loaded
[AppLoader]-> set 0x00C00000 0x3
[AppLoader]-> set 0x00C00000 0x1
[AppLoader]-> 
[AppLoader]-> -- Setup for bootloader
[AppLoader]-> set 0 #e5 #1000078 #4144 #1000000 0 0
[AppLoader]-> set #f4 #1A0 #ff3e0280 4300
[AppLoader]-> 
[AppLoader]-> @setup
Textio mode       (tx): on
[AppLoader]-> bell
[AppLoader]-> 
[AppLoader]-> switch textio on
Textio mode       (tx): on
[AppLoader]-> run
[AppLoader]-> 
[AppLoader]-> -- Load symbolic info
[AppLoader]-> load build.jc