Slush.tini 再構成
標準の TINI はブート後、Java VM を構築し、TINI 標準のシェルである Slush を 起動します。Slush は etc/.startup ファイルを参照しながら、シリアルサーバ、 FTP サーバ、Telnet サーバを順番に起動します。
Slush がコマンドラインを受け付けられるようになるまで数秒以上かかります。 これでは電源ランプを点灯するなど、ブート後直ちに実行したい処理が待ち切れません。
ブート後最優先の処理を実行し、その後 Slush を実行するように変更します。
使用したハードウェアは TINI390 SIMM ボードと評価用ソケットボード E10、 TINIOS のバージョンは 1.11 です。
ブート後に最優先の処理を実施し、続いて Slush を呼出すプログラムを作成します。 Iniz クラスのソースは次のようになります。
import java.io.IOException; public class Iniz { //-------------------------------------------------------------------------- public static void main( String[] args ) { // ここに最優先の処理を記述する。 // 例えば、電源ランプを点灯する、など。 // Slush を起動する。 Runtime runtime = Runtime.getRuntime(); try { Process process = runtime.exec( "Slush.tini" ); } catch (IOException e) { System.err.println( e.getMessage() ); e.printStackTrace(); } } }
コンパイルし、TINI 実行形式に変換してください。 次のような .bat ファイルになります。
set TINI=D:\tini1.11\bin set JAVAC=D:\j2sdk1.4.2\bin\javac.exe set JAVA=D:\j2sdk1.4.2\bin\java.exe %JAVAC% -O -target 1.1 -bootclasspath %TINI%\tiniclasses.jar -classpath %TINI%\modules.jar Iniz.java %JAVA% -classpath %TINI%\tini.jar BuildDependency -p %TINI%\modules.jar \ -f Iniz.class -d %TINI%\tini.db -o Iniz.tbin -l -noreflect -t 70100 pause
環境変数 TINI、JAVAC、JAVA はご使用の環境に合わせて置き換えてください。
通常の TINI 実行形式と異なる点は、次の 3つです。
作成した Iniz.tbin を使用します。
Maxim/Dallas が提供する Slush はフラッシュメモリに書込むタイプの .tbin ファイルです。これは Java VM から呼出す形式ではありません。
次の手順で Slush.tini ファイルを作成します。
Slush のソースファイルを取得してください。
開発環境を Maxim/Dallas の FTP サイトからダウンロードしてください。
tini1.11\src\SlushSrc.jar
適当な展開ソフト(例えば、+Lhaca など)を使用して展開してください。
Slush.tini を作成してください。次のような .bat ファイルを実行します。
set TINI=D:\tini1.11\bin set JAVAC=D:\j2sdk1.4.2\bin\javac.exe set JAVA=D:\j2sdk1.4.2\bin\java.exe dir com\*.java /B /S /ON > files %JAVAC% -O -target 1.1 -bootclasspath %TINI%\tiniclasses.jar -classpath %TINI%\modules.jar \ -d bin @files %JAVA% -classpath %TINI%\tini.jar BuildDependency -f bin -d %TINI%\tini.db \ -x %TINI%\owapi_dep.txt -o Slush.tini -p %TINI%\modules.jar \ -add FTPCLIENT;MAILTO -fake -noreflect -ref com.dalsemi.slush.util.FakeMainMaker \ -ref com.dalsemi.slush.command.SlushCommand -ref com.dalsemi.protocol.mailto.Handler pause
環境変数 TINI、JAVAC、JAVA はご使用の環境に合わせて置き換えてください。
作成した Slush.tini を使用します。
作成した Slush.tini を TINI へ FTP 転送します。適当な FTP クライアントソフト(例えば FFFTP)を起動し、Slush.tini を TINI の ルートディレクトリにバイナリ転送してください。
Slush.tini は転送しましたか?
これを忘れると何もできなくなります。Slush.tini を転送しないで Iniz.tbin を ロードしてしまったときは、同様の手順で Iniz.tbin の代りに Slush.tbin を ロードしてください。そしてもう一度 Slush.tini の転送からやり直しましょう。
PC で JavaKit を起動してください。コマンドプロンプトで下記のように 入力してください。ただし TINI 開発環境 TINI1.11 と J2SE SDK の インストールディレクトリはご自分の環境に合わせて読みかえてください。
> javaw -cp d:\tini1.11\bin\tini.jar;d:\j2sdk1.4.2\jre\lib\ext\comm.jar JavaKit [Enter]
JavaKit の DTR を Set にセットし、[Reset] を押してください。うまくいくと 次のメッセージが表示されます。
TINI loader 05-15-00 17:45 Copyright (C) 2000 Dallas Semiconductor. All rights reserved. >
メニュー File -- Load File を実行し、Iniz.tbin を選択し [開く] を
押してください。
ローディングが始まります。
Loading File: D:\Example\Iniz.tbin Please wait ... (ESC to abort). Load complete >
JavaKit で次のように入力し、ローダを終了してください。
> E [Enter]
これで TINI が再起動します。
Slush.tbin をロードしたときはフラッシュメモリをクリアしますが、 そうするとせっかく転送した Slush.tini が消えてしまいます。 フラッシュメモリはクリアしないでください。
数秒待つと見慣れたログインプロンプトが JavaKit に表示されるはずです。
(C) 2003 by KISHIMOTO Toshio (ALELE.NET), all rights reserved.
このドキュメントに関するお問い合わせは下記まで
0.1 | 2003.10.19 | TK | Original |
1.0 | 2008.02.02 | TK | 花ライオン用に変更。 |