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

由良 修二

tag: 組み込み

技術解説 2008年3月11日

● 16ビットCPUにも対応した仕様の見直し

 μT-Kernelでは一部の型について明確に32ビットの整数として定義し直しました.T-Kernelは32ビット以上のCPUを前提に仕様が決定されているため,効率を重視してint型を利用していることが多いのですが,μT-KernelではCPUのビット幅を限定していないので,より明確に仕様を定義しなければT-Kernelとの互換性がとれなくなる場合があります.

 そこで,属性などT-Kernelとの互換性を確保しておかなければならない型についてはビット幅を明確に定義しました(リスト1).特に,TMOやRELTIMなどについては明確に32ビット幅にしておかないと,設定できる時間が著しく小さくなってしまうという問題が発生します.
リスト1 データ型の変更個所

list01_a.gif
(a)μT-Kernelにおけるデータ型の定義例

list01_b.gif
(b)T-Kernelにおけるデータ型の定義例

 一方でイベント・フラグのビット・パターンやメッセージのサイズのようにアプリケーションによって任意に設定できる部分については効率を重視してint型のままにしてあります.その結果,int型が16ビットの処理系では,転送するメッセージのサイズの最大値などが約32Kバイトに制限されることになるので,注意が必要です(リスト2).このような個所についてはμT-Kernel仕様書に「移植ガイドライン」を記載して注意を促しています.

list02_01.gif

リスト2 SVCのプロトタイプ宣言(syscall.h)

 μT-Kernelでは,以上のような調整を行うことで,T-Kernelとの高い互換性を保ちながらも,OSが必要とするROMやRAMのサイズを極限まで抑えられるようにしました(図9図10)

zu09_01.gif

図9 ROM使用量(ARM7TDMIで計測)
一番左側がデフォルト設定のT-KernelのROM使用量を表している.中央がμT-Kernelをフルセットで動作するように設定した場合のROMの使用量である.μT-KernelはフルセットでもT-Kernelの60%程度しかROMを使用しないことが分かる.
ただし,通常はフルセットで利用されることはない.μT-Kernelでは,使用しないオブジェクトは自動的にリンクされない構成になっているので,実際のシステムではさらにROMの使用量が下がることになる.
一番右側はμT-Kernelにおいて非常に簡単なアプリケーションを実装した場合のROMの使用量である.一つのタスクでディジタルI/Oを制御するだけの単純なアプリケーションであれば,OSのROM使用量を12Kバイト程度にすることも可能.

zu10_01.gif
図10 RAM使用量(ARM7TDMIで計測)
一番左側がデフォルト設定のT-KernelのRAM使用量を表している.中央がμT-Kernelをフルセットで動作するように設定した場合のRAMの使用量である.μT-Kernelはフルセットでも12.5KバイトしかRAMを使用しないことが分かる.ただし,通常はフルセットで利用されることはなく,実際のシステムではさらにRAMの使用量が下がることになる.
一番右側はμT-Kernelにおいて非常に簡単なアプリケーションを実装した場合のRAMの使用量である.一つのタスクでディジタルI/Oを制御するだけの単純なアプリケーションであれば,OSのRAM使用量を2.8Kバイト程度にすることも可能.

 ここまで省資源化を進めれば,1チップ・マイコン内蔵のROMとRAMだけで,OSを搭載した状態でアプリケーション動作が可能です.小規模システムは物理的にも小規模で,コストも抑える必要があります.コストを下げるには部品数を減らすのが一番であり,それには1チップ・マイコンが非常に有効です.最近の1チップ・マイコンは100Kバイトを超える容量のフラッシュROMを搭載しているものも多く,μT-Kernelを利用すれば余裕をもってアプリケーションを実装できます.しかも,RAMの容量もだんだんと大きくなってきている上,GPIOやA-Dコンバータ,D-Aコンバータ,UART,USBなどのインターフェースまで内蔵されるようになってきています.これらを進めていけば,いずれは1チップ・マイコンだけで製品が作れるようになる可能性もあります.μT-Kernelはこのように小規模システムでも利用可能なOSなのです.

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! 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日