初出:2006年10月13日
既に述べてあるが、V4a だと周期ハンドラが無かったり、割込み処理でハングアップしたりと不安定な事が判った。同様のプログラムを、V4 で動かしたところ、全く問題なく安定して動作した。
どうも、V4a は開発途中で不安定なようだ。
と言うわけで、今回は、HOS のバージョンを V4 にする話だ。
HOSのダウンロードと解凍及びコンフィギュレーターとライブラリの構築
HOSから、h4_101a.tgzをダウンロード
$ cd ~/
$ tar zxvf h4_101a.tgz
$ cd hos-v4/config/
$ make -f gcc.mak
# cp hos4cfg /usr/cross/bin/
$ 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
SH7045用のサンプルプログラムを構築
$ cd ~/hos-v4/sample/sh2gcc/
ここで、gcc.makの中の
sh-hms-gccをsh-elf-gccに
sh-hms-arをsh-elf-arに
sh-hms-objcopyをsh-elf-objcopyに変更する。
また、sample.x に次の行を追加する。
<<< 最初略 >>>
.text :
{
_TEXT_START = . ;
*(.vector)
*(.text)
*(.strings)
*(.rodata)
*(.rodata.*) << この行を追加。
_TEXT_END = . ;
} > rom
<<< 最後略 >>>
$ make -f gcc.mak
なお、私は、SH7045 を持っていないので、上でコンパイルしたプログラムが動作するか確認していない。
ROM 化
「sh7144rom01.tar.gz」をダウンロード$ cd ~/hos-v4/sample/
$ tar zxvf sh7144rom01.tar.gz
$ cd sh7144rom01/
$ make -f make -f gcc.mak
できた sampleRom.mot を SH-2 ボードに書き込むと、「いわゆる哲学者の食事の問題」を実行する。
ハードウェア操作
「sh7144hw01.tar.gz」をダウンロード$ cd ~/hos-v4/sample/
$ tar zxvf sh7144hw01.tar.gz
$ cd sh7144hw01/
$ make -f make -f gcc.mak
できた sampleRom.mot を SH-2 ボードに書き込むと、ハードウェアを操作するプログラムを実行する。
注意
ブログのコンテンツの内、「告知」など時期よって情報価値が無くなるのは除いてある。また、コンテンツに付いたコメントは書き込み者に著作権があるものと判断し、ここに持ってきていないので、コメントを見るときは、元々のブログコンテンツを参照してもらいたい。
その他、ブログ発表後、コメントなどの内容を反映するなど、内容を変更しているものもあるので、注意してほしい。