最新T-Kernelの活用テクニック(1) ―― 小規模システム向けμT-Kernelとは何か

由良 修二

tag: 組み込み

技術解説 2008年3月11日

2. μT-KernelとT-Kernelの違い

● μT-Kernelの設計方針

 μT-Kernelは小規模な組み込み機器への適用を前提に設計されているので,大規模システム用としてT-Kernelに用意されていた機能のほとんどが省略されています.

 μT-Kernelでは,以下の環境を想定しています.

  • 対象CPUはMMUなし
  • 1チップ・マイコンの内蔵資源だけでも動作する
  • CPUごとの最適化を前提とする
  • 16ビット,8ビットCPUを意識した仕様とする

 μT-Kernelが対象としている16ビットと8ビットのCPUではMMUは搭載されないことが多く,かつ,機器としてもほとんどが単機能となるため,アプリケーションの動的なロードやコンフィギュレーションの動的な変更は必要ありません.小規模な組み込み機器においては少しでも資源を減らすことの方がより重要です.

 特に,μT-Kernel設計の初期段階で与えられた使命として,「1チップ・マイコンの内蔵資源のみで動作可能であること」があります注2 .1チップ・マイコンの内蔵ROMと内蔵RAMの容量は数Kバイト~数十Kバイトと少ないのが一般的なので,μT-Kernelもそれだけのサイズで動作できるように設計されています.

注2;具体的には,H8S/2212を搭載したDiceと呼ばれるボードに対応させることになった(写真1).H8S/2212は内蔵ROMが128Kバイト,内蔵RAMが12Kバイトである.T-Kernelでさえコード・サイズは100Kバイト程度しか必要としないので,ROMサイズは特に問題にならない.しかしRAMが12Kバイトというのはかなり厳しいものがある.

pic01_01.jpg
写真1 H8S/2212を搭載したボード「Dice」

● μT-Kernelの実装 とT-Kernelとの違い

 μT-KernelはMMUを利用せず,拡張用のT-Kernel/Extensionを利用しないことが前提となっています.そのため,T-Kernel/System Managerの大部分とタスク付属同期に含まれるタスク・イベントに関する処理や待ち禁止などの拡張機能が省略されています(表1)

機 能 μT-Kernel T-Kernel μITRON4.0
タスク管理 〇*1 〇*2
タスク付属同期 〇*1 〇*2
タスク例外処理 ×
同期・通信 セマフォ イベント・フラグ データ・キュー メール・ボックス ○ ○ × ○ ○ ○ × ○ ○ ○ ○ ○
拡張同期・通信 ミューテックス メッセージ・バッファ ランデブ・ポート ○ ○ ○ ○ ○ ○ ○ ○ ○
メモリ・プール管理 固定長メモリ・プール 可変長メモリ・プール ○ ○ ○ ○ ○ ○
時間管理 システム時刻管理 周期ハンドラ アラーム・ハンドラ オーバラン・ハンドラ ○ ○ ○ × ○ ○ ○ × ○ ○ ○ ○
システム状態管理 〇*1
割り込み管理 〇*1
サービス・コール管理 × ×
システム構成情報管理 × ×
サブシステム管理 〇*1 ×
システム・メモリ管理 × ×
アドレス空間管理 × ×
デバイス管理 ×
I/Oポート・アクセス・サポート × ×
低消費電力 × ×
表1 μT-Kernel機能一覧 *1:T-Kernelと比較して一部の機能が省略されている.例えば,タスク管理機能におけるタスク固有空間の設定・参照など *2:T-Kernelと比較した場合に一部の機能が定義されていないことを示している(μITRON 4.0では〇となっている機能であっても,必ずしもT-Kernelと同等の機能が用意されているとは限らないので,注意すること)

 その一方で,μT-Kernelではサブセットの実装を認めていません.仕様書に規定されている機能はすべてサポートしています.もし,「μT-Kernel」と銘打ったOSを入手したなら,これらの機能をすべてサポートしているので,μITRONで問題になった「サブセット実装による移植性の低下」は発生しません.

● T-Monitorを前提としない

 T-MonitorはT-Engineのハードウェアの違いを吸収するモニタ・プログラムです.T-MonitorはT-EngineやT-Kernelそのもののデバッグにも利用できますし,同じモニタ・コマンドがどのCPUボードでも利用できるといった教育効果もあるため,標準化の意義は大きいと思います.

 一方で,μT-Kernelは実行プラットホームとしての意味合いが強く,ハードウェアに強く影響される部分については標準化よりは最適化を重視するべきという立場から,T-Monitorは実装されていなくても動作するようになっています注3 .なお,μT-Kernelでは,T-Monitorのデバッグ機能はデバッガ(ICE)を利用することを前提としています.

注3;当然,十分なCPUパワーを確保できるシステムであればT-Monitorがあった方が便利である.T-Monitorを利用する構成にしてはならないという意味ではないので,注意すること.

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! FPGAマガジン No.12『ARMコアFPGA×Linux初体験』好評発売中

FPGAマガジン No.11『性能UP! アルゴリズム×手仕上げHDL』好評発売中! PDF版もあります

PICK UP用語

EV(電気自動車)

関連記事

EnOcean

関連記事

Android

関連記事

ニュース 一覧を見る
Tech Villageブログ

渡辺のぼるのロボコン・プロモータ日記

2年ぶりのブログ更新w

2016年10月 9日

Hamana Project

Hamana-8最終打ち上げ報告(その2)

2012年6月26日