沼津高専 電子制御工学科
ソフトウェア調査報告書
MIRS9903-TECH-0003
改訂記録
版数
作成日
作成者
承認
改訂内容
提出先
A01
1999.12.16
岡本
小杉
初版
1.開発環境
MIRSのソフトウェアは、通常「MIRX68K」を用いて開発される。MIRX68Kとは、MIRS専用のリアルタイムモニタであり、タイマや外部からの割り込み要求信号(例外処理)などで起動される複数のタスクを管理する。
2.MIRX68Kでのソフトウェア開発
ソフトウェアの開発をする上でまず、タスクについて説明する。
タスクとは、プログラムをいくつかの処理単位に分割したもの一つ一つをいい、それぞれのタスクには、プログラム中での事象により行われる処理(ノーマル処理)、一定の時間周期で行われる処理(タイマ処理)、非同期で発生する外部信号による割込み要求によって行われる処理(割込み処理)がある。
CPUが一つしかない場合に、プログラム実行中に全てのタスクを同時に動作させることはできない。それぞれのタスクは、
Ready:CPUが空くのを待っている状態。
Wait:実行されたタスクが何らかの事象を待つ状態。ある条件が成立するまで待ち、成立するとレディ状態になる。
Dormant:休止している状態。他のタスクによって起動されて、レディ状態になる。
Running:タスクが実行されている状態。
の4つの状態で管理され、システムの実行に伴って各遷移条件に従って状態が変化する。
詳細は、
ここ
を参照。
MIRX68Kには、ユーザに対して
システム・コール関数
が用意されており、タスクのイニシャライズやタイマ割l込みの登録などはそれらを用いて行われる。また、MIRSのハードウェアを操作する場合には
ハードウェア関数
を使用する。この際、それぞれのヘッダーファイルをタスク内で、インクルードする必要があるが、詳しくは
ここ
を参照。
プログラムを開発する際には、フローチャート等を作りプログラムの構造を理解することや、プログラムにコメントをつけ、他の人が見ても理解しやすいよう配慮することが重要である。また、念のためにバックアップを取っておくこと。