マツド・サイエンス研究所

SH-2 Linux上でのリアルタイム OS 開発環境 (その4 ハードウェア操作編)

この週末も大風が吹いていて、模型飛行機は飛ばせない。引き続いて、SH-2 ボードでリアルタイム OS を使う方法の説明をしよう。

今回説明するのは、ハードウェアを直接叩く方法である。わざわざ、ROM 化したのは、IO ポートを沢山使うためだ。せっかくだから、その沢山使える IO ポートを使う方法を説明する。

簡単に試せるように、押しボタンスイッチと LED だけで作れるテスト回路を図に示した。

IO ポートは贅沢な使い方をしているが、説明のためである。

なお、押しボタンスイッチと C ポートや D ポートの間にある抵抗は、間違って、C ポートや D ポートをアウトプットに設定しても、SH-2 を壊さないようにする保護のためのものだ。

下が、サンプルプログラムだ。

「sh7144hw00.tar.gz」をダウンロード

(もし、ダウンロードしたファイルが「sh7144hw00.tar.gz.gz」になっていたら、「sh7144hw00.tar.gz」にリネームすること。)

次のような操作でコンパイルできる。

$ cd ~/hos/hos-v4a/sample/sh/
$ tar zxvf sh7144hw00.tar.gz
$ cd sh7144hw00/gcc/
$ make -f gmake.mak

ソースコード中、main.c の中で、RAM を読み書きするバスを全て IO ポートに使えるように設定している。今回の例では、 B ポートを出力に、C ポートと D ポートを入力に設定している。応用するときは、この辺を参考にしてみると良いだろう。

コードをコンパイルし、SH-2 ボードに書き込み、実行させると、シリアルポートに押しボタンスイッチの状態を表示すると共に、LED の点灯にも出力する。

また、SH-2 ボード上の LED も点滅させる。

簡単な例だが、HOS を使って、ハードウェアを操作させる方法の理解になれば、幸いである。

注意

ブログのコンテンツの内、「告知」など時期よって情報価値が無くなるのは除いてある。また、コンテンツに付いたコメントは書き込み者に著作権があるものと判断し、ここに持ってきていないので、コメントを見るときは、元々のブログコンテンツを参照してもらいたい。

その他、ブログ発表後、コメントなどの内容を反映するなど、内容を変更しているものもあるので、注意してほしい。