|
リアルタイムOS
µMore(R)の概要
µMore(R)(マイクロモア)はµITRON 4.0スタンダードプロファイル仕様に準拠し、Easy Power Save省電力機能とAVE-TCPネットワークモジュール(IPv6対応)を搭載した、次世代携帯機器向けのリアルタイムOSです。ACCESSの情報家電向けブラウザ「NetFront」と組み合わせても、単独でも実装可能で、省資源、省電力、高性能な製品開発を実現します。SH-3 およびARM CPUの省電力機能を使用し、省電力モードの制御をすべてOSレベルで実現しているために、アプリケーションレベルの実装が不要です。
機能と特長
- µITRON 4.0スタンダードプロファイルに完全準拠
- 簡易省消費電力:Easy Power Save機能
システムタスクがアイドル状態の時に自動的にスリープモードに切替
- コンパクトなコードサイズ
ROMサイズ:7~9KB
※最小構成の場合[SH-3]
- システムコールをサブルーチンコールで実現し、
OSオーバーヘッドを軽減
タスクスイッチ:約6.8µsec 、
コンテキストスイッチ:約2µsec
(条件:SH7709A/133MHz動作/キャッシュオン)
- ID自動割付けによるオブジェクト(リソース)生成・削除機能
- 可変長メモリプール管理機能
- ハードリアルタイム対応機能
(ミューテクス、オーバーランハンドラ)
- メモリヒープ管理機能
- ネットワーク機能搭載(オプション)
AVE-TCP:高い信頼性と実績を誇る、IPv6対応組み込み向けTCP/IPプロトコルスタック
- 情報家電向けブラウザ「NetFront/Compact NetFront」をはじめとする、ACCESSの各製品と組み合せたトータルソリューション
<オプション>
- 組み込み向けWebサーバー「AVE-HTTPD」
- 組み込み向けファイルシステム「AVE-File」
SDK開発キット
SDK開発キットは、完全ソースコード提供の移植開発用パッケージです。PC上でのアプリケーション開発環境や、サンプルドライバ、テストプログラム、ドキュメント等を提供し、プラットフォームに応じたアプリケーションの開発と移植が可能です。
- 完全ソースコード提供
- ロイヤリティフリー
- ANSI仕様のC言語で記述され、さまざまなCPUに移植可能
SH-3 、SH-4 、ARM7TDMIで動作確認
- PCエミュレータの提供により、VC++を使用したアプリケーション開発とデバッグが可能
- OS/タスク動作解析ツール「MMSO」(Micro More System Observer)を標準パッケージ
- µITRON 4.0に準拠したグラフィカルなシステムコンフィグレータ
Easy Power Save機能
特長
- CPUの省電力機能を活用
(MS7709ASE01リファレンスボードの場合、消費電力を約1/2に削減)
- 省電力モードの制御はすべてOS側が行うため、
アプリケーション側に新たな作り込みは不要
- 発振安定化に待ち時間の必要なスタンバイモード使用を避け、オーバーヘッドを軽減
機能
- タイマ期限切れ待ちのタスクがある場合はスリープし、
割り込みの先頭で通常の動作モードに復帰
- タイマ期限切れ待ちのタスクがない場合にはタイマ割り込みを停止して、
さらに省電力効果UP
サービスコール機能
µITRON 4.0仕様の下記システムコールをサポートしています。
【S】:µITRON 4.0スタンダードプロファイル機能
【P】:µMore(R)の独自機能
空欄 :スタンダードプロファイル以外のµITRON機能
| acre_tsk |
タスクの生成(ID番号自動割付) |
|
| vdel_tsk |
(acre_tskで生成された)タスクの削除 |
【P】 |
| act_tsk |
タスクの起動 |
【S】 |
| iact_tsk |
タスクの起動(割込みハンドラ用) |
【S】 |
sta_tsk
|
タスクの起動(起動コード指定) |
|
| can_act |
タスク起動要求のキャンセル |
【S】 |
| ext_tsk |
自タスクの終了 |
【S】 |
| ter_tsk |
タスクの強制終了 |
【S】 |
| chg_pri |
タスク優先度の変更 |
【S】 |
| get_pri |
タスク優先度の参照 |
【S】 |
| ref_tsk |
タスクの状態参照 |
|
| slp_tsk |
起床待ち |
【S】 |
| tslp_tsk |
起床待ち(タイムアウトあり) |
【S】 |
| wup_tsk |
タスクの起床 |
【S】 |
| iwup_tsk |
タスクの起床(割込みハンドラ用) |
【S】 |
| can_wup |
タスク起床要求のキャンセル |
【S】 |
| rel_wai |
待ち状態の強制解除 |
【S】 |
| irel_wai |
待ち状態の強制解除(割込みハンドラ用) |
【S】 |
| sus_tsk |
強制待ち状態への移行 |
【S】 |
| rsm_tsk |
強制待ち状態からの再開 |
【S】 |
| frsm_tsk |
強制待ち状態からの強制再開 |
【S】 |
| dly_tsk |
自タスクの遅延 |
【S】 |
| def_tex |
タスク例外処理ルーチンの定義 |
|
| ras_tex |
タスク例外処理の要求 |
【S】 |
| iras_tex |
タスク例外処理の要求(割込みハンドラ用) |
【S】 |
| dis_tex |
タスク例外処理の禁止 |
【S】 |
| ena_tex |
タスク例外処理の許可 |
【S】 |
| sns_tex |
タスク例外処理禁止状態の参照 |
【S】 |
| acre_sem |
セマフォの生成(ID番号自動割付) |
|
| vdel_sem |
(acre_semで生成された)セマフォの削除 |
【P】 |
| sig_sem |
セマフォ資源の返却 |
【S】 |
| isig_sem |
セマフォ資源の返却(割込みハンドラ用) |
【S】 |
| wai_sem |
セマフォ資源の獲得 |
【S】 |
| pol_sem |
セマフォ資源の獲得(ポーリング) |
【S】 |
| twai_sem |
セマフォ資源の獲得(タイムアウトあり) |
【S】 |
| acre_flg |
イベントフラグの生成(ID番号自動割付) |
|
| vdel_flg |
(acre_flgで生成された)イベントフラグの削除 |
【P】 |
| set_flg |
イベントフラグのセット |
【S】 |
| iset_flg |
イベントフラグのセット(割込みハンドラ用) |
【S】 |
| clr_flg |
イベントフラグのクリア |
【S】 |
| wai_flg |
イベントフラグ待ち |
【S】 |
| pol_flg |
イベントフラグ待ち(ポーリング) |
【S】 |
| twai_flg |
イベントフラグ待ち(タイムアウトあり) |
【S】 |
| acre_dtq |
データキューの生成(ID番号自動割付) |
|
| vdel_dtq |
(acre_dtqで生成された)データキューの削除 |
【P】 |
| snd_dtq |
データキューへの送信 |
【S】 |
| psnd_dtq |
データキューへの送信(ポーリング) |
【S】 |
| ipsnd_dtq |
データキューへの送信(ポーリング、割込みハンドラ用) |
【S】 |
| tsnd_dtq |
データキューへの送信(タイムアウトあり) |
【S】 |
fsnd_dtq
|
データキューへの強制送信 |
【S】 |
| ifsnd_dtq |
データキューへの強制送信(割込みハンドラ用) |
【S】 |
| rcv_dtq |
データキューからの受信 |
【S】 |
| prcv_dtq |
データキューからの受信(ポーリング) |
【S】 |
| trcv_dtq |
データキューからの受信(タイムアウトあり) |
【S】 |
| acre_mbx |
メールボックスの生成(ID番号自動割付) |
|
| vdel_mbx |
(acre_mbxで生成された)メールボックスの削除 |
【P】 |
| snd_mbx |
メールボックスへの送信 |
【S】 |
| rcv_mbx |
メールボックスからの受信 |
【S】 |
| prcv_mbx |
メールボックスからの受信(ポーリング) |
【S】 |
| trcv_mbx |
メールボックスからの受信(タイムアウトあり) |
【S】 |
| acre_mtx |
ミューテックスの生成(ID番号自動割付) |
|
| vdel_mtx |
(acre_mtxで生成された)ミューテックスの削除 |
【P】 |
| loc_mtx |
ミューテックスのロック |
|
| ploc_mtx |
ミューテックスのロック(ポーリング) |
|
| tloc_mtx |
ミューテックスのロック(タイムアウトあり) |
|
| rel_mtx |
ミューテックスのロック解除 |
|
| acre_mpf |
固定長メモリプールの生成(ID番号自動割付) |
|
| vdel_mpf |
(acre_mpfで生成された)固定長メモリプールの削除 |
【P】 |
| get_mpf |
固定長メモリプールからのブロック獲得 |
【S】 |
| pget_mpf |
固定長メモリプールからのブロック獲得(ポーリング) |
【S】 |
| tget_mpf |
固定長メモリプールからのブロック獲得(タイムアウトあり) |
【S】 |
| rel_mpf |
固定長メモリプールへのブロック返却 |
【S】 |
| acre_mpl |
可変長メモリプールの生成(ID番号自動割付) |
|
| vdel_mpl |
(acre_mplで生成された)可変長メモリプールの削除 |
【P】 |
| get_mpl |
可変長メモリプールからのブロック獲得 |
|
| pget_mpl |
可変長メモリプールからのブロック獲得(ポーリング゙) |
|
| tget_mpl |
可変長メモリプールからのブロック獲得(タイムアウトあり) |
|
| rel_mpl |
可変長メモリプールへのブロック返却 |
|
| set_tim |
システム時刻の設定 |
【S】 |
| get_tim |
システム時刻の参照 |
【S】 |
| acre_cyc |
周期ハンドラの生成(ID番号自動割付) |
|
| vdel_cyc |
(acre_cycで生成された)周期ハンドラの削除 |
【P】 |
| sta_cyc |
周期ハンドラの開始 |
【S】 |
| stp_cyc |
周期ハンドラの停止 |
【S】 |
| def_ovr |
オーバランハンドラの定義 |
|
| sta_ovr |
オーバランハンドラの開始 |
|
| stp_ovr |
オーバランハンドラの停止 |
|
| rot_rdq |
タスクの実行順位の回転 |
【S】 |
| irot_rdq |
タスクの実行順位の回転(割込みハンドラ用) |
【S】 |
| get_tid |
実行状態のタスクID の参照 |
【S】 |
| iget_tid |
実行状態のタスクID の参照(割込みハンドラ用) |
【S】 |
| loc_cpu |
CPU ロック状態への移行 |
【S】 |
| iloc_cpu |
CPU ロック状態への移行(割込みハンドラ用) |
【S】 |
| unl_cpu |
CPU ロック状態の解除 |
【S】 |
| iunl_cpu |
CPU ロック状態の解除(割込みハンドラ用) |
【S】 |
| dis_dsp |
ディスパッチの禁止 |
【S】 |
| ena_dsp |
ディスパッチの許可 |
【S】 |
| sns_ctx |
コンテキストの参照 |
【S】 |
| sns_loc |
CPU ロック状態の参照 |
【S】 |
| sns_dsp |
ディスパッチ禁止状態の参照 |
【S】 |
| sns_dpn |
ディスパッチ保留状態の参照 |
【S】 |
| acre_isr |
割込みサブルーチンの生成(ID番号自動割付) |
|
| del_isr |
割込みサブルーチンの削除 |
|
| vchg_ims |
割り込みマスクの変更 |
【P】 |
| mm_vmhp_ini |
メモリヒープの初期化※ |
【P】 |
| mm_vget_mhp |
メモリヒープからのメモリブロックの獲得 |
【P】 |
| mm_vrel_mhp |
メモリヒープへのメモリブロックの返却 |
【P】 |
※mm_vmhp_iniは初期化ハンドラあるいはOSの初期化が終了するまでに一度だけアプリケーションからコールできる。
SDK開発キット概要
Demo PackageをACCESSホームページにて無料配布しています。(45日間試用)
移植および開発キット
SDK Source Package
- µMore(R) v4.0 SH-3版(ソース)
- µMore(R) v4.0 PCエミュレータ(ソース)
- MMSOシステムオブザーバ
- システムコンフィグレータ
- 機能確認アプリケーションプログラム(ソース)
- SH-3、SH-4、ARM7TDMI用サンプルプログラム(ソース)
- ドキュメント
- モデル限定の無制限コピーライセンス
- 3ヶ月無償サポート
- シュリンクラップ形式の契約書
動作確認環境
| CPU |
SH7709A(SH-3)/MS7709ASE01、SH7750(SH-4)/MS7750SE01、ARM7TDMI(ARM7)/TMC57B06xGNK |
| 開発環境 |
ルネサステクノロジ製 HEW v1.1a(SHC 5.1c)、ARM ADS 1.1およびSDT 2.51、MultiICE 1.4、Microsoft Visual C++6.0 、Computex製ROMICE 64+CSIDE95、Windows98/NT4.0/2000 |
|