ChibiOS/RT
プログラミング言語 | C, アセンブリ言語 |
---|---|
OSの系統 | リアルタイムオペレーティングシステム |
開発状況 | 安定 |
ソースモデル | オープンソース |
初版 | 2007年 |
最新安定版 | 21.11.3 / 2022年12月29日 |
リポジトリ | |
対象市場 | 組み込みシステム(Embedded system)など。 |
使用できる言語 | 英語 |
プラットフォーム | Intel 80386, ARM7, ARM9, ARM Cortex-M0, ARM Cortex-M3, ARM Cortex-M4, PPC, e200z, Atmel AVR, TI MSP430, STM8, Freescale Coldfire, Renesas H8S |
カーネル種別 | マイクロカーネル |
ライセンス | GPL3またはプロプライエタリー |
ウェブサイト | www.chibios.org |
ChibiOS/RTは、コンパクトで高速な[1] リアルタイムオペレーティングシステムであり、複数のアーキテクチャーをサポートし、GPL3ライセンスでリリースされている。 開発者は、Giovanni Di Sirioである。
評価
[編集]ChibiOS/RTは、8ビットと16ビット、32ビットのマイクロコントローラーの組み込み用途向けに設計されている。 プロジェクトの主なゴールは、サイズと実行性能である。[2] 実例を参考にすると、カーネルのサイズは、最小で1.2KiBから、STMのCortex-M3プロセッサーの全てのサブシステムを有効化した場合で最大5.5KiBである。 カーネルは1秒間に220,000スレッド以上を開始と終了させることができ、コンテキストスイッチは、STM32を72 MHzで動作させた場合、 1.2マイクロ秒で実行できる。 全てのサポートされたプラットフォームにおける同様の評価結果は、ソースコードの配布物のテストリポートに含まれている。
機能
[編集]ChibiOS/RTマイクロカーネルは、以下をサポートしている。
- プリエンプティブなマルチスレッディング[3]
- 128段階の優先度
- 同じ優先度のスレッドのラウンドロビン・スケジューリング
- ソフトウェアタイマー
- カウンティングセマフォ
- 優先度継承をサポートしたミューテックス
- 条件変数
- 同期と非同期のメッセージ
- イベントフラグとハンドラー
- キュー
- タイムアウトをサポートした同期と非同期I/O
- スレッドセーフなメモリーヒープとメモリープールのアロケーター
- ADCやCANやGPT (汎用タイマー)、EXT、I²C、ICU、MAC、MMC/SD、PAL、PWM、RTC、SDC、シリアル、SPI、USBドライバーをサポートするハードウェア抽象化レイヤー
- lwIPとuIP TCP/IPスタックのサポート
- FatFSファイルシステムライブラリーのサポート
全てのシステムオブジェクト(スレッドやセマフォ、タイマーなど)は、実行時に生成と削除が可能である。 利用可能なメモリーに上限はない。 システムの信頼性を向上させるため、カーネルアーキテクチャーは全体を通して静的であり、メモリーアロケーターは、オプションとして用意はされているが、必須ではない。 テーブルや配列といったデータ構造にサイズの上限はない。 システムのCPIは、エラーコードや例外といったエラー時の処理を持たない設計である。
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
ChibiOS/RTは、Raspberry Piにも移植されており、 [5] GPIOやシリアル、GPT (汎用タイマー)、I2C、SPI、PWM用のドライバーが実装されている。
ソフトウェアI/Oエミュレーションモードでは、Win32プロセスとしてカーネルを動かすことができる。 これにより、実際のハードウェアなしで簡単にアプリケーションを開発できる。 MinGWコンパイラ向けの例が含まれている。
ChibiOS/RTは、wolfSSLといった著名なTLS/SSLライブラリーにサポートされている。
uGFX
[編集]ChibiOS/RTは、GUIツールキットであるµGFXに完全にサポートされている。 µGFXは、過去にはChibiOS/GFXと呼ばれていた。
関連項目
[編集]脚注
[編集]- ^ RTOS performance data on emb4fun.de Archived 2013-01-11 at Archive.is
- ^ ChibiOS/RT statistics on ohloh.net
- ^ A detailed explanation of multithreading in ChibiOS/RT
- ^ Additional supported architectures on emb4fun.de Archived 2013-01-11 at Archive.is
- ^ “ChibiOS/RT on the Raspberry Pi”. 2019年1月14日閲覧。