RTOSについて

[コンテンツ]

組込みリアルタイムOS(RTOS)

オペレーティングシステム(OS)の一種で、様々な制御機器(工場などで稼働している装置やセンサー機器、ロボット等)や温度を一定に保つ恒温槽装置、監視カメラ機器など、時間制約があるシステムに多く使われます。WindowsやLinuxとは違い表示装置がなく、少ないメモリでも動作するOSです。以下に一例ですがRTOSを列挙します。

  • uITRON
  • T-Kernel
  • VxWorks
  • ChibiOS/RT
  • FreeRTOS

RTOSの主な機能は、タスク(=仕事)のスケジューリングとタスク間のデータの受け渡し(=タスク間データ通信)です。制御機器に実装するソフトウェア(=ファームウェア)には、この機能が必要になるのでRTOSを利用します。

RTOSを使用しないでファームウェアを作成するとなると、スケジューリングやタスク間データ受け渡しを自前で実装することになります。

本サイトではFreeRTOSについて記載します。

FreeRTOS

FreeRTOSは、組込みシステム向けリアルタイムOS(RTOS)です。提供APIのソースコードは勿論のことRTOSカーネルなど全てのソースコードが入手できるので、実装したタスクのバグ解析やRTOSの不具合改修などが行えます。

対応するCPUは、ARM Cortex-M3,Cortex-M4、PIC18,PIC24,PIC32、AVRなど様々なマイクロCPUに対応しています。筆者の使用実績は、STM32F3(ST社 ARM Cortex-M3,M4)、STM32F4(ARM Cortex-M4F)、EFM32GG(ARM Cortex-M3)、RX621(Renesas社)、PIC18(Microchip社)です。

筆者はバージョン7.1.0から使用を開始して、現在はバージョン7.4.2や7.6.0を使用しています。バージョン9までが例外条項付きGPLライセンスです。

現在、googleが買収してMITライセンスと成り 10.3.1が2020年06月の最新版です。