FreeRTOS は組み込みシステム用のオープンソースのリアルタイムオペレーティングシステム (RTOS) 。いくつものマイクロコントローラに移植されている。

ライセンス

バージョン9までは例外条項付きGPLの下で配布されていた。 例外条項は、カーネルそのものがオープンソースである場合にはユーザのコードをクローズドソースにしておくことができるという内容である。

Amazon.comに買収された後のバージョン10からはMITライセンスを採用している。

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

サポートされているアーキテクチャは以下のようである。

  • 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

FreeRTOSから派生したSafeRTOSと呼ばれるスピンオフしたプロジェクトがある。 SafeRTOSはFreeRTOSのコードをベースとしているが、 IEC 61508に定める安全性に関連するアプリケーションで使用できるように アップデートやドキュメントの作成、テスト、検査されている。

OpenRTOS

関連するもう一つのプロジェクトはOpenRTOSである。これはFreeRTOSのコードベースを基にしているが、 ライセンスが異なっている。 OpenRTOSはFreeRTOSからGPLへの言及とGPLによる実装をすべて取り除いたものである。 たとえば、商用製品にFreeRTOSを組み込んだ場合には、製造者はFreeRTOSを使用していることを意識し、 利用者が要求すればGPLの規定によりソースコードを開示提供しなければならないが、OpenRTOSを採用している場合にはそのような制約がない。

脚注

関連項目

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

外部リンク

  • 公式ウェブサイト
  • SAFERTOS
  • OpenRTOS

FreeRTOS Ecosystem Showcase including third party products.

FreeRTOS Wikipedia

Check Out This Video To Learn What Freertos Is And Why It Matters

FreeRTOS Pricing, Features, and Reviews (Feb 2025)

FreeRTOS_freertos下载CSDN博客