« ココログのファイル管理 | Main | 告知 »

October 13, 2006

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 | 告知 »

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

The comments to this entry are closed.

TrackBack


Listed below are links to weblogs that reference SH-2 Linux上でのリアルタイム OS 開発環境 (その5 HOSのバージョンをV4にする編):

« ココログのファイル管理 | Main | 告知 »