次世代マイコン技術者のための教育用ボードコンピュータの開発
中嶋 勝也*

1.

伊藤 恵司*緒 言
近年の電子技術及びマイクロ・コンピュータ(以下マイコン)技術の急速な発展にともない,マイコン・システム開発に従事する技術者も,より高度で広範囲な知識を要求される状況になっている。
しかし一方ではソフトウェアとハードウェアの分業化が進み,幅広い知識を持った技術者の丌足が深刻化している。
このような状況に対応した技術者育成を図るために,マイコン関連の業務に携わる,あるいは携わろうとする技術者の教育を目的に,その教材となるボート・コンピュータおよびソフトウェア開発環境の検討と試作を行ったので報告する。
なお本研究開発に当たっては,工業技術振興基金産学官共同研究制度を利用し, システム・プロダクト(株)との共同研究を平成3 年度から平成4 年度にかけて実施した。ハードウェアの開発をシステム・プロダクトが,またソフトウェアの開発を工業技術センターが主に担当した。

2.

基本設計
従来の教育用ボート・コンピュータは, 8 ビットCPU を使用したものが主流であった。これに対して,次世代の技術者に対する教育を行うという観点から,ハードウェア的には高性能なCPU を登載すること, ソフトウェア的にはC 言語による開発を基本とすること, またリアルタイムOS を登載することを念頭に,次のような基本設計を行った。
(1) ハードウェア仕様① 高性能の32 ビットCPU を登載する。
② C 言語による開発に十分対応できるよう,大容量メモリを登載する。
③ 動作の理解を補助するためのスイッチ, LED,テスト端子等を設ける。
④ 外部のパソコンとのインターフェースを持つ。
⑤ 拡張性を考慮し,汎用のバス・インターフェースを設ける。
⑥ 拡張ボードにはアナログ入出力回路およびモータ制御回路を搭載する。
(2) ソフトウェア仕様① リアルタイム・マルチタスクOS を組み込む。
② メモリ内容の表示/書換機能,プログラムの実行/停止などのデバッグ機能を持たせる。
③ 外部のパソコン等によるクロス開発環境を構築する。
④ これらのソフトウェアは極力C 言語によって開発し,可読性,移植性の高いものとする。

*機械金属部 **システム・プロダクト株式会社

茨城県工業技術センター研究報告第 21 号

3. ハードウェア
ハードウェアは, 2.で示した基本仕様をもとにCPU ボート及び拡張インターフェース・ボードを,それぞれ設計・試作した。ハードウェア
全体の構成を図1 に,CPU ボーの仕様を表1 に,また拡張インターフェース・ボートの仕様を表2 にそれぞれ示す。
これらのボードはユーロカード・サイズ(ダブル・ハイト)を採用しており,市販のVME バス・ケージに実装することができる。またケージがなくても使用できるよう, 2 枚のボートをコネクタで接続し,外部電源によって利用することも可能である。

表1:CPU ボートの仕様

図1:教育用ボート・コンピュータの構成

表2:拡張ボードの仕様

茨城県工業技術センター研究報告第 21 号

4.

ソフトウェア本システムの開発にあたっては,ハードウェアとともに,教育に必要となると思われる基本ソフトウェアとデバッグ・モニタの開発を行った。
基本ソフトウェアとしてはリアルタイム・マルチタスクOS を, またデバッグ・モニタとしてリモート・モニタを開発した。これらのソフトウェアは,以前に8 ビット・マイコン用として開発したものを参考に,大幅な改良と機能の向上を図ったものである。
これらを3.で示したハードウェアに登載することにより,パソコンをホスト・コンピュータとしたクロス開発環境,およびリアルタイム・マルチタスク・システムの開発環境が構築できた。

