「進化するµT-Kernel 2.0」講演資料(pdf) - T-Engine Forum

TRONSHOW2O14
進化するμT-Kernel 2.0
坂村 健
東京大学大学院教授
T-Engineフォーラム会長
TRONSHOW2O14
1
μT-Kernel 2.0
TRONSHOW2O14
Copyright © 2013 by T-Engine Forum., All Rights Reserved.
2
μT-Kernelとは?
● T-Kernelの小規模MCU向けバージョン
 16ビットMCUや、ROM/RAMの限られた環境が対象
 小規模MCUでも利用したいという要求に応えるために設計され
たのが「μT-Kernel」
● T-Kernelより弱く、μITRONより強い仕様
 開発効率向上のための “強い仕様” と、適応化・最適化の許容と
いう相反する2つの要求のバランスをとった
• T-Kernelと異なり、ソースコードの一本化は行わない
• μITRONより大きな標準化範囲を持ち、リファレンスコードが存在
TRONSHOW2O14
Copyright © 2013 by T-Engine Forum., All Rights Reserved.
3
μT-Kernelの “2.0” 化
● T2全体コンセプト
 1984年に開始したTRONプロ
ジェクトの目標である HFDS(超
機能分散システム)を実現するた
めの全体アーキテクチャの要素と
してデザイン
ネットワーク機能の強化と、それに
基づく徹底した機能分散のため
のリアルタイムOS
TRONSHOW2O14
Copyright © 2013 by T-Engine Forum., All Rights Reserved.
4
IoT (Internet of Things) のために
● μT-Kernel 2.0の位置づけ
 M2M, IoTノード(小規模家電を含む)のための
リアルタイムOS

● そのための機能を凝縮
 ネットワーク通信機能を含むIoTの為のミドル
ウェアが必要
• 開発効率向上のためにはミドルウェア流通が可能
なように
 省資源・省電力は必須
• (例)バッテリだけで10年以上動作するセンサノード
TRONSHOW2O14
Copyright © 2013 by T-Engine Forum., All Rights Reserved.
5
μT2仕様策定の基本方針
T2  μT2
TRONSHOW2O14
Copyright © 2013 by T-Engine Forum., All Rights Reserved.
6
仕様策定の基本方針
● T2シリーズ互換性の重視
 T2シリーズOS (T2, μT2, MPT2, …) 間の互換性重視
 異なるMCUに実装されたμT-Kernel 2.0間の上で動作するソフ
トウェアの互換性実現
これによりT2プラットフォーム上でのソフトウェアの流通性を拡大
● その上で小規模MCUのための最適化・チューニ
ングを可能とするRTOS仕様とする
TRONSHOW2O14
Copyright © 2013 by T-Engine Forum., All Rights Reserved.
7
μT2の設計コンセプト
1. μT1からの大幅な標準化範囲の拡大
2. サービスプロファイルの導入
3. 最適化・チューニングのための仕様更新
4. 割込み管理機能の整理と見直し
TRONSHOW2O14
Copyright © 2013 by T-Engine Forum., All Rights Reserved.
8
1. μT1からの標準化範囲の拡大
● 標準化範囲を拡大することで、その上のコードの
互換性を強化
 T2プロジェクト間のミドルウェア・アプリケーションコードの共有を可
能に
 追加される機能の例
• 物理タイマ管理機能 (StartPhysicalTimer, …)
• 微少待ち (WaitUsec, …)
• 高速ロック・マルチロック (CreateLock, CreateMLock, …)
:
 参考: μT-Kernel 2.0仕様書のページ数
• 237ページ(μT1) → 639ページ
TRONSHOW2O14
Copyright © 2013 by T-Engine Forum., All Rights Reserved.
9
2. サービスプロファイルの導入
● 互換性 vs チューニング
 互換性向上のため標準化範囲を拡大すると、MCUによっては
チューニングの妨げとなる機能も出てくる
• 例: 割込みハンドラの動的定義、マイクロ秒サポート、…

● 互換性を維持しながら、MCU固有のチューニン
グを許容するために、サービスプロファイルの考
え方を導入
TRONSHOW2O14
Copyright © 2013 by T-Engine Forum., All Rights Reserved.
10
サービスプロファイルとは?
● μT2の実装仕様に関する情報を機械処理可能な形式で
記述
 具体的には、C言語のマクロ定義によりヘッダファイルとして提供
/* 例: キャッシュ制御命令のサポート */
#define TK_SUPPORT_CACHE TRUE
● サービスプロファイルを用いたコード記述を行うことで、異
なるMCUに実装されたμT2間の差異が吸収され、ミドル
ウェアやアプリケーションコードの共通化が可能に
TRONSHOW2O14
Copyright © 2013 by T-Engine Forum., All Rights Reserved.
11
3. 最適化・チューニングのための仕様更新
● さらなる最適化を支援するための仕様変更
 例1: CONSTの導入 (T2仕様に基づく)
• 読込み専用変数のROM領域への配置が可能になる
• ROM・RAMともに消費を削減することが可能になる
 例2: タスク優先度最大値に関する仕様の緩和
• 140 (μT1) → 16以上の値 (μT2)
実際の最大値は、サービスプロファイル項目
TK_MAX_TSKPRI として機械的に取得可能
• タスク数が少ないシステムにおいて、スケジューラの最高優先度探索処
理の効率化が可能になるほか、RAM使用量も削減
TRONSHOW2O14
Copyright © 2013 by T-Engine Forum., All Rights Reserved.
12
4. 割込み管理機能の整理・見直し
● 割込み番号概念の整理
 “割込み番号”の概念を導入し、割込みハンドラ番号・割り込みベ
クタ番号を統一
• μT1では2つの番号の使い分けが必要だったが、μT2では全てのAPIで
共通して割込み番号を指定できる
● 割込みマスクレベルに関する機能の拡充
 割込み優先度・マスクレベルに関する機能を拡充
 サービスプロファイルの導入により、MCU毎に異なる割込みマス
クに関するAPIを仕様化
TRONSHOW2O14
Copyright © 2013 by T-Engine Forum., All Rights Reserved.
13
TRONSHOW2O14
Copyright © 2013 by T-Engine Forum., All Rights Reserved.
14
μT2と6LoWPAN
μT2ではネットワークミドルウエアとして
6LoWPANを利用可能
TRONSHOW2O14
Copyright © 2013 by T-Engine Forum., All Rights Reserved.
15
IoTのためのネットワーク
● いままでよりはるかに多くのモノがオー
プンネットワークからクラウドに接続

● それにともなう配線の手間を考えるな
ら無線が妥当
● しかし数が多いので通信のためのエネ
ルギーも拡大

● エネルギー消費の少ない無線接続を
● しかもクラウド直結可能が望ましい
TRONSHOW2O14
Copyright © 2013 by T-Engine Forum., All Rights Reserved.
16
6LoWPANに注目
● 6LoWPAN
 “IPv6 over Low power Wireless Personal Area Networks”
IPv6に基づく通信を、省電力無線上で実現するためのプロトコル
● 特徴
 クラウドと省電力無線を直接的に接続可能
• 一定の変換を行うメカニズム(6LoWPAN Border Router)を導入すれ
ば、クラウド上のウェブサービスとIoTノードを直接接続可能
 IoTのモデルに合致
TRONSHOW2O14
Copyright © 2013 by T-Engine Forum., All Rights Reserved.
17
6LoWPAN フレームワーク
TRONSHOW2O14
Copyright © 2013 by T-Engine Forum., All Rights Reserved.
18
ユビキタスショーケース「未来の家電」
● ウェブサービス・ノード間の通信を
μT2 + 6LoWPAN の組み合わせで実現
TRONSHOW2O14
Copyright © 2013 by T-Engine Forum., All Rights Reserved.
19