連載
» 2020年10月06日 10時00分 公開

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

[大原雄介,MONOist]
前のページへ 1|2|3       

シンプルなリアルタイムカーネルで構成、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のオープンソース化は、これが大きな理由だったのかもしれない。

前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.