4.1 リアルタイムOS
目的としている教育の対象者は,機器組み込み型のマイコン・システム開発技術者である。マイコンを制御目的で利用する場合には,外部で発生した事象に即座に反応できるようなプログラミングを行わなければならない。このような機能を実現する場合には,より汎用的な手段として, リアル
タイムOSとよばれる基本ソフトが用いられる。
マイコン・システムの機能がますます向上している現在,小規模なワンチップ・マイコン・シス
テムから大規模なシステムまでリアルタイムOS の用途がますます広がると考えられる。このため,
本システムにおいてもこれを登載し教育に活用できる環境を構築することとした。
ここで必要なリアルタイム0 S は教育用である点を考慮し,市販のものではなくμITRON 仕様のものを開発することとした。これは,財団法人
トロン協会で作成されたリアルタイムOS の仕様であり,仕様書が容易に入手できる,参考となる出版物が多い,教育的な配慮がなされているなどの利点がある。
リアルタイムOS 上では,プログラムは複数のタスクとよばれる実行単位で管理され, それぞれのタスクは図2 に示した状態を遷移しながらリアルタイム・マルチタスク動作を行う。

図2 : ITRONにおけるタスクの状態遷移

なお,μITRON 仕様では未登録状態は定義されていないが,パソコンからのダウン・ロードによる実行を考慮し, この状態を設けることとした。

茨城県工業技術センター研究報告第 21 号

μITRON 仕様では非常に多くのシステム・コールが定義されているが, これらの中で① タスク管理機能② 同期・通信機能(イベント・フラグ,セマフォ,メイルボックス等の機能)③ 割り込み管理機能④ 時間管理・タイマハンドラ機能を実現するためのシステム・コールを中心に開発を行った。
また, リアルタイムOS 自体の構造の学習にも利用でき,さらに他のCPU への移植が容易であるよう,極力C 言語によって記述を行った。

4.2 デバッグ・モニタ
デバッグ・モニタは, 従来から開発を行ってきたリモート・モニタをリアルタイムOS 環境下で使用できるよう改良を加え,さらにC 言語によって記述を行ったものである。
リモート・モニタでは,デバッグを行うためのプログラムがホスト・コンピュータ(パソコン)側とターゲット(ボード・コンピュータ)側の両方に登載され, これらが協調して動作している。
パソコン側のプログラムに対しては,教育用という観点から主にユーザ・インターフェースの改良を行った。また, ターゲット側のプログ
ラムはリアルタイムOS に管理される優先度の最も高いタスクとして動作させることとした。
さらにリアルタイムOS 上で動作しているタスクをデバッグするために, システム・コールをパソコン側から発行する機能, リアルタイム
OS の各種管理テーブルを参照する機能等を両者に追加した。
このリモート・モニタでユーザが利用できるデバッグ・コマンドの一覧を,表3 に示す。

表3:リモート・モニタのデバッグ機能

茨城県工業技術センター研究報告第 21 号

5.結 言
マイコン・システム開発技術者の教育を目的としたボート・コンピュータおよびソフトウエアの検討と開発を行い,32 ビットCPU ボードと拡張インターフェース・ボード,及びリアルタイム・マ
ルチタスクOS,デバッグ・モニタを開発した。これらの開発により,パソコンをホスト・コンピュータとしたクロス開発環境,及びリアルタイム・マルチタスク・システムの開発環境が構築された。今後は, これらの教材を利用した効率的な教育カリキュラムの検討と資料の充実を図り, マイコン・システム開発技術者の教育に利用したい。

参考文献
1) 「MC68020 ユーザーズ・マニュアル」モトローラ, CQ 出版
2) 「ITRON 入門」林 他, TRONWARE VOL.8 パーソナルメディア
3) 「マルチタスク・プログラミング入門」宮崎 他, トラ技コンピュータ1992.1
4) 「ITRON ・μITORN 標準ハンドブック」坂村 健 監修,パーソナルメディア
5) 「ITRON・μITORN 標準ガイドブック'92-'93」坂村 健 監修,パーソナルメディ