« SH-TINY その2 | Main | SH-TINY その4 秋月のグラフィック液晶で漢字を表示 »

July 08, 2007

SH-TINY その3 リアルタイム OS

ちょっと間が開いたが、SH-TINY にリアルタイム OS の HOS-V4 を載せる話題だ。
実は私よりも先に、適当電子工作研究所SH/TinyにHOS-V4を載せようと言うコンテンツで、SH-TINY に HOS-V4 を載せる話が公開されている。このコンテンツの場合、アルファプロジェクトのSH/Tiny基板に、ルネサス純正のコンパイラの SHC 体験版を使って、HOS-V4 を入れる方法が書いてある。(コンパイラについては推測)
今回、私は、秋月の SH-TINY チップを使った自作マイコンに gcc を使って HOS-V4 をインストールしたのだが、適当電子工作研究所のコンテンツが大変参考になった。このコンテンツが無かったら、今ごろ、泥沼に陥っていたかも知れない。「適当電子工作研究所」の hamayan さんに感謝、感謝である。

さて、何がそんなに参考になったかと言うと、SH-TINY の CPU 部分は、SH-2 と全く同じでは無く、微妙に違う部分がある。具体的に言うと、「スロット不当命令例外処理に関する注意事項」である。正直、当初これは全く把握していなかった。HOS-V4 では、タスク切替えに、この機能を使っているので、気が付かなかったら、混乱していたと思う。
その他、 例外処理ベクタが増えていたり、メモリーや周辺機器のアドレスが変更になっている。

この中で、「スロット不当命令例外処理」と「例外処理ベクタ」の変更部分は、HOS-V4 のカーネル自体に変更が必要にある。以前の私のコンテンツを参考にした人も居るかもしれないが、ここでは改めて、最初から、SH-TINY 用に HOS-V4 をインストールする方法を示そう。


HOSのダウンロードと解凍及びコンフィギュレーターとライブラリの構築
HOSから、h4_101a.tgzをダウンロード
sh2gcc.tgzをダウンロード

$ cd ~/
$ tar zxvf h4_101a.tgz
$ cd hos-v4/config/
$ make -f gcc.mak
# cp hos4cfg /usr/cross/bin/
$ cd ../src/sh
$ rm -rf sh2gcc
$ tar zxvf sh2gcc.tgz
$ cd ../../lib/sh/sh2gcc/

ここで、h4sh2.makの中の

sh-hms-gccをsh-elf-gccに
sh-hms-arをsh-elf-arに
sh-hms-ranlibをsh-elf-ranlibに変更する。

$ make -f h4sh2.mak

サンプルプログラムのROM 化
sh7125test.tgzをダウンロード

$ cd ~/hos-v4/sample/
$ tar zxvf sh7125test.tgz
$ cd sh7125test/
$ make -f gcc.mak

できた sampleRom.mot を SH-TINY ボードに書き込むと、「いわゆる哲学者の食事の問題」を実行する。

|

« SH-TINY その2 | Main | SH-TINY その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/15695074

Listed below are links to weblogs that reference SH-TINY その3 リアルタイム OS:

« SH-TINY その2 | Main | SH-TINY その4 秋月のグラフィック液晶で漢字を表示 »