組み込み業界に大インパクト「Amazon FreeRTOS」の衝撃:IoT観測所(40)(1/4 ページ)
「AWS re:invent 2017」で発表された「Amazon FreeRTOS」は組み込み業界に大きなインパクトを与えることになりそうだ。ベースとなるオープンソースのMCU向けRTOS「FreeRTOS」、FreeRTOSとAmazon FreeRTOSの違いについて解説する。
米国時間の2017年11月27日〜12月1日にかけて、ラスベガスで「AWS re:invent 2017」が開催された。この基調講演の中で、アマゾン(Amazon)はIoTに向けて幾つかの新しい発表(https://www.businesswire.com/news/home/20171129006079/en/AWS-Announces-Slew-New-IoT-Services-Brings)を行っている。そのうちの1つが今回ご紹介する「Amazon FreeRTOS」である。
Amazon FreeRTOSに関する第一報はすでにこちらの記事にあるが、要するに「AWS IoT」(及び同じ基調講演で発表になった「AWS greengrass」)との接続用に、「FreeRTOS」を提供することを発表したというものだ。これはちょっとしたインパクトのある内容である。
「FreeRTOS」とは何か
何がインパクトなのかを説明するために、まずはFreeRTOSについて少しご紹介したい。FreeRTOSそのものはかなり古く、最新版はバージョン(V)10.0.0になるが、過去をさかのぼるとV1.2.6は2003年12月31日にリリースされている(それ以前はリリースノートに日付の記載がない)。SourceForge(https://sourceforge.net/projects/freertos/files/FreeRTOS/)にはV2.4.2以降のソースが提供されているが、そのV2.4.2をみると、この時点でサポートされているのは「ARM7」とアトメル(Atmel)の「ATMega323」、マイクロチップ(Microchip Technology)の「PIC18」、それと「x86」(16bitDOSという書き方からして、x86のReal Modeでの動作と思われる)しかサポートされていない。
ただし、ここから急速にサポート対象を増やしており、現時点での移植対象(https://www.freertos.org/RTOS_ports.html)は20のベンダーにわたる、かなりの数のアーキテクチャ(例えば旧Freescale Semiconductorなら「Cortex-M4」「Coldfire V1/V2」「HCS12」「PowerPC 405/440」が対象になっている)に上る。また、半導体ベンダーによるコントリビューション(それぞれの半導体ベンダーによって移植されたもの。サポート状況はそのベンダーに依存する)の形で「Tricore」「Blackfin」「SuperH」「eZ80」などもサポートされている。試しにFreeRTOSのV10.0をダウンロードして展開したところ、オフィシャルデモがプラットフォーム×開発環境違いで合計168個用意されていた。
さて、FreeRTOSそのものは、非常に軽量なリアルタイム向けのOSを目指したものである。実装によって多少変わるとはいえ、おおむね6K〜12KB程度のフットプリントで、プリエンプティブなマルチタスク環境(タスクスケジューラは複数のオプションが用意されている)と、セマフォ/ミューテックスによるタスク同期、柔軟なソフトウェアタイマー、幾つかのオプション付きの割り込み管理などを特徴とする。
複数のアーキテクチャ/開発環境に対応しているのも特徴。逆に言えば、FreeRTOSそのものは開発環境は提供していない(Eclipseをベースとしたビルド方法も提供されているが、別にこれが必須な訳ではない)。
Copyright © ITmedia, Inc. All Rights Reserved.