マツドサイエンティスト・研究日誌 保存版
SH-2 Linux上でのリアルタイム OS 開発環境 (その4 ハードウェア操作編)

初出:2006年10月08日 元々のブログ・コンテンツへのリンク
カテゴリーのインデックス: パソコン・インターネット
シリーズのインデックス: SH-2・リアルタイム OS Linux

この週末も大風が吹いていて、模型飛行機は飛ばせない。引き続いて、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 を使って、ハードウェアを操作させる方法の理解になれば、幸いである。
inserted by FC2 system