μITRON仕様準拠 リアルタイム・マルチタスクOS

REALi/SH

フリーウェア

REALi/SHは2002年5月31日に販売終了後、フリーウェアとなりました。

詳しくはこちらをご覧ください。

REALiは、μITRON仕様に準拠した組込み用途向けのリアルタイム・マルチタスクOSでバージョン2.0仕様のシステムコールのほとんどを提供します。 カーネルはほとんどがC言語で記述されているため高い移植性と信頼性を実現しています。

民生機器、OA機器、AV機器、FA機器、車載機器、通信機器、ロボット機器、医療機器、産業機器、インターネット機器など幅広い分野に適用できます。


  リアルタイムの複雑な制御、多彩なニーズにお応えします!
  C言語インタフェースを用いることで、アセンブラ・Cの両言語で開発が可能!
  低価格でロイヤリティフリー、ドライバライブラリをOSと同時に提供

特長

システムコール一覧

(1) システム管理機能
1. ini_sys (Init System) システムを初期化する
2. sta_sys (Start System) マルチタスクを開始する
3. ext_sys (Exit System) マルチタスクを終了する

(2) タスク管理機能
1. cre_tsk,xcre_tsk (Create Task) タスクを生成する
2. sta_tsk (Start Task) タスクを起動する
3. del_tsk (Delete Task) タスクを削除する
4. ext_tsk (Exit Task) 自タスクを正常終了する
5. exd_tsk (Exit and Delete Task) 自タスクを正常終了後、削除する
6. ter_tsk (Terminate Task) 他タスクを強制的に異常終了させる
7. chg_pri,ichg_pri (Change Priority) タスク優先度を変更する
8. rot_rdq,irot_rdq (Rotate Ready Queue) タスクのレディキューを回転する
9. rel_wai,irel_wai (Release Wait) タスクの待ち状態を強制解除する
10. get_tid (Get Task Identifer) 自タスクのIDを得る
11. tsk_sts (Get Task Status) タスクの状態を見る

(3) タスク付属同期機能
1. sus_tsk,isus_tsk (Suspend Task) タスクを強制待ち状態へ移行する
2. rsm_tsk,irsm_tsk,frsm_tsk (Resume Task) 強制待ち状態のタスクを再開する
3. slp_tsk (Sleep Task) タスクを待ち状態へ移行する
4. wai_tsk (Wait for Wakeup Task) タスクを一定時間待ち状態に移行する
5. wup_tsk,iwup_tsk (Wakeup Task) 待ち状態のタスクを起床する
6. can_wup (Cancel Wakeup Task) タスクの起床要求を無効にする

(4) 同期・通信機能・イベントフラグ
1. set_flg,iset_flg (Set EventFlag) 1ワードイベントフラグをセットする
2. clr_flg (Clear EventFlag) 1ワードイベントフラグをクリアする
3. wai_flg (Wait EventFlag) 1ワードイベントフラグを待つ
4. pol_flg(Poll EventFlag) 1ワードイベントフラグを得る
5. flg_sts (Get EventFlag Status) 1ワードイベントフラグ状態を参照する

(5) 同期・通信機能・セマフォ
1. sig_sem,isig_sem (Signal Semaphore) セマフォに対する信号操作
2. wai_sem (Wait on Semaphore) セマフォに対する待ち操作
3. preq_sem (Poll and Request Semaphore) セマフォに資源を得る
4. sem_sts (Get Semaphore Status) セマフォ状態を参照する

(6) 同期・通信機能・メールボックス
1. cre_mbx,xcre_mbx (Create Mailbox) メールボックスを生成する
2. snd_msg,isnd_msg (Send Message to Mailbox) メールボックスへ送信する
3. rcv_msg (Receive Message from Mailbox) メールボックスからの受信を待つ
4. prcv_msg (Poll and Receive Message from Mailbox) メールボックスから受信する
5. mbx_sts (Get Mailbox Status) メールボックス状態を参照する

(7) 割り込み管理機能
1. def_int (Define Interrupt Handler) 割り込みハンドラを定義する
2. ret_int (Return from Interrupt Handler) 割り込みハンドラから復帰する
3. chg_ims (Change Interrupt Mask) 割り込みマスクを変更する
4. ims_sts (Get Interrupt Mask Status) 割り込みマスクを参照する

(8) メモリプール管理機能
1. cre_mpl,xcre_mpl (Create Memory Pool) メモリプールの生成
2. get_blk (Get Memory Block) 固定長メモリブロックの獲得待ちを行う
3. pget_blk (Poll and Get Memory Block) 固定長メモリブロックを獲得する
4. rel_blk (Release Memory Block) 固定長メモリブロックを返却する
5. mpl_sts (Get MemoryPool Status) メモリプールの状態を参照する

(9) 時間管理・タイマハンドラ機能
1. set_tim (Set Time) システムクロックを設定する
2. get_tim (Get Time) システムクロックの値を読み出す
3. def_cyc (Define Cyclic Handler) 周期起動ハンドラを定義する
4. act_cyc (Activate Cyclic Handler) 周期起動ハンドラの活性制御を行なう
5. cyh_sts (Get Cyclic Handler Status) 周期起動ハンドラの状態を参照する
6. def_alm (Define Alarm Handler) アラームハンドラを定義する
7. alh_sts (Get Alarm Handler Status) アラームハンドラの状態を参照する
8. sys_clk (Count System Clock) 待ちに対するタイマ処理
9. sys_tim (Count System Timer) 周期起動・アラームハンドラのタイマ処理

システムコール一覧

(1) シリアル通信ライブラリ
1. AP_SioOpen SIOをオープンする
2. AP_SioClose SIOをクローズする
3. AP_SioPutc SIOに一文字送信する
4. AP_SioPuts SIOに文字列を送信する
5. AP_SionPuts SIOにnバイト文字列を出力する
6. AP_SioGetc 受信バッファから一文字取り出す
7. AP_SioSte ステータス情報を得る
8. AP_SioRx 受信割り込みの制御をする
9. AP_SioTx 送信割り込みの制御をする
10. IntSnd 送信割り込み処理
11. IntRcv 受信割り込み処理
12. IntREr 受信エラー割り込み処理

(2) FlashROMライブラリ
1. AP_FIReset FlashROMのリセットをする
2. AP_FISignature FlashROMのシグネチャコードを取得する
3. AP_FIErsChip FlashROMのチップ消去をする
4. AP_FIErsSect FlashROMのセクタ消去をする
5. AP_FIWrtW FlashROMへワード書き込みをする
6. AP_FIWrtWBlk FlashROMへブロック単位のワード書き込みをする
7. AP_FIChkClr FlashROMのイレースチェックをする


ダウンロード

○ 無償版ダウンロード
  技術コラムへ

○ Q&A
  REALi/SH

REALi/SHのダウンロード