

![]()
![]()
![]()
■対象マイコンと開発環境
| No. | RTOS名 | 対象マイコン | 使用実績マイコン | コンパイラ | パソコン、OS | ※1) タスクスケジュール |
※2)最少 RAMエリア |
※3)使用 ROMエリア |
※4)最大 タスク数 |
| 1 | MtOSM16 | R8C/1x M16C/TINYシリーズ |
R5F21154SP, M30290FCTHP |
HEW4 | WindowsXP | FCFSのみ | 256バイト | 4Kバイト | 12 |
| 2 | MtOSH8t | H8/300HTINYシリーズ | HD64F3687FP, HD64F3694F |
HEW4 | WindowsXP | FCFSのみ | 256バイト | 4Kバイト | 12 |
| 3 | MtOSH8S | H8S/2200シリーズ | HD64F2212F, HD64F2238BTE13 |
HEW4 | WindowsXP | 優先度順+FCFS | 512バイト | 6Kバイト | 32 |
| 4 | MtOS68k | 68k Family | MC68000, TMP68301 |
HiTeck-C | MS-DOS | 優先度順+FCFS | 1Kバイト | 10Kバイト | 32 |
| 5 | MtOSZ80t | Z80 Family | Z80CPU, TMPZ84C015, HD647180 |
ムサシテックCC8 | MS-DOS、 コマンドプロンプト |
FCFSのみ | 256バイト | 4Kバイト | 12 |
| . | ||
| 注記 | ※1) | 優先度順はタスク生成時にタスクごとに優先度を与えて、優先度の高いタスクが優先的に実行される。 |
| FCFS (First Come First Service)はREADYになった順に実行権を与える | ||
| 優先度の同じタスクではFCFSで実行される。 | ||
| ※2) | 最少RAMエリアはRTOSとデバッグモニタタスクが使用するRAMサイズである。 | |
| その他にアプリケーションタスクの外部変数エリアとタスクごとにスタックエリアが必要である。 | ||
| ※3) | 使用ROMエリアは RTOSとデバッグモニタタスクのプログラムサイズである。 | |
| ※4) | 最大タスク数はシステム規模から推測する目安である。 | |
| TSKID_MAXを変更すれば理論的には255まで可能である。 |
![]()
![]()
![]()
■システムコール一覧
| システムコール名 | 機能 | サポート状況 | プロトタイプ宣言 | 注記 | ||||
| MtOS68k | MtOSH8S | MtOSZ80t | MtOSH8t | MtOSM16 | ||||
| タスク管理機能 | タスク管理機能. | |||||||
| sta_tsk | タスクを起動する | ○ | ○ | ○ | ○ | ○ | ER sta_tsk(ID tskid); | . |
| ext_tsk | 自タスクを正常終了する | ○ | ○ | ○ | ○ | ○ | void ext_tsk(void); | . |
| ter_tsk | 他タスクを強制的に異常終了させる | ○ | ○ | ○ | - | - | ER ter_tsk(ID tskid); | . |
| chg_pri | タスク優先度を変更する | ○ | ○ | - | - | - | ER chg_pri(ID tskid, TPRI tskpri); | . |
| rot_rdq | タスクのレディキューを回転する | ○ | ○ | △1 | △1 | △1 | ER rot_rdq(TPRI tskpri); | △1 引数不要 rot_rdq(void); |
| get_tid | 自タスクのIDを得る | ○ | - | - | - | - | ER get_tid(ID *p_tskid); | . |
| tsk_sts | タスクの状態を見る | ○ | - | - | - | - | ER tsk_sts(UINT *p_tskstat, TPRI *p_tskpri, ID tskid); | . |
| タスク付属同期機能. | タスク付属同期機能 | |||||||
| slp_tsk | タスクを待ち状態へ移行する | ○ | ○ | △2 | ○ | ○ | #define slp_tsk() wai_tsk(TMO_FEVR) | △2 wai_tsk(TMO_FEVR); |
| wai_tsk | タスクを一定時間待ち状態に移行する | ○ | ○ | ○ | ○ | ○ | ER wai_tsk(TMO tmout); | . |
| wup_tsk | 待ち状態のタスクを起床する | ○ | ○ | ○ | ○ | ○ | ER wup_tsk(ID tskid); | . |
| can_wup | タスクの起床要求を無効にする | ○ | ○ | - | - | - | ER can_wup(INT *p_wupcnt, ID tskid); | . |
| イベントフラグ | イベントフラグ. | |||||||
| set_flg | 1ワードイベントフラグをセットする | ○ | - | - | - | - | ER set_flg(ID flgid, UINT setptn); | . |
| clr_flg | 1ワードイベントフラグをクリアする | ○ | - | - | - | - | ER clr_flg(ID flgid, UINT clrptn); | . |
| wai_flg | 1ワードイベントフラグを待つ | ○ | - | - | - | - | ER wai_flg(UINT *p_flgptn, ID flgid, UINT waiptn, UINT wfmode); | . |
| pol_flg | 1ワードイベントフラグを得る | ○ | - | - | - | - | ER pol_flg(UINT *p_flgptn, ID flgid, UINT waiptn, UINT wfmode); | . |
| flg_sts | 1ワードイベントフラグ状態を参照する | ○ | - | - | - | - | ER flg_sts(ID *p_wtskid, UINT *p_flgptn, ID flgid); | . |
| セマフォ | セマフォ. | |||||||
| sig_sem | セマフォに対する信号操作(V命令) | ○ | - | - | - | - | ER sig_sem(ID semid); | . |
| wai_sem | セマフォに対する待ち操作(P命令) | ○ | - | - | - | - | ER wai_sem(ID semid); | . |
| preq_sem | セマフォ資源を得る | ○ | - | - | - | - | ER preq_sem(ID semid); | . |
| sem_sts | セマフォ状態を参照する | ○ | - | - | - | - | ER sem_sts(ID *p_wtskid, INT *p_semcnt, ID semid); | . |
| メールボックス | メールボックス. | |||||||
| snd_msg | メイルボックスへ送信する | ○ | - | - | - | - | ER snd_msg(ID mbxid, T_MSG *pk_msg); | . |
| rcv_msg | メイルボックスからの受信を待つ | ○ | - | - | - | - | ER rcv_msg(T_MSG **ppk_msg, ID mbxid); | . |
| prcv_msg | メイルボックスから受信する | ○ | - | - | - | - | ER prcv_msg(T_MSG **ppk_msg, ID mbxid); | . |
| mbx_sts | メイルボックス状態を参照する | ○ | - | - | - | - | ER mbx_sts(ID *p_wtskid, T_MSG **ppk_msg, ID mbxid); | . |
| 割込み管理機能 | 割込み管理機能. | |||||||
| ent_int | 割込みハンドラに入る | ○ | ○ | △3 | - | - | void ent_int(void); | △3 割込処理の中で システムコールするときだけ |
| ret_int | 割込みハンドラから復帰する | ○ | ○ | △4 | - | - | void ret_int(void); | △4 割込処理の中で システムコールするときだけ |
| dis_int | 割込みを禁止する | △5 | △5 | ○ | ○ | ○ | void dis_int(void); | △5 chg_ims(6) と同じ |
| ena_int | 割込みを許可する | △6 | △6 | ○ | ○ | ○ | void ena_int(void); | △6 chg_ims(0) と同じ |
| chg_ims | 割込みマスク・レベルを変更する | ○ | ○ | - | - | ○ | INT chg_ims(UH); | . |
| ims_sts | 割込みマスク・レベルを参照する | ○ | ○ | - | - | ○ | INT ims_sts(void); | . |
| タイマー関数、変数 | タイマー関数、変数 | . | ||||||
| tick | インターバルタイマー割込処理 | ○ | ○ | ○ | ○ | ○ | void tick(void); | . |
| _TIME; | 起動後の10ミリ秒時間を示す変数 | ○ | ○ | ○ | ○ | ○ | extern UW _TIME; | . |
| MtOS独自の関数 | MtOS独自の関数. | |||||||
| cer_tsk | タスクの生成 | ○ | ○ | - | △7 | △7 | ER cre_tsk(ID tskid,FP stadr,UH stksz,TPRI itskpri); | △7 第4引数TPRIは不要。 cre_tsk(ID tskid,FP stadr,UH stksz); |
| sysini | システムの初期化 | ○ | ○ | - | ○ | ○ | void sysini(void); | . |
| syssta | システムの起動 | ○ | ○ | - | ○ | ○ | void syssta(void); | . |
| mtosz80 | z80システムの初期化と起動 | - | - | ○ | - | - | ER void mtosz80( CFGTBL *cfgtbl); | MtOSZ80独自の関数、 sysini(),syssta()の機能を持つ |
| ................................................... | ....................................................................................... | ...................... | ..................... | ...................... | ...................... | ...................... | ..................................................................................................................................... | ............................................................................................... |
![]()
![]()
![]()
■評価ボード
| �� | メーカー | 評価ボード | シリーズ | マイコン型名 | ROM | RAM | クロック | デバグモニタ I/F |
ROM Emulator | E8a | 備考 | 確 認 |
| 1 | Sunhayato | MB-R8 + SR8C15CP | R8C/1x | R5F21154SP | 16+2KB | 1KB | 20MHz | 9pRS | × | ○ | 1線 | ○ |
| 2 | RENESAS | RSK16C29 | M16C/TINY | M30290FCTHP | 128+4KB | 12KB | 20MHz | 10P | × | ○ | . | ○ |
| 3 | Sunhayato | MB-H8CQ | H8/300H TINY |
HD64F3694F | 32KB | 2KB | 20MHz | 9pRS | × | ○ | . | ○ |
| 4 | HOKUTO | TINYBB64E | H8/300H TINY |
HD64F3687FP | 56KB | 4KB | 20MHz | 3wRS | × | ○ | . | ○ |
| 5 | − | 自作BOARD | H8S/2200 | HD64F2238BTE13 | 256KB | 16KB | 11.059MHz | 9pRS | × | × | . | ○ |
| 6 | HOKUTO | HSB8S2212ST | H8S/2200 | HD64F2212F | 128KB | 12KB | 24MHz | 9pRS | × | × | USBデバイス | 未 |
| 7 | UMEZAWA | UEC-68K | 68k Family | TMP68301 | 64KB | 64KB | 16MHz | 3wRS | ○ | × | 外部メモリ | ○ |
| 8 | − | 自作BOARD | Z80 Family | TMPZ84C015 | 32KB | 32KB | 14.74MHz | 3wRS | ○ | × | 外部メモリ | ○ |
| ...... | ............................ | ...................................... | .................................. | ........................................ | ....................... | ................. | ........................ | .............................. | ........................... | ........ | .............................. | ................. |


| 更新 2010.1.26 |