ChibiOS/RT

ChibiOS/RT: 高性能組み込み向けリアルタイムOS



ChibiOS/RTは、組み込みシステムに特化したリアルタイムオペレーティングシステム(RTOS)であり、そのコンパクトさと高速性が特徴です。開発者であるGiovanni Di Sirio氏によって作成され、GPL3ライセンスの下でオープンソースとして提供されています。

特徴



ChibiOS/RTは、主に8ビット、16ビット、そして32ビットのマイクロコントローラーでの利用を想定して設計されています。その設計目標は、システムのサイズを最小限に抑えつつ、最高の実行性能を発揮することです。例えば、カーネルサイズは最小で約1.2KiB、STM Cortex-M3プロセッサのような複雑なシステムでも最大5.5KiB程度に収まります。また、高いスレッド処理能力を持ち、1秒間に22万以上のスレッドの開始と終了が可能です。コンテキストスイッチも非常に高速で、STM32を72MHzで動作させた場合、わずか1.2マイクロ秒で完了します。

これらの性能評価は、配布されるソースコードに付属のテストレポートで確認できます。

機能



ChibiOS/RTマイクロカーネルは、以下のような豊富な機能を提供しています。

プリエンプティブなマルチスレッディング: 優先度に基づいたスレッドの切り替えをサポート。
128段階の優先度: 細かい優先度設定が可能。
ラウンドロビンスケジューリング: 同じ優先度のスレッドを公平に実行。
ソフトウェアタイマー: 時間ベースのイベント処理を実装。
カウンティングセマフォ: リソースへのアクセス制御。
優先度継承をサポートしたミューテックス: デッドロックを回避。
条件変数: スレッド間の同期。
同期/非同期メッセージ: スレッド間通信。
イベントフラグとハンドラー: イベントドリブンな処理。
キュー: データの一時的な格納。
タイムアウト付きI/O: 応答がない場合の処理を設定。
スレッドセーフなメモリ管理: メモリヒープとプールのアロケーター。
ハードウェア抽象化レイヤー: ADC、CAN、GPT、EXT、I²C、ICU、MAC、MMC/SD、PAL、PWM、RTC、SDC、シリアル、SPI、USBなど多数のデバイスドライバをサポート。
lwIP/uIP TCP/IPスタック: ネットワーク機能。
FatFSファイルシステム: ファイルシステム。
動的なシステムオブジェクト: スレッド、セマフォ、タイマーなどのオブジェクトを必要に応じて生成/削除。

さらに、ChibiOS/RTは、システムの信頼性を高めるために、静的なカーネルアーキテクチャを採用しており、メモリの動的な確保はオプションです。データ構造のサイズ上限がなく、エラー処理も必要最低限に抑えられています。

サポートマイクロコントローラー



ChibiOS/RTは、幅広いマイクロコントローラーをサポートしており、以下のようなデバイスで利用可能です。

ST STM32F1xx、STM32F2xx、STM32F3xx、STM32F4xx、STM32L1xx、STM32F0xx
ST STM8S208x、STM8S105x、STM8L152x
ST/Freescale SPC56x / MPC56xx
NXP LPC11xx、LPC11Uxx、LPC13xx
NXP LPC2148
Atmel AT91SAM7S、AT91SAM7X
Atmel Mega AVR
TI MSP430x1611
TI TM4C123GとTM4C1294
Microchip PIC32MX
ColdfireとH8S向けの移植も存在

その他のプラットフォーム



ChibiOS/RTは、Raspberry Piにも移植されており、GPIO、シリアル、GPT、I2C、SPI、PWMドライバが利用可能です。また、Win32プロセスとしてカーネルを動作させるソフトウェアI/Oエミュレーションモードも備えており、実際のハードウェアがない環境でもアプリケーション開発が可能です。

外部ライブラリとの連携



ChibiOS/RTは、wolfSSLなどのTLS/SSLライブラリにも対応しており、セキュアな通信機能も実現可能です。

uGFX (旧ChibiOS/GFX)



GUIツールキットであるuGFXは、ChibiOS/RTを完全にサポートしています。

関連情報



ChibiOS/RTにおけるマルチスレッディングの詳細

外部リンク



ChibiOS/RT ホームページとドキュメント
ChibiOS/RT プロジェクトとサポート

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。