ホーム> 製品情報> 組み込み向けComponentWare> リアルタイムOS
 

リアルタイム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】

システム構成管理機能
ref_ver バージョン参照  

メモリヒープ管理機能
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