ラベル kz_xmodem の投稿を表示しています。 すべての投稿を表示
ラベル kz_xmodem の投稿を表示しています。 すべての投稿を表示

2012年5月31日木曜日

KOZOS EXPBRD #00の動作確認進捗状況

先日の記事で取り上げたKOZOS EXPBRD #00ですが、基板も上がってきてユルユルとデバッグしています。

今回は外部の基板とドッキングさせるので、基板の外形寸法の検証から。


アイキャッチを入れるのも「そういえば初めて」なので、しげしげと眺めて楽しんだりしています。

ビアのドリル径ですが、今回は0.3mmで設計しました。
「ニジマス君」の周囲にあるドリルは、両面のグランド層を繋ぐビアです。
ビアのドリル系を0.3mmにしただけで随分と配線が楽になりました。

そういえば今まで結構大きいドリルを使っていた事に今更気付いたりしています。
BlackTank LPC1769なんて、配線が多いのに0.6mmだったりしました。
そりゃ配線が大変なわけです。気を付けよう・・・というか気付いて・・・。


H8のボードとドッキングして使用している様子は以下のようになります。
外形寸法はドッキング対象のボードと同じなので、コンパクトに持ち運べます。


使用感を共有するために動画を作ってみました。
動作は全てハードウェアを確認するためのジャンクなコードによるものです。
ブートローダの書き込みとOSの転送にはkz_xmodemkz_h8writeを使用しています。

LEDをチカチカ。
[フレーム]

ロータリーエンコーダをクルクル。
グラフィックLCDをテコテコ。
[フレーム]

赤外線リモコンをピコピコ。
実デバイスが複数搭載された基板を制御する場合、それなりの枠組みを用意する事になります。
KOZOS EXPBRD #00は、組み込みシステム開発特有の世界をKOZOSを使って体験する事を念頭に設計しました。

KOZOSは、必要な事を最小限のコードで実現してあります。
こういったOS教材は今までになかったので、非常に面白いなぁというのが以前からの印象でした。
KOZOS EXPBRD #00と合わせて使ってみて、面白い題材になっている手ごたえを感じます。

2012年4月29日日曜日

kz_h8writeとkz_xmodemの2つのソフトウェアを、Mac OSとLinuxとWIndowsの3つのプラットフォームで動作確認する

XMODEM for KOZOS (12ステップで作る 組込みOS自作入門 KOZOS用ユティリティ kz_xmodem)を実装したことで、kz_h8writeとあわせてKOZOS用ユティリティが2つになりました。

ダウンロードはプロジェクトページからどうぞ。
http://sourceforge.jp/projects/kz-h8write/
http://sourceforge.jp/projects/kz-xmodem/

kz_h8writeとkz_xmodemは、Mac OS、Linux、Windowsで動作するように実装してあります。
ただ、あまり積極的にテストしていなかったので、2つのツールが揃ったところでまとめてテストしました。
  • それぞれのバイナリは2012年04月29日現在のコードから生成したものを使用しています。
  • Mac OSには10.7.3、LinuxにはUbuntu 11.04、WindowsにはWindows 7を使っています。
  • 各環境で特別な手順を踏まずに手に入るビルド環境を使っています。
OSkz_h8writekz_xmodem
Mac OS
Linux
Windows

2種類のソフトウェアを3つの環境で動作させるわけですから意外に手間がかかります。
クロスプラットフォームともなると自動テストというわけにもいきません。
ターゲットボードにあるスイッチを切り替えなければならないとなればなおさらです。

それでも自分で確認しておくと安心度が違います。
これからもこういった動作確認の報告はしていきたいところです。

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/

AltStyle によって変換されたページ (->オリジナル) /