FreeRTOS
![]() | |
開発者 | Richard Barry、FreeRTOSチーム |
---|---|
OSの系統 | リアルタイムオペレーティングシステム |
開発状況 | 開発中 |
ソースモデル | フリーソフトウェア/オープンソース |
最新安定版 |
202212.01[1] ![]() |
リポジトリ | |
対象市場 | 組み込みシステム |
使用できる言語 | 英語 |
プラットフォーム | ARM (ARM7、ARM9、Cortex-M3、Cortex-M0))、Atmel AVR、AVR32、HCS12、MicroBlaze、TI MSP430、PIC、ルネサスH8/S、x86、8052、Coldfire、Kinetis、V850、78K0R、富士通FRファミリ(MB91460シリーズ)、F2MC-16FXファミリ(MB96340シリーズ)、Nios II |
カーネル種別 | マイクロカーネル |
ライセンス | MIT License |
ウェブサイト |
www |
FreeRTOS は組み込みシステム用のオープンソースのリアルタイムオペレーティングシステム (RTOS) 。いくつものマイクロコントローラに移植されている。
ライセンス
[編集]バージョン9までは例外条項付きGPLの下で配布されていた。 例外条項は、カーネルそのものがオープンソースである場合にはユーザのコードをクローズドソースにしておくことができるという内容である。[2]
Amazon.comに買収された後のバージョン10からはMITライセンスを採用している。
サポートされているアーキテクチャ
[編集]サポートされているアーキテクチャは以下のようである[3]。
- 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
- ソフトプロセッサ
概要
[編集]FreeRTOSは小さく単純であるように設計されている。 カーネル自体は3つあるいは4つのC言語によるファイルのみからなっている。 コードを読みやすく、移植しやすく、メンテナンスしやすくするために、ほとんどC言語で書かれている。 しかし、アーキテクチャ独自のスケジューラルーチンを中心に、必要な部分には少ないがアセンブリ言語が使われている。 ダウンロードできる配布物では、既に設定がなされており、 全ての移植先に対してのデモンストレーションとコンパイラが含まれている。 これにより、すばやくアプリケーションをデザインできる。 FreeRTOS.orgウェブサイトはRTOSについてのチュートリアルや、 設計の詳細と様々なマイクロコントローラでのパフォーマンスの比較結果を掲載している。
以下が主要な機能である。
- 小さく単純である。オペレーティングシステムに慣れていない者にも適している。
- スケジューラはプリエンプティブマルチタスクと協調的マルチタスクの両方に設定できる。
- コルーチンサポート (FreeRTOSにおけるコルーチンとは、非常に単純で軽量なタスクであり、スタックの使用は極めて制限されている)
SafeRTOS
[編集]FreeRTOSから派生したSafeRTOSと呼ばれるスピンオフしたプロジェクトがある。 SafeRTOSはFreeRTOSのコードをベースとしているが、 IEC 61508に定める安全性に関連するアプリケーションで使用できるように アップデートやドキュメントの作成、テスト、検査されている。
OpenRTOS
[編集]関連するもう一つのプロジェクトはOpenRTOSである。これはFreeRTOSのコードベースを基にしているが、 ライセンスが異なっている。 OpenRTOSはFreeRTOSからGPLへの言及とGPLによる実装をすべて取り除いたものである。 たとえば、商用製品にFreeRTOSを組み込んだ場合には、製造者はFreeRTOSを使用していることを意識し、 利用者が要求すればGPLの規定によりソースコードを開示提供しなければならないが、OpenRTOSを採用している場合にはそのような制約がない。
脚注
[編集]- ^ "FreeRTOSv202212.01 Latest"; 閲覧日: 2023年8月8日; 出版日: 2023年3月4日.
- ^ “FreeRTOS open source licensing, FreeRTOS license description, FreeRTOS license terms and OpenRTOS commercial licensing options.”. 2015年10月11日時点のオリジナルよりアーカイブ。2018年2月3日閲覧。
- ^ FreeRTOS Ports