
国内における組込みRTOS用のカーネル仕様は、ITRON系が6割ものシェアを持ちます。ITRONは、OS仕様が特定の会社の利益や特定の国の政策に縛られず、仕様もオープンのため利用者が手を加えられることができます。そのため、産業機器は勿論、炊飯器・洗濯機・カメラ・ゲーム機など日本メーカーの家電製品に搭載されたマイコンを制御を目的とした組込み用OSとして広く普及しました。ITRON系OSは大きく分けて『μITRON(マイクロアイトロン)』と『T-Kernel(ティーカーネル)』があります。 本記事では、『μITRON』と『T-Kernel』について、共通点や違いを比較することで、それぞれの特徴について理解を深めることを目的とします。
μITRONとT-Kernel のあゆみ
μITRONとT-Kernelのあゆみを年表で下図に示します。※クリックで拡大
μITRONとT-KernelはTRON系のOSで、いずれもITRON(アイトロン)が母体となっています。ITRONの初期の仕様が決められたのが1987年のことでした。当時はパソコンでさえ16bit CPUが出始めた頃でしたので、実用的な機器を開発するためには必要最低限の内容だけを決めるという考え方が取り入れられました。
その後、2.0が公開された際にCPUの大きさごとに二つの仕様へ分かれます。8 bit/16bit CPU向けのμITRON 2.0と,32bit CPU向けのITRON 2.0です。後年、32bit CPUが低価格化すると組込み機器でも32bit CPUが多用されるようになりμITRON 3.0では再び一つに統合、1999年に現在使用されているμITRON4.0が公開されています。
T-Kernelは、21世紀初頭に組込みシステムのハードウェア性能の向上に伴い、μITRONの後継として大規模システム向けに仕様が策定され、2004年に公開されました。ハードウェアの仕様からOSまでをトータルに標準化してソフトウェアの移植の手間を抑え、再利用性を向上させるというものです。
以上の経緯から、μITRON 4.0仕様にはベーシックプロファイルが追加されています。ベーシックプロファイルは、μITRON3.0、μITRON4.0、T-Kernelにおいて同等の機能を持つサービスコールを規定したもので、T-KernelとμITRON間の移植の簡易化を目的としています。ベーシックプロファイル内で動作するミドルウェアやアプリケーションであれば、T-KernelとμITRONの間での移植を容易に行うことができます。
μITRONとT-Kernelの比較
主な特長を下記表に示します。
μITRON | T-Kernel | |
公開時期 | 1999年 | 2004年 |
設計思想 | 弱い標準化・最適化 | 強い標準化・移植性 |
仕様が規定されている範囲 | カーネル仕様 (RTOSとしての仕様のみ規定) |
カーネル仕様(T-Kernel) ハードウェア仕様(T-Engine) モニタ仕様(T-Monitor) サブシステム管理機能仕様(T-Kernel/Extention) |
ライセンス | 提供OSベンダにより異なる | T-License(最新版:T-License2.0) 但しT-Kernel仕様で開発された商用RTOSのライセンスについては提供OSベンダにより異なる |
サブシステム管理機能 | 提供するOSベンダにより異なる ミドルウェアはOSベンダがオプションとして用意していることが多い |
T-Kernel/Extensionとして実装 (大規模システムで標準利用されるプロセス制御やファイル・システムをT-Kernel/ SEとして公開) |
OSベンダ | eForce、東芝、TOPPERS、ミスポ、ユビキタスAI、ルネサスなど | eSOL、パーソナルメディア、ユーシーテクノロジ |
仕様の規定範囲
μITRONは『弱い標準化』の設計仕様により、RTOSとしてのカーネル仕様のみ規定されており、ハードウェアに依存する部分は実装依存となっています。T-Kernelでは『強い標準化』の設計思想により、ハードウェア仕様、モニタ仕様、サブシステムの扱いについても定義されています。μITRONとT-Kernelの詳細な仕様、ガイドラインはトロンフォーラムで公開されています。弱い標準化と強い標準化については、次章で解説します。
μITRON
■カーネル仕様 μITRON4.0仕様書(ver.4.03.03)
T-Kernel
■ハードウェア仕様 T-Engine設計ガイドライン(ver1.01.01)
■カーネル仕様 T-Kernel2.0仕様書(ver.2.01.00)
■モニタ仕様 T-Monitor仕様書(ver.1.00.01)
■サブシステム仕様 T-Kernel/Standard Extention仕様書(ver.1.00.02)
標準化の範囲
μITRONとT-Kernelでの大きな違いの一つに『標準化の範囲』が挙げられます。μITRONは『弱い標準化』、T-Kernelは『強い標準化』を設計思想に持ちます。
μITRON:弱い標準化
μITRONはAPIや変数定義を標準化しています。カーネル(RTOSとしての仕様)のみ規定されてており、ハードは規定していません。共通化すると実行時性能の低下につながる部分については無理に標準化を行わず、実装する機能が絞られています。
※μITRON Ver4.03.03仕様書の「1.3 ITRON仕様の設計方針」から抜粋
システムの規模や性能にあった適切なRTOSを選択したいとき
例えば、最終製品のコストダウンや最適であることが特に重要視される小規模システムでは、マイコン内蔵の小さなROM/RAMのみで動作するよう、RTOSもフットプリントが小さいものが選定の基準となります。 また、高いリアルタイム性能が必要なシステムの場合、割込み応答性の高いRTOSが選択の基準となります。
T-Kernel:強い標準化
T-Kernelは強い標準化を特徴とします。標準化の範囲をカーネルのみならず、ハードウェア(T-Engine)、サブシステムの扱い(T-Kernel Extention)まで拡げています。範囲を広げることで実装依存性を排除し、プロセッサが異なるハードウェアに対してもソフトウェアの再利用性と移植性を容易とします。
ソフトウェアの移植性を必要とする場合
T-Kernelは強い標準化のため移植性が高いという特徴があります。システムを他のハードウェアに移植する際に、既存のソフトウェア資産を再利用しやすいため、開発の効率化が期待できます。
ライセンス
μITRONとT-Kernelは、いずれもオープンアーキテクチャです。一方で、配布元のトロンプロジェクトの方針により、自社で拡張を加えたとしても、自社のノウハウが詰まったプログラムコードまで公開する義務はなく、商用利用も自由なので、企業にとって大きな利点となり日本国内で広く普及する理由の一つとなりました。
μITRON
μITRONが規定する仕様はカーネルのみです。その為、μITRON仕様を元に、実在するCPUで動くサンプルコードと一緒に企業や団体・個人が『μITRON仕様準拠RTOS』として配布、販売をしています。μITRON準拠RTOSのライセンスについては配布・販売するベンダーにより異なりますが、機能制限された評価版は無償、拡張機能と保守サポートがついた有償版と開発段階に応じて用意されています。
μC3のライセンスの種類は3つあります。
・研究開発用プロジェクトライセンス(研究開発のみ可能)
・開発量産用プロジェクトライセンス(研究開発から量産販売まで可能、一つの製品ファミリ)
・プラットフォームライセンス(プロジェクトライセンスの拡張版・複数の製品ファミリが範囲)
開発段階に応じてライセンスのアップグレードが可能です。お客様のご要望をお聞きした上で適切な範囲を設定させて頂きますので、先ずは、担当営業にご相談下さい。
T-Kernel
T-Kernelは、シングル・ワン・ソース(single one source)としてT-Engineフォーラムのwebページからソースコードが入手できます。T-Kernelを利用するためにはT-Licenseに契約する必要があります(最新版はT-License2.0)。
■T-License 2.0
■T-License 2.0で改定された項目について(TRON Forum : T-License 2.0 FAQ)
T-Kernel仕様で開発された商用RTOSは、各ベンダーが独自機能を実装したライセンスつきSDKとして販売しています。機能制限された評価版は無償、拡張機能と保守サポートがついた有償版と開発段階に応じて用意されています。
1)ソースコードの複製・改変可
2)改変したソースコードをバイナリ形式で製品に搭載・販売可、ライセンス費用無償
3)T-Kernelを利用した旨の表示が必要
4)T-Kernelのソースコードを元に改良・改変したソースコードを第三者に配布する場合、「T-Kernelトレーサビリティサービス」への登録が必要
まとめ
本記事ではμITRONとT-Kernelを紹介しました。
μITRON仕様のRTOSは、登場からすでに35年以上を経過していますが、いまだに多くの機器で採用されています。その要因の一つにRTOSのコア部分であるカーネルの機能が小さいということが挙げられます。技術の進化でCPUが高性能化されても、ソフトウェアの動作原理は変わりません。そのため、カーネル部分の構造を大きく変える必要がなく効率的に開発ができることが挙げられます。
T-Kernelは2004年にμITRONの後継として公開され、国産の人工衛星システムやECU(車載組込みシステム)など、安全性が最重要視される大規模システムへの導入実績をあげています。また、省メモリMCU製品向けのμT-Kernelを公開、IEEE対応など世界標準となる取り組みを着々と進めています。
μITRONとT-Kernelのどちらを選択するか、また別仕様のOSを選択するかは、 性能は勿論、『システムの規模』『 既存資産』『今後の移植性 』など様々な要素を考慮する必要があります。商用RTOSを選択するのであれば、アフターサポートのきめ細やかさなども含めて、総合的に判断し、自身に合った組込みシステムの構築を検討してみてください。
弊社製品のご紹介
マイコン向け超軽量カーネルを採用したRTOS「μC3(マイクロ・シー・キューブ)/Compact」
μC3(マイクロ・シー・キューブ)/Compactは、マイコン内蔵の小さなメモリだけで動作するように最適化された、コンパクトなμITRON4.0仕様のRTOSです。
μC3/Compactは、ソースコードに直接コンフィグレーションを行うのではなく、付属のコンフィグレータによりGUIベースでRTOS、TCP/IP、デバイスのコンフィグレーションからベースコードの自動生成まで行います。
- 小さいフットプリント
- マイコンの小さなROM/RAMのみで動作するように最適化された最小2.4Kbyteのコンパクトなカーネル。メモリ容量が小さい安価なデバイスを使用する事ができます。
- μC3/Configurator付属
- 選択・設定するだけでベースコードが生成できるコンフィギュレーションツール。開発時間の大幅な短縮や、コーディングミスの減少が可能。RTOSの初心者でも簡単に開発をスタートすることができます。
- 豊富なCPUサポート
- 業界随一のCPUサポート実績があり、技術サポートも充実しています。CPUの選択肢を広げ、機会費用を抑える事ができます。業界随一のCPUサポート実績があり、技術サポートも充実しています。ご使用予定のデバイスで直ぐに開発着手が可能で、ご質問に対して24時間以内の1次回答を徹底しています。
- 省電力対応
- デフォルトで省電力機能がついているため、システム全体の省電力に貢献します。
詳しい資料をご希望の方は、下記より製品ガイドをダウンロードしてください。
高性能リアルタイム処理向けRTOS「μC3(マイクロ・シー・キューブ)/Standard」
μC3(マイクロ・シー・キューブ)/Standardは、μITRON4.0のスタンダードプロファイルをベースに、32/64ビットプロセッサが搭載された組込みシステム向けのRTOSです。
μC3/Standardは、高性能プロセッサがより高度なリアルタイム制御に耐えられるよう、割込み禁止時間を極力なくし、割込み応答性を最重要課題として設計したRTOSです。
ARM Cortex-Aシリーズ、ARM Cortex-Rシリーズだけでなく、高性能な ARM Cortex-MやRenesas RXシリーズにも対応しています。
- 32/64bitの高性能プロセッサに最適化
- 割り込み応答性を高め、32/64bitの高性能プロセッサ向けに最適化されたμITRON4.0仕様のカーネル。
- 豊富なプロセッサ・サポート
- 業界随一のプロセッササポート実績があり、技術サポートも充実しています。CPUの選択肢を広げ、機会費用を抑える事ができます。業界随一のCPUサポート実績があり、技術サポートも充実しています。ご使用予定のデバイスで直ぐに開発着手が可能で、ご質問に対して24時間以内の1次回答を徹底しています。
- マルチコア対応
- 組込み機器向けに最適なAMP型カーネル。マルチコアによって、リアルタイム性能を強化します。
- 豊富なデバイスドライバを用意
- I2C, SPI, GPIO, SDなどのデバイスドライバをオプションで用意。(UART, Timer, INTCはμC3に、EthernetドライバはμNet3に付属しています。)
詳しい資料をご希望の方は、下記より製品ガイドをダウンロードしてください。
マルチコアAMP拡張版RTOS「μC3(マイクロ・シー・キューブ)/Standard+M」
μC3/Standard+Mは、μC3/StandardにAMP型のマルチコア拡張を追加したマルチコアプロセッサ向けのリアルタイムOSです。
μITRON4.0のスタンダード・プロファイルをベースに、AMP型の特徴を活かしたコア毎の処理・リソースの割り当て、コア間連携のためのAPIを追加しています。
ARM Cortex-Aシリーズを中心にマルチコアのMPUをサポートしています。
- リアルタイム処理に最適なAMP型カーネル
- 自由にタスクや資源を各CPUに割り当てることで、システムの負荷分散が容易に実現できます。
- μITRON APIによるCPU間通信機能
- タスク間通信などの機能をCPU間通信でも実現ができ、シングルコアと同様にプログラミングができます。
- 一括リンクによるコード効率の向上
- コア別のプログラムを一括リンクすることで、より効率の良いプラグラミングができます。
- 多彩なミドルウェアや豊富なデバイスドライバを用意
- μC3/Standard対応のミドルウェアやデバイスドライバを利用できます。
詳しい資料をご希望の方は、下記より製品ガイドをダウンロードしてください。
LinuxとRTOSの共存ソリューション「μC3(マイクロ・シー・キューブ)+Linux」
μC3+LinuxはマルチコアCPUにLinuxとRTOSを共存させ、OS間の通信を可能にするソリューションです。
種類の異なった2つのOSを共存させることで、RTOSのリアルタイム性能とLinuxが持つ豊富なソフトウェア資産を有効に活用することができます。
- 異なったタイプのマルチコアCPUに対応
- ホモジニアス(同一プロセッサ・コアによる構成)とヘテロジニアス(異なるプロセッサ・コアによる構成)の両方に対応しています。
- メーカー提供のLinuxディストリビューションに対応
- CPUベンダーが標準でサポートするLinuxに対応し、アプリケーションの開発が迅速にできます。
- OS間通信をサポート
- メッセージ形式のAPI(RPMsg)を使って、OS間の通信を容易に実現できます。
- OpenAMP仕様を採用
- Multicore Associationによって標準化されたOpenAMPの仕様に対応しています。
- RTOSによる高速ブート
- μC3を先に起動することで高速起動ができます。
詳しい資料をご希望の方は、下記より製品ガイドをダウンロードしてください。
資料ダウンロード(無料)