ソニーの「Spresense」が採用するオープンソースRTOS「NuttX」とはリアルタイムOS列伝(10)(1/3 ページ)

IoT(モノのインターネット)市場が拡大する中で、エッジ側の機器制御で重要な役割を果たすことが期待されているリアルタイムOS(RTOS)について解説する本連載。第9回は、日本になじみがないRTOSシリーズ第3弾として「NuttX」を紹介する。このNuttX、実はソニーのIoTセンシングボード「Spresense」に採用されているのだ。

» 2021年05月10日 10時00分 公開
[大原雄介MONOist]

 今回は「NuttX」を紹介したい。「また日本になじみがないリアルタイムOS(RTOS)を……」などと思われるかもしれないが、NuttXは意外にも日本で有名な採用事例がある。それはソニーの「Spresense(スプレッセンス)」だ(図1)。

⇒連載記事「リアルタイムOS列伝」バックナンバー

図1 図1 ソニーのIoTセンシングボード「Spresense」(クリックで拡大) 出典:ソニー

 Spresenseといえば“IoTセンシングボード”という取り上げ方をされており、もちろんそれが正しい取り上げ方だとは思うのだが、そのコアではNuttXが稼働しているあたりも、日本ではちょっと珍しい存在である(図2)。

図2 図2 「Spresense」はArduino IDEで取り扱いできる方がアピールされているが、コアとして動いているのはNuttXだったりする(クリックで拡大)

 さてそのNuttX、もともとはGregory Nutt氏という組み込み業界で30年以上働くエンジニアが、個人で作り始めたRTOSである。開発開始は2004年で、2007年に最初の公開バージョンが完成する。当時Nutt氏はプライベートコンサルタントとしてさまざまな企業に対してLinuxの移植の手伝いをしながら、個人的な作業としてこのNuttXの開発を続けた格好だ。

 NuttXの最初のバージョン(0.1.0)は、2007年3月9日にSourceForgeで公開された(図3)。Source Forgeで公開していることから分かるように、当然オープンソース扱いで、BSDライセンス下での提供となっている。当初のターゲットはTIの「TMS320C5471」という、47.5MHz駆動の「ARM7TDMI」に100MHz駆動の「C5470 DSP」を組み合わせたマイコンのみで、また提供される機能も最小限だったが、その後にバージョンアップを行いつつ対応デバイスも増やしてゆく。

図3 図3 Web Archiveでたどれる最初のWebサイトは2007年5月19日時点のものだった(クリックで拡大) 出典:Web Archive

 それからNutt氏は、HPのネットワーク部門のアーキテクトとして招かれ、2011年4月までコスタリカで仕事をするが、この間もNuttXの開発は続けており、そしてHPとの契約が切れたあとでNX EngineeringというNuttXの開発とサポートを行う会社を自身で立ち上げる(図4)。

図4 図4 2013年5月19日におけるNX Engineering, S.A.のWebサイト。(クリックで拡大) 出典:Web Archive
       1|2|3 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.