結論と対象読者

FreeRTOSは、マイクロコントローラーや小型マイクロプロセッサーでタスク、キュー、タイマー、同期を扱うための軽量なオープンソースRTOSカーネルです。小さな組み込み製品に適しますが、Linuxのような完成OSや、すべてのドライバーを含む統合環境ではありません。

このページは、FreeRTOSを新規採用候補として調べている人、既存環境を引き継いだ管理者、OSの設計や歴史を実験・調査したい人を対象にしています。

30秒要約

  • MCU向けの軽量RTOSカーネル
  • 40以上のプロセッサーアーキテクチャを公式に案内
  • FreeRTOSConfig.hで機能とメモリを構成
  • SoCベンダーSDKに含まれる版と公式版を区別する

概要と背景

FreeRTOSは、ベアメタルの単一ループより複雑な処理を、優先度付きタスクへ分割するための基盤です。カーネルに加えてTCP、MQTT、OTAなどのライブラリがありますが、実際の提供範囲は配布方法により異なります。

特徴・できること

  • プリエンプティブ/協調スケジューリング
  • キュー、セマフォ、ミューテックス、イベントグループ
  • ソフトウェアタイマー
  • 静的または動的なメモリ割り当て
  • 対応ポートでのSMP

現在の位置付けと利用上の前提

公式サイトは40以上のプロセッサーアーキテクチャ、公式ポート一覧、リリース履歴を公開しています。量産ではベンダーSDKの固定版、適用パッチ、LTS提供者、脆弱性対応責任を明確にしてください。

ここでいう「対応」は、OSまたはプロジェクト全体の存在だけを意味しません。実際には、対象バージョン、CPU、ボードまたはサーバー機種、デバイス、パッケージ、更新経路、サポート契約を組み合わせて判断する必要があります。確認日は2026年7月24日です。

近い対象との比較

Zephyr

Zephyrはドライバー、Devicetree、ネットワーク、ビルドを統合した広いRTOSプラットフォームです。FreeRTOSは小さなカーネルとして組み込みやすいです。

ThreadX

ThreadXも小型MCU向けで、APIとミドルウェア構成、既存ベンダー資産が選択軸です。

ベアメタル

FreeRTOSは並行処理を整理できますが、スタック、同期、優先度逆転の設計責任が増えます。

確認/試行の条件と注意点

  • 公式またはベンダー提供ポートを特定する
  • 必要RAM/Flashを実ビルドで測る
  • 各タスクの最大スタック使用量を測定する
  • 割り込み優先度規則をCPU別資料で確認する
  • ウォッチドッグとハング時の復旧を設計する

本番導入前には、構成を再現できる検証環境を用意し、インストール、更新、バックアップ、復元、障害時のコンソール接続までを一連の手順として確認してください。公式資料に記載がない互換性や将来予定は、推測せず「要確認」として扱うのが安全です。

参考リンク