FreeRTOS

FreeRTOSは、[組み込みシステム]]で利用されることを目的とした、オープンソースのリアルタイムオペレーティングシステム]です。多くの異なる[[マイクロコントローラへの移植実績があり、その汎用性の高さが特徴です。

ライセンスについて


FreeRTOSは、バージョン9までは例外条項付きのGPL(GNU General Public License)で配布されていました。この例外条項は、カーネル自体がオープンソースであれば、ユーザーが作成したコードをクローズドソースのままにすることを認めるものでした。しかし、Amazon.comによる買収後のバージョン10からは、より利用しやすいMITライセンスへと変更されました。

サポートされているアーキテクチャ


FreeRTOSは、以下のような幅広いアーキテクチャをサポートしています。

ARM (ARM7, ARM9, Cortex-M0, Cortex-M3, Cortex-M4)
Atmel AVR, AVR32
HCS12
TI MSP430
PIC マイクロコントローラ (PIC18, PIC24, dsPIC, PIC32)
ルネサス H8/S
インテル x86, 8052
Coldfire V1, V2
NXP Kinetis K1x, K2x
NEC V850, 78K0R
富士通 FRファミリ(MB91460シリーズ), F2MC-16FXファミリ(MB96340シリーズ)
RISC-V
ソフトプロセッサ(アルテラ Nios II, ザイリンクス MicroBlaze)

概要


FreeRTOSは、その設計において小さくシンプルであることを重視しています。カーネルはわずか3つか4つのC言語ファイルで構成されており、コードの可読性、移植性、メンテナンス性が高くなるように、ほとんどの部分がC言語で記述されています。ただし、アーキテクチャ固有のスケジューラールーチンなど、必要な箇所にはアセンブリ言語が使用されています。配布物には、設定済みのデモンストレーションとコンパイラが含まれており、これによりアプリケーション開発を迅速に進めることが可能です。FreeRTOS.orgのウェブサイトでは、RTOSに関するチュートリアルや設計の詳細、様々なマイクロコントローラでのパフォーマンス比較結果などが提供されています。

主要な機能


FreeRTOSの主な機能は以下の通りです。

シンプルかつ小型: オペレーティングシステムに不慣れな開発者でも扱いやすいように設計されています。
スケジューリング: プリエンプティブマルチタスクと協調的マルチタスクの両方を設定できます。
コルーチン: 軽量なタスクであるコルーチンをサポートしており、スタックの使用を最小限に抑えることができます。

SafeRTOS


SafeRTOSは、FreeRTOSから派生したプロジェクトです。FreeRTOSのコードをベースに、IEC 61508規格に準拠した安全性関連アプリケーションでの利用を想定して、アップデート、ドキュメント作成、テスト、検査が行われています。

OpenRTOS


もう一つの関連プロジェクトがOpenRTOSです。これもFreeRTOSのコードベースを使用していますが、ライセンスが異なります。OpenRTOSは、FreeRTOSからGPL関連の記述や実装をすべて取り除いたものです。これにより、FreeRTOSを商用製品に組み込んだ場合に必要となる、GPLに基づくソースコードの開示義務を回避することができます。

脚注




関連項目


リアルタイムオペレーティングシステム
組み込みオペレーティングシステム

外部リンク


公式ウェブサイト
SAFERTOS
* OpenRTOS

もう一度検索

【記事の利用について】

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

【リンクついて】

リンクフリーです。