検索
連載

NXP/Freesclaeのプロセッサならタダで使えるRTOS「MQX」はそつがない作りリアルタイムOS列伝(25)(3/3 ページ)

IoT(モノのインターネット)市場が拡大する中で、エッジ側の機器制御で重要な役割を果たすことが期待されているリアルタイムOS(RTOS)について解説する本連載。第25回は、NXP/FreesclaeのMCUやMPUであればロイヤルティーフリーで利用できるRTOS「MQX」を紹介する。

Share
Tweet
LINE
Hatena
前のページへ |       

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)のスタックやプロファイルが含まれており、これらを利用することができる。

図3
図3 SSLなどはサードパーティー任せというのが、今となってはちょっと残念ではある[クリックで拡大]

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.

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