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
© Copyright 2024 ExpyDoc