2012年4月28日土曜日

XMODEM for KOZOS (12ステップで作る 組込みOS自作入門 KOZOS用ユティリティ kz_xmodem)

「KOZOSってなぁに?」という方は本家のホームーページをご覧下さい。

kz_xmodem

12ステップで作る組込みOS自作入門(KOZOS)の第8ステップ以降では、ROMにブートローダ(kzload)を書き込み、ブートローダ経由でOSRAMに流し込んで動作させるようになっています。転送プロトコルにはXMODEMを採用していますが、複数のプラットフォーム上に存在する汎用ツールの多くが、何ステップかの操作をした後でようやく転送が開始されるような仕組みになっています。また、環境やタイミングに依存して、汎用ツールとKOZOSブートローダの組み合わせでうまく転送できない事もあるようです。
kz_xmodemは、上記の「複数の操作を段階的に行なう事の煩雑さ」や「転送に失敗する事の面倒さ」などを取り除く事を目的に、設計実装されたKOZOS専用XMODEMプログラムです。

kz_xmodemの特徴

l  KOZOSブートローダの動作に合わせて設計したKOZOS専用XMODEMプログラム。
l  LinuxWindowsMac OSに対応。
l  KOZOSブートローダに対して内部でload状態に自動遷移。
l  ターゲットをリセットしてkz_xmodemを実行するだけで転送完了。
l  コマンドプログラムなのでMakefileからの自動実行なども可能。
l  MITライセンスを採用し、商用、非商用を問わず自由に再利用可能。

汎用ツールとkz_xmodemの比較

汎用ツールの場合

汎用ツールの場合、操作は大まかにわけて3段階必要です。
まず、KOZOSブートローダをload状態にします。

次にXMODEM転送の為にファイルを指定して転送を開始します。
ツールによっては、ファイル名の入力などに手間取ると期待したような動作にならない事があるようです。うーん。ここは気合いを入れて操作したいところではありません。

転送が正常に終了したらKOZOSブートローダのプロンプトに戻ってrunコマンドを実行します。


上記のように汎用ツールの場合、ツールの中の画面をいちいち行ったり来たりしなければなりません。OSの動作確認をしたくてうずうずしている時に、色々な操作が伴いとても面倒です。

kz_xmodemの場合

kz_xmodemを使うと、シンプルな2つのステップでOSの動作確認まで進めます。
kz_xmodemに、書き込み対象ファイル名と使用するシリアルポート名を与えて実行します。

書き込みが完了したらKOZOSブートローダにシリアルコンソールを使って接続します。
後はrunコマンドを実行するだけ。

kz_xmodemはコマンドツールですから、Makefileでビルド後に呼ぶようにすれば自動ダウンロードが可能です。要するに、ビルドした後でOSの動作確認に至るまでがmake一発で一気にできてしまうのです。従来のようにわざわざ別のツールを立ち上げてからアレコレ操作する必要はありません。

プロジェクトページ

プロジェクトはsourceforgeで管理しています。 http://sourceforge.jp/projects/kz-xmodem/

0 件のコメント:

コメントを投稿