買収の果てにオープンソース化した「Micrium μC/OS」、実は使い勝手がいい!? : リアルタイムOS列伝(6) (3/3 ページ)
μC/OSそのものは非常にシンプルなリアルタイムカーネルで構成される。特徴というか、他のRTOSとの目立った違いを以下に挙げておこう。
Run-time configurable:実行中にシステムオブジェクト(SemaphoreやStack、Task、Timer、etc……)などを全て変更可能
起動できるTask数は無制限(もちろんメモリの上限はある)
プライオリティのレベルも無制限
Nested Task Suspension(最大250レベルまでのネストでSuspensionが実行できる)
Task Signals/Messages(ISRからTaskに直接割り込みをかけたり、メッセージを送り付けたりすることが可能。これを利用できるため、いわゆるMail BoxはμC/OSには存在しない)
Task Register(Taskの状態などを格納し、他のTaskから参照可能なRegister領域を利用可能。ユーザーが定義できる)
パフォーマンス測定機能をカーネルに内蔵
GUIツールキットも提供。Hello, worldレベルであればFlash 8.1KB/SRAM 334バイト 、ウィンドウを持つアプリケーションだと最小でFlash 60KB/SRAM 6.6KBで実現できるとしている。簡単なHMIであれば十分足りる範囲である
最小構成のコードフットプリントは6KB〜24KB/26KB、データフットプリントは1KB+とされているので、取りあえずFlash 32KB/SRAM 2KB程度のMCUであれば、動くだけは動くというところだろうか。
オープンソース化に合わせて、Micrium時代のドキュメントも全て公開されており、実はAmazon FreeRTOSなどよりもよほど使い勝手はいいかもしれない。もともと対応製品も多く、現時点で“Browse by MCU Architecture”で見ると61種類も出てくる(図3 )。やや古いものが多いのは仕方ないが、RISC-Vにも対応しているあたりは立派である。
図3 「Micrium μC/OS」が対応するCPUアーキテクチャ。この図中にはないが、RSIC-Vにも対応している(クリックで拡大)
実は、μC/OSの開発者であるLabrosse氏は、2020年3月で引退されている。ひょっとすると、μC/OSのオープンソース化は、これが大きな理由だったのかもしれない。
Copyright © ITmedia, Inc. All Rights Reserved.