« 折りペラを作る | Main | SH-2 Linux上でのリアルタイム OS 開発環境 (その1 クロスコンパイラ構築編) »

September 20, 2006

SH-2

E069先の三連休は、模型飛行機を飛ばしたくても、台風13号が近付いていって、とても飛ばせる天候では無かった。せっかく、ゴムを大量に購入して準備をしていたのだが、仕方が無い。

そこで、SH-2 のマイコンボードを作って遊んでいた。新たに購入したのでは無く、Interface 誌の 6 月号の付録である。最近の雑誌には、付録にマイコンとか FPGA が付いていて面白い。とは言え、付録の付いた雑誌は買うには買うが、実際に作って見ることは滅多に無い。2年も前のトランジスタ技術の付録の H8 基板も、そのままになっている。今回は、ちょっと必要に迫られたところもあって、Interface 誌の SH-2 基板を作ってみた。

作ったと言っても、QFP の CPU は既に半田付けしてあって、新たに半田付けするのは D-Sub 等のコネクタ類だけだ。こんな半田付けは、あっと言う間に終って、早速、電源を接続する。予め書き込んであるテストプログラムが走って、動作確認終了である。

まあ、ここまでは普通だが、Interface 誌の記事通りにしても面白くないので、開発環境は Linux 上に作った。
まずは、binutls や gcc を、SH-2 用にクロスコンパイルできるように構築した。この辺は、やりなれている作業なので、楽に進む。(ちなみに私のPCには、H8 や SH-3、Zaurus、PIC 用とクロス開発用のアセンブラやコンパイラが山ほど入っている。究め付けは FPGA 用の VHDL コンパイラだろう)

だが、この先で困った。コンパイルしたプログラムを SH-2 の ROM に書き込む方法が無いのだ。普段なら、Linux からは、「Open SH/H8 writer h8writer」と言うプログラムで書き込むのだが、このプログラムは、同じ SH-2 でも旧いタイプの 7045F までしか対応していない。今回使った Interface 誌の付録は、新しい 7144F なので、書き込めないのだ。
結局、ネット上を探しても Linux で使える 7144F 用のライティングプログラムは見付からなかった。また、「Open SH/H8 writer h8writer」のソースコードは公開されているのだが、簡単に改造できるようでは無かった。

そこで、ちょっとインチキな方法で書き込むことにした。H8W (H8ライター+H8工作+PIC工作)と言う Windows 用のライティングプログラムを使ったのだ。 Windows 用のライティングプログラムを、Wine で動かして、書き込みに成功したのだ。
Wine は、Linux 上で Windows アプリを動かすエミュレーターだが、簡単なソフトなら意外と使いものになる。
私の場合、3D 表示のソフトとサウンドを使ったソフトは動かない。今回は、シリアルポートを叩くソフトなので、ちょっと心配したが、問題なく動いた。なお、 Wine は、まだ正式リリース前で、毎週のようにバージョンアップしているが、私が使ったバージョンは、ちょっと前の 0.9.6 だ。(Linux の方は、もちろん Debian Linux 3.1 Sarge)

さらに調子に乗って、リアルタイム OS のポーティングにも挑戦した。
リアルタイムOS は、フリーの ITORN 仕様のHOS である。HOS-v4a には、元々、SH-2/SH7144F のサンプルが入っているのだが、あいにくモニター使用時用の RAM 上で動作するものであった。だが、ROM で使いたかったので、RAM 用のサンプルプログラムを元にネット上の情報を参考に ROM 化に成功した。
(この辺、要望があるようなら、ソースコードとか公開しようと思うが、どうでしょう?)

まあ、リアルタイム OS のポーティングを含めると三連休を、ちょっとハミ出たが、全く SH-2 を触った事がない時点から始めて、ここまでやったのだから早い方だろう。

さて、リアルタイム OS までポーティングしたのだから遊べるだろう。調べてみると SH-2/7144F は、シリアルポートが、4 チャンネルもあるので、これだけでも色々と試すことがありそうだ。

と言うわけだが、一体、何に「ちょっと必要に迫られた」のかは、少しだけ秘密である。

|

« 折りペラを作る | Main | SH-2 Linux上でのリアルタイム OS 開発環境 (その1 クロスコンパイラ構築編) »

Comments

> (この辺、要望があるようなら、ソースコードとか公開しようと思うが、どうでしょう?)

私もLinux環境下で、HOSを利用して動作させたいと
思っていますので、公開を希望します。

Posted by: cyam | October 03, 2006 at 02:46 PM

cyam さん、要望有難うございます。
三回か四回に分けて、Linux 上での SH-2 開発環境および HOS の ROM 化について説明したいと思います。
(誰からも要望が無かったら、どうしようかと思った)

Posted by: 野田篤司 | October 04, 2006 at 09:16 PM

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/11975198

Listed below are links to weblogs that reference SH-2:

« 折りペラを作る | Main | SH-2 Linux上でのリアルタイム OS 開発環境 (その1 クロスコンパイラ構築編) »