SH-2 Linux上でのリアルタイム OS 開発環境 (その5 HOSのバージョンをV4にする編)
既に述べてあるが、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 ボードに書き込むと、ハードウェアを操作するプログラムを実行する。
« ココログのファイル管理 | Main | 告知 »
The comments to this entry are closed.
Comments
ソース公開、ありがとうございます。
自分の環境でも動作出来ました。
内蔵RAMが小さいのでちょっとしたSH2の確認用に使用させてもらっています。HOS-V4は以前から使っていたので資産流用が出来て良かったです。(^^)
私の方は、sh-hms-gccな古い環境が既にあったので、それを使いました。
Posted by: cyam | October 27, 2006 09:20 AM
cyam さん、使ってくれて、どうも有り難うございます。
SH7144F の内蔵 RAM は、8Kしかありませんから、本当に、もうちょっとあれば良いですね。内蔵 ROM の方は 256K もあるので、普通に使う分には十分なんですが。
128K とかは、言いませんから、せめて 32K か 64K は欲しいですね。
とは言え、昔の PET が 4K、PC-8001 が 16K しか標準で RAM 持って居なかった事を考えると、贅沢といえば贅沢ですが。
Posted by: 野田篤司 | October 28, 2006 10:47 AM