« SH-2 Linux上でのリアルタイム OS 開発環境 (その2 リアルタイムOS編) | Main | SH-2 Linux上でのリアルタイム OS 開発環境 (その4 ハードウェア操作編) »

October 06, 2006

SH-2 Linux上でのリアルタイム OS 開発環境 (その3 ROM 書き込み編)

さて、今回は、コンパイルした sampleRom.mot を SH-2 内部の ROM に書き込む方法に付いて述べる。

Linux 専用の書き込みプログラムが無い
普段、Linux から、H8 や SH-2 に書き込む時は、Open SH/H8 writerを用いている。
ところが、これは、SH7050F や SH7045F には対応しているものの、今回使っている SH7144F には対応していない。

Open SH/H8 writer はソースも公開しているので、SH7144F 用に作り変える事も可能かと思ったが、意外と難しそうなので、諦めた。(誰か、お願い)

そこで、ちょっとインチキだが、Wine と Windows 用の書き込みソフトを使う手段を使った。

Wine
Wine は、Linux 上で、Windows のアプリケーションを動かすことができるエミュレーターだ。
まだ、正式リリース版では無いようだが、意外と色々なアプリケーションが動作する。
私の場合、3D 表示やサウンドを使った Windows アプリは動作しないが、ATI や nVIDIA のようなグラフィックカードを使っていれば、3D 表示の Windows アプリも動作するらしい。(サウンドの方は単なるセッティングの問題の可能性が高い)

今回は、フリーの Windows 用の書き込みソフトを試したところ、もちろん 3D 表示もサウンドも使っていないせいか、全く問題なく Wine の上で動作した。

まず、Wine のインストールだ。
ここから、Wine のソースをダウンロードする。Wine は毎週のように更新している。私が使ったバージョンは、wine-0.9.6.tar.bz2 だが、最新のものでも大丈夫だろう、確信は無いが。

次のような手順でインストールする。

$ bunzip2 < wine-0.9.6.tar.bz2 |tar xvf -
$ cd wine-0.9.6
$ ./configure
$ make depend
$ make
# make install

/etc/ld.so.conf に /usr/local/lib があることを確認。

# /sbin/ldconfig -v

$ winecfg
で、設定が行えるのだが、たぶん、デフォルトのままで良い。
$ winemine
とやって、ゲームが動けば、動作確認である。

フリーの Windows 用の書き込みソフト
H8ライター+H8工作+PIC工作から、H8W_036b.zip をダウンロードする。

$ unzip H8W_036b.zip
$ cd H8W
$ wine h8w.exe
これで、書き込みソフトが起動する。

・SH-2 ボード上のジャンパーを接続する。
・パソコンのシリアルポートと SH-2 ボードのシリアルポートをストレートケーブルで接続。
・SH-2 ボードの電源を入れる。
・書き込みソフトの「書き込み制御ファイル」で「7144_45_F48M_P384.MOT」を選択
・「COM Port」「COM1」
・「Baud (B)」「19200」
・「Baud (P)」「38400」
・「書き込むファイル」ボタンを押し、「目的となる sampleRom.mot」を選択する。
・「書き込み開始」ボタンを押す。
・しばらく、時間がかかるが、プログラムを書き込む事ができる。
・SH-2 ボードの電源を切る。
・書き込みソフトを終了。

動作試験
ターミナルソフトをインストールしていなければ、kermit をインストールしておこう。

# apt-get install ckermit 

~/.kermrc と言うファイルを作り、

set line /dev/ttyS0
set speed 38400
set carrier-watch off

$ kermit
で、kermit がスタートする。
C-Kermit>
と言うプロンプトが出たら、「c」とエンターでターミナルがスタートする。

・SH-2 ボード上のジャンパーを切る。
・パソコンのシリアルポートと SH-2 ボードのシリアルポートをストレートケーブルで接続。
・SH-2 ボードの電源を入れる。

これで、サンプルソフト(いわゆる哲学者の食事の問題)が、表示されれば、成功である。
なお、kermit を止めるには、コントロール+「\」に続いて、「c」を押し、

C-Kermit>
と言うプロンプトが出たら、「exit」とコマンドを入れる。

私のパソコンには、シリアルポートが付いており、全く問題なく、ROM にプログラムが書き込めた。
シリアルポートの無いパソコンの場合、USB 等のシリアルポートからプログラミングができるかどうかは試していない。誰か、やってみたら、結果を教えてほしい。

|

« SH-2 Linux上でのリアルタイム OS 開発環境 (その2 リアルタイムOS編) | Main | SH-2 Linux上でのリアルタイム OS 開発環境 (その4 ハードウェア操作編) »

Comments

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.



TrackBack

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/94422/12176888

Listed below are links to weblogs that reference SH-2 Linux上でのリアルタイム OS 開発環境 (その3 ROM 書き込み編):

« SH-2 Linux上でのリアルタイム OS 開発環境 (その2 リアルタイムOS編) | Main | SH-2 Linux上でのリアルタイム OS 開発環境 (その4 ハードウェア操作編) »