新ROM(Ver.3)への対応

水内 郁夫

戻る
  1. cvs update

    2002/11/19(火)に各自新しいROM(Ver.3)を焼いた。 それに対応するために、 各自の ~/work/MechKVM/ 以下にあるファイルを更新する必要がある。 そのためには、cvs を利用する。( CVSの説明)。 その手順は以下の通り。

          % cd ~/work/MechKVM/
          % cvs update -d

  2. *.java --> *.jar --> *.jar.srec

    自分で作成したJAVAプログラム(例えばyourfile.java) を、 ROMのKVMで実行するための *.jarファイルに変換するには、次のようにする。

          % cd ~/work/MechKVM/utmech/kvm/build/
          % make DOWNLOAD=yourfile.java download.srec
    とする。
    複数の*.javaファイルがある場合は、
          % make DOWNLOAD="file1.java file2.java" download.srec
    のようにする。
    0x030000以外のアドレスに置く *.jar.srecファイルを作るには、 上記のmakeを行った後に、
          % ./scripts/jar2srec.pl -base 0x010000 MechKVM.jar > hoge.srec
    のようにしてできた hoge.srecをダウンロードすると、 0x010000に MechKVM.jarファイルの内容が転送される。 ダウンロードした後は 010000 と LCDに表示されているので、 そのままF1を押せば実行される。 010000 からの実行を指示するには、 0 1 0 0 0 0 ADRSET F1 の順にキーを押す。

  3. ダウンロードした *.jar.srecの実行

    F1とF2がJAVAボタンである。
    F1は、LCDに表示されたアドレスから jarファイルを読み込み実行。
    F2は、デフォルトのアドレス(0x030000)から jarファイルを読み込み実行。
    ダウンロードは、これまでどおり、F4を押して、ダウンロードする。

  4. *.jar.srecファイルの作り方(詳細編)

    make DOWNLOAD=yourfile.java download.srec
    により実際に行われていることは、 MechKVM/utmech/kvm/build/Makefile の138行目からの内容で、
    1. DOWNLOAD= で指定されたファイルを javac によりコンパイルする。 コンパイルされた *.classファイルは、 ./tmpclasses というディレクトリに置かれる。 コンパイルされる*.javaファイルは ../../api/classes にあるクラスファイルを利用できる。 (145, 146行目) (ちなみに、Meadowではカーソルのある行の行番号が右下に L145のように表示されている)
    2. jar により、./tmpclasses/ 以下のファイルをまとめ、 tmpjar/MechKVM.tmp.jar を作成する。(L150)
    3. L139でコンパイルしておいた ./scripts/GenerateMainClass.java により、 main関数(メソッド)を持つクラスを探し、 <見つかったクラス>.main(); を実行するMechKVMMainクラスを作成する。 (L151)
    4. 前項で作成されたMechKVMMain.javaをコンパイルする。 (L153-154)
    5. プリベリファイヤ (../../tools/preverifier/preverify.exe) により、プリベリファイ。(L156-157)
    6. 改めてMechKVM.jarを作成。(L158)
    7. MechKVM.jarを MechKVM.jar.srec (S-Record; モニタがシリアルから読み込める形式) に変換。 スクリプト MechKVM/utmech/kvm/build/scripts/jar2srec.pl を利用している。(L161) jar2srec.pl -base jarを置くアドレス ???.jar > ???.jar.srec としてjarを置くアドレスを変更可能。

  5. 新ROMの特徴


Last modified: Mon Nov 25 11:22:10 JST 2002