連載
MCUに慣れていなくても使いやすい、サブシステム向けRTOS「Apache Mynewt」:リアルタイムOS列伝(15)(4/4 ページ)
IoT(モノのインターネット)市場が拡大する中で、エッジ側の機器制御で重要な役割を果たすことが期待されているリアルタイムOS(RTOS)について解説する本連載。第15回は、ASF(ソフトウェア財団)のインキュベーションを受けて、Linuxを用いるような大規模システムのサブシステム向けに開発されたRTOS「Apache Mynewt」を紹介する。
他のRTOSには見られない特徴も多数
図10はBLEのAdvertiseの設定方法、図11はセンサーの初期化方法である。他にWi-Fiやファイルシステムなども標準的に用意される。2019年の段階だとWi-FiはTCP/IPおよびUDP/IPに対応。CoAPと6LoWPANのサポートがある一方、サポートされるWi-FiモジュールはMKR1000のみといった状況だったが、現在はESP8266など他のモジュールのサポートが追加されており、選びやすくなっている。
また、他のRTOSには見られない、以下のような特徴も備えている。
- 自分でPackage(ビルドする環境とその依存関係を定義したもの)とProjects(Packageの集合体)を構築できる。既に複数のPackageがApache Mynewtで提供されており、これを組み込んで自分のProjectを簡単に構築したり、アップデートしたりできる
- ブートローダーはROMとフラッシュに対応。SHA-256とRSA署名を付加されており、これを利用してセキュアブートが簡単に実現できる
- ソフトウェアアップデートのためのツールも標準で提供され、Bluetooth/Wi-Fi/Serialを利用したOTA(Over the Air)アップデートも可能。フラッシュを2バンクに分けてのアップデートもできる
- 先述したが、Deep sleepとWakeup、Tickless idle taskなどをサポートするパワーマネジメントが標準で装備。ネットワーク経由でのスリープマネジメントにも対応する
- デバッグ機能が豊富で、ロギングや統計処理をコンパイル後に実施したり、外部にコアダンプさせたりできる。ユニットテスト用のフレームワークも提供される。またスタックガードやメモリトラッキングなどの機能も実装される。当然JTAGプローブにも対応
- シミュレーターはLinux/macOS/Windows64環境で提供済。ただしWindowsはMinGW上での動作、またmacOSは、最新版には必ずしも対応していない場合があるというただし書き付きになっている。ビルド環境を含むツール類もやはりLinux/macOS/Windows64環境で提供される
ところで気になるフットプリントだが、Apache Mynewt Core 1.7.0の場合でRAM 1KB/フラッシュ6KB。Apache Mynewt NimBLE 1.2(つまりBLEスタック)がRAM 5〜15KB/フラッシュ70〜100KB(どの機能を利用するかで変動)という話で、かなりコンパクトである。
単体で使うというよりもサブシステム向けというあたりが少し特殊ではあるが、小規模なシステムであればもちろん単体でも利用できるだろう。Apache Mynewtは、意外に使いやすいRTOSかもしれない。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 連載記事「リアルタイムOS列伝」バックナンバー
- ソニーの「Spresense」が採用するオープンソースRTOS「NuttX」とは
IoT(モノのインターネット)市場が拡大する中で、エッジ側の機器制御で重要な役割を果たすことが期待されているリアルタイムOS(RTOS)について解説する本連載。第9回は、日本になじみがないRTOSシリーズ第3弾として「NuttX」を紹介する。このNuttX、実はソニーのIoTセンシングボード「Spresense」に採用されているのだ。 - Android対抗の「Tizen」から派生した「TizenRT」はRTOSらしくないRTOS
IoT(モノのインターネット)市場が拡大する中で、エッジ側の機器制御で重要な役割を果たすことが期待されているリアルタイムOS(RTOS)について解説する本連載。第14回は、Android対抗モバイルOSとして開発された「Tizen」から派生した「TizenRT」を紹介する。 - 良好なコンテキストスイッチでいろいろ遊べる、イタリア発のRTOS「ChibiOS/RT」
IoT(モノのインターネット)市場が拡大する中で、エッジ側の機器制御で重要な役割を果たすことが期待されているリアルタイムOS(RTOS)について解説する本連載。第13回は、生い立ちがちょっと面白い、イタリア生まれのRTOS「ChibiOS/RT」を取り上げる。 - スマートメーターに特化したポーランド発RTOS「Phoenix-RTOS」の潔さ
IoT(モノのインターネット)市場が拡大する中で、エッジ側の機器制御で重要な役割を果たすことが期待されているリアルタイムOS(RTOS)について解説する本連載。第12回は、ポーランド発のRTOS「Phoenix-RTOS」を取り上げる。スマートメーターに特化した、ある意味で潔さが光るものになっている。 - かつて米軍に重用されたRTOS「RTEMS」、今や航空宇宙分野で揺るぎない地位に
IoT(モノのインターネット)市場が拡大する中で、エッジ側の機器制御で重要な役割を果たすことが期待されているリアルタイムOS(RTOS)について解説する本連載。第11回は、かつて米国の軍需向けで重用されてきたRTOS「RTEMS」を紹介する。現在は軍需ではなく、航空宇宙分野向けフリーRTOSの座を射止めている。