沼津高専 電子制御工学科
ソフトウェア調査報告書
MIRS9903-TECH-0003
改訂記録
版数 作成日 作成者 承認 改訂内容 提出先
A01 1999.12.16 岡本 小杉 初版


1.開発環境

MIRSのソフトウェアは、通常「MIRX68K」を用いて開発される。MIRX68Kとは、MIRS専用のリアルタイムモニタであり、タイマや外部からの割り込み要求信号(例外処理)などで起動される複数のタスクを管理する。

2.MIRX68Kでのソフトウェア開発

ソフトウェアの開発をする上でまず、タスクについて説明する。

タスクとは、プログラムをいくつかの処理単位に分割したもの一つ一つをいい、それぞれのタスクには、プログラム中での事象により行われる処理(ノーマル処理)、一定の時間周期で行われる処理(タイマ処理)、非同期で発生する外部信号による割込み要求によって行われる処理(割込み処理)がある。
CPUが一つしかない場合に、プログラム実行中に全てのタスクを同時に動作させることはできない。それぞれのタスクは、

Ready:CPUが空くのを待っている状態。
Wait:実行されたタスクが何らかの事象を待つ状態。ある条件が成立するまで待ち、成立するとレディ状態になる。
Dormant:休止している状態。他のタスクによって起動されて、レディ状態になる。
Running:タスクが実行されている状態。

の4つの状態で管理され、システムの実行に伴って各遷移条件に従って状態が変化する。

詳細は、 ここを参照。

MIRX68Kには、ユーザに対してシステム・コール関数が用意されており、タスクのイニシャライズやタイマ割l込みの登録などはそれらを用いて行われる。また、MIRSのハードウェアを操作する場合にはハードウェア関数を使用する。この際、それぞれのヘッダーファイルをタスク内で、インクルードする必要があるが、詳しくはここを参照。

プログラムを開発する際には、フローチャート等を作りプログラムの構造を理解することや、プログラムにコメントをつけ、他の人が見ても理解しやすいよう配慮することが重要である。また、念のためにバックアップを取っておくこと。