リアルタイム・オペレーティング・システム
多くの IoT プロジェクトでは、main() のシンプルなループに基づくベアメタル設計はもう使えません。開発者が複雑な通信プロトコルを実装し、厳しいタイミングの制約へ従うために要求が厳しくなるにつれ、リアルタイム・オペレーティング・システム(RTOS)のマルチタスク機能を使用することのメリットはますます明確になってきています。Silicon Labs は、RTOS の採用を長年サポートし、促進してきました。そして、新しいマルチタスク・プロジェクトを迅速に立ち上げ、実行するために必要なすべてのツールを提供しています。
Simplicity Studio での RTOS サポート
RTOS を新しいソフトウェア・プロジェクトに手動で追加することは、特に RTOS のソース・ファイル、構成パラメータ、一般的なビルド設定などについてあまりよく知らない人にとっては、困難な場合があります。これが、Silicon Labs が Simplicity Studio IDE を通して RTOS コードを提供する理由です。IoT プロジェクトに Simplicity Studio を活用する開発者は、RTOS ベースの開発作業の初期段階を加速できる、パッケージ化されたサンプルと役立つ構成ツールを見つけることができます。
Simplicity Studio RTOS オプション
FreeRTOS
FreeRTOS は、オープンソース・ライセンス条件で提供されている軽量で使いやすいリアルタイム・カーネルです。FreeRTOS は、20年近く前に導入されて以来、大規模なユーザーベースを蓄積し、非常に多様なエンベデッド・デザインに導入されています。新しい FreeRTOS ベースのプロジェクトの作成を効率化するサンプル・プロジェクトや構成ツールは、Silicon Labs の Simplicity Studio IDE で提供されます。
Amazon FreeRTOS
FreeRTOS の開発とメンテナンスに関する責務は、2017 年後半に正式に Amazon へと引き継がれました。以来 Amazon は、ライブラリのコレクションでオリジナルのコードベースを拡張しており、その多くは、FreeRTOS カーネルが当初ターゲットとしていたリソース制約型のデバイスで接続を可能にすることに重点を置いています。Silicon Labs では Amazon のライブラリのサポートを Simplicity Studio へと構築し、接続されたデバイス開発のための直感的なフレームワークを提供しています。
Micrium OS
Micrium OS を使用すれば、開発者は RTOS コンポーネントの完全なセットを手に入れることができ、今日の IoT 設計がもたらす数多くの課題に対応するために役立ちます。これは商用 RTOS のスペースが元となっていますが、Micrium OS は、EFR32 と EFM32 デバイスを対象としたプロジェクトで無料で利用できます。この OS は、Simplicity Studio を通じてのみ提供されます。これには、新しい開発作業の初期段階を合理化するのに役立つ、Micrium ベースの数々の例が含まれています。
Simplicity Studio RTOS の比較
FreeRTOS | Micrium OS | ||
カーネル | API | CMSIS-RTOS2 レイヤーを持つ独自規格 | CMSIS-RTOS2 レイヤーを持つ独自規格 |
スケジューリング・アルゴリズム | 優先ベース、プリエンプティブ、時間スライスのサポート付き | 優先ベース、プリエンプティブ、時間スライスのサポート付き | |
リソース保護 | Mutexes とセマフォ | Mutexes とセマフォ | |
シグナリングと通信 | セマフォ、イベント・フラグ、キュー(コピーによる)、タスク通知 | セマフォ、タスクセマフォ、イベント・フラグ、キュー(参照による)、タスクキュー | |
ソフトウェア・タイマー | ワンショットおよび定期的 | ワンショットおよび定期的 | |
組み込み統計 | あり | あり | |
所有権 | Amazon が管理するオープンソース・プロジェクト |
Silicon Labs が開発および保守 | |
ライセンシング | MIT | 独自規格(Simplicity Studio MSLA)、EFR32および EFM32 のライセンス・コストなし | |
ワイヤレス・スタック対応 | Bluetooth、Connect(独自規格ワイヤレス)、OpenThread、Wi-SUN、Z-Wave | Bluetooth、Connect(独自規格ワイヤレス)、Wi-SUN、Zigbee | |
その他のコンポーネント (Simplicity Studio で提供) |
Amazon FreeRTOS ライブラリ(BLE と Common I/O を含む) | Micrium OS ファイル・システム、IO モジュール、プロトコル・スタック(TCP/IP、USB、CAN) |
その他の RTOS オプション
Azure RTOS
Microsoft は、コネクテッド・デバイスの開発者向けに多数のソフトウェア・ソリューションを提供しています。Azure RTOS は、IoT の大手企業のポートフォリオに最近追加された製品の一つです。また、その他の Microsoft 製品は、Windows IoT や Azure Sphere OS など 多くのリソースに制約があるだけでなく、Cortex-M クラスデバイス、Azure RTOS は、このカテゴリのハードウェアをターゲットとしています。開発者は、Azure RTOS を選ぶことで、徹底的にテストされ、効率性と信頼性に優れた IoT 設計基盤を手に入れることができます。
Zephyr
Zephyr は、カーネル、デバイスドライバ、プロトコル・スタックなどの包括的なオープンソース・ソフトウェアです。これは Linux 財団が管理しており、オープンソース・ソフトウェアに関心を持つ多くの異なるシリコンベンダー、ツールプロバイダー、その他の企業によってサポートされています。Silicon Labs キットの選択例が Zephyr GitHub レポにあります。開発者がこの OS を使い始めるのにお役立てください。