■対象マイコンと開発環境

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