NXP/Freesclaeのプロセッサならタダで使えるRTOS「MQX」はそつがない作り:リアルタイムOS列伝(25)(3/3 ページ)
IoT(モノのインターネット)市場が拡大する中で、エッジ側の機器制御で重要な役割を果たすことが期待されているリアルタイムOS(RTOS)について解説する本連載。第25回は、NXP/FreesclaeのMCUやMPUであればロイヤルティーフリーで利用できるRTOS「MQX」を紹介する。
MCUをベースとしたエッジやエンドノードの構築に最適
MQXそのものは前ページの図2にあるように基本的な周辺回路のハンドリングのみしかできないが、オプションとして以下の3つが用意されている、
MQX Real-time TCP/IP Communication Suite(RTCS)
名前の通りネットワークスイートである。最小構成だとフラッシュメモリの占有サイズは30KBにすぎない。IPv6はアドオンで対応できる。TCP/IPの基本的な要素は全て含まれている(図3)。これだけ見てると、例えばMQTTへの対応のような新しい機能が含まれていないように思えるが、実はMQX v5では「MQTTおよびRESTプロトコルのサポート」「軽量JSON&cJSONパーサ/フレーマ、軽量XMLパーサ/フレーマ、zlib圧縮伸長ユーティリティー」が追加されており、昨今のIoT(モノのインターネット)向けアプリケーションでの利用でも問題はない。Bluetoothに関しては、Bluetooth内蔵の「Wireless MCU」(例えば「KW31Z」)の場合だとNXPの統合開発ツールである「MCUXpresso」に対応したソフトウェア開発キット(SDK)の中にBluetooth Low Energy(BLE)のスタックやプロファイルが含まれており、これらを利用することができる。
MQX File System(MFS)
MS-DOS互換(FAT12/16/32)のファイルシステムをサポート。SDカードなどのリムーバブルメディアが対象。
MQX USB Host/Device Stack
USB 1.1/2.0のホスト/スタックの実装。特筆すべきはメモリフットプリントの小ささで、SRAMで10KB未満、フラッシュで32KB未満のフットプリントで利用できる。
MQXは、アプリケーションプロセッサ(例えばi.MX 6/7/8)を使っての複雑なデバイスを構築するにはいろいろ足りない部分もあるだろうが、MCUをベースとしたエッジというかエンドノードを構築する分には不足を感じることはないだろう。また、周辺回路のサポートに関しては、それぞれの機器に対応したBSP(ボードサポートパッケージ)側でカバーすることになっている。
なお、Embedded Accessからは、これに加えてSFFS(Flash File System)やMQX PEG+ GUIPEG+(Graphics Library for MQX)、HTTP Web Servers、Security(SSL/SSH)、Emailクライアントなどもオプションとして提供されている。
ということで、構造そのものはやや古めかしい部分もあるし、対象が事実上NXP/Freescaleの製品と、SynopsysのARCベースの製品に限られてしまうというあたりが、それ以外のものを利用しようという場合には制限になってしまうが、無償で入手でき、しかもそれで商用向けにもロイヤルティーなしで利用できる。これはEmbedded Accessの製品も同じで、ロイヤルティーフリーでソースコードが提供される(ただしライセンス料は必要な模様)。つまり、NXPのMCUなりMPUを使って開発する場合のハードルが低いのは事実だ。開発環境としては、NXPの場合は古い製品は「CodeWarrior」、新しい製品はMCUXpressoを利用できるので、そこまで含めてあまり支障はない。
この先も継続してサポートされるのか、といわれると「?」であるが、取りあえず現時点では手厚いサポートが用意されていることを考えると、今後の展開や長期供給を考える必要のない機器の構築には向いている、としてもいいかもしれない。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 連載記事「リアルタイムOS列伝」バックナンバー
- ルネサスの「RX110」でも動くPOSIX互換の「UNISON RTOS」はウェアラブル向け
IoT(モノのインターネット)市場が拡大する中で、エッジ側の機器制御で重要な役割を果たすことが期待されているリアルタイムOS(RTOS)について解説する本連載。第24回は、POSIX互換のリアルタイムカーネル「Nanoexec」を用いたウェアラブル端末向けRTOS「UNISON RTOS」を紹介する。 - 省フットプリントで安定かつ高速な「scmRTOS」からRTOSの基礎を学ぶ
IoT(モノのインターネット)市場が拡大する中で、エッジ側の機器制御で重要な役割を果たすことが期待されているリアルタイムOS(RTOS)について解説する本連載。第23回は、20年近い歴史を持ち、省フットプリントと高速を特徴とする古典的RTOS「scmRTOS」を紹介する。 - RTOS的に使えるがRTOSではない「QP」はMATLABの代替候補にもなり得る?
IoT(モノのインターネット)市場が拡大する中で、エッジ側の機器制御で重要な役割を果たすことが期待されているリアルタイムOS(RTOS)について解説する本連載。第22回は、厳密にはRTOSではないものの、RTOS的な利用も可能なフレームワーク「QP」を紹介する。 - デバッガベンダーの商用RTOS「embOS」は古いスタイルが故に安心して使える?
IoT(モノのインターネット)市場が拡大する中で、エッジ側の機器制御で重要な役割を果たすことが期待されているリアルタイムOS(RTOS)について解説する本連載。第21回は、デバッグツールベンダーとして知られるSEGGERの商用RTOS「embOS」を紹介する。 - RTOS以上組み込みLinux未満、Google第3のOS「Fuchsia」は大輪の花を咲かせるか
IoT(モノのインターネット)市場が拡大する中で、エッジ側の機器制御で重要な役割を果たすことが期待されているリアルタイムOS(RTOS)について解説する本連載。第20回は、Googleの第3のOSと呼ばれる「Fuchsia」を紹介する。RTOSと言うべきかどうかは意見の分かれるところだが、組み込み向けを意識したOSであることだけは確かだ。