検索
連載

買収の果てにオープンソース化した「Micrium μC/OS」、実は使い勝手がいい!?リアルタイムOS列伝(6)(3/3 ページ)

IoT(モノのインターネット)市場が拡大する中で、エッジ側の機器制御で重要な役割を果たすことが期待されているリアルタイムOS(RTOS)について解説する本連載。第6回は、ミッションクリティカルな用途でも広く用いられている「Micrium μC/OS」を取り上げる。

Share
Tweet
LINE
Hatena
前のページへ |       

シンプルなリアルタイムカーネルで構成、RISC-Vにも対応

 μ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
図3 「Micrium μC/OS」が対応するCPUアーキテクチャ。この図中にはないが、RSIC-Vにも対応している(クリックで拡大)

 実は、μC/OSの開発者であるLabrosse氏は、2020年3月で引退されている。ひょっとすると、μC/OSのオープンソース化は、これが大きな理由だったのかもしれない。

Copyright © ITmedia, Inc. All Rights Reserved.

前のページへ |       
ページトップに戻る