昨今、システム(ハードウェア・ソフトウェア)開発におけるソフトウェアの比率が高まっています。特にシステムにインターネット接続機能を持たせようとするとそれが顕著になります。
従来はこのような市場動向に対応するために500MHz級のMPUを採用しLinuxを導入していました。さらに最近ではインターネット接続機器の小型・低消費化が進み、100MHz級のMCUを採用しインターネット接続機能を有するリアルタイムOSを導入するケースが増えてきました。ただし、こういったいわゆるOS(Operating System)のソースコードをシステムに導入するにはライセンス費用の問題や開発自体の敷居の高さが課題になっていました。
そこでルネサスは、AWS(Amazon Web Services)、Microsoftとコラボレーションし、AWSが提供するFreeRTOS、Microsoftが提供するAzure RTOSをRXファミリで利用可能にしました。
AWSやMicrosoftはすでに安定したクラウドサービスをW/W展開しており、ユーザはクラウド側のサーバを開発する必要がなく、システム側に提供されるリアルタイムOSも非常に品質が高いものとなっています。
さてリアルタイムOSはインターネット上を流れるパケット処理を行うことはできますが、RXファミリの初期設定やRXファミリ内蔵のEtherコントローラの制御等のルネサス製品依存部分の制御は行いません。これらはルネサスが開発したRXファミリ用ソフトウェアパッケージ「RX Driver Package」や「Code Generatorで自動生成したコード」を用いて制御されます。ソフトウェアパッケージはリアルタイムOSに組み込まれた形でAWSやMicrosoftの動作検証を経てOSのディストリビューションとしてGitHubから配布されます。・・・図1参照。GitHubに不慣れなユーザのため統合開発環境(e2 studio/CS+)経由でGitHubから必要データをダウンロードしてOSのソースコードをユーザプロジェクトに取り込むことができます。・・・図2参照。
図1、図2で示したソフトウェアやツール類を組み合わせて活用することで非常に高品質なインターネット接続機器を開発することができます。また、ソフトウェアパッケージのみを利用し従来通りリアルタイムOSレス(ベアメタル)環境での開発も可能です。
さて、本ソリューションにより、インターネット接続機能を組み込み機器に搭載することの難しさと、断片化されたサンプルコードをユーザ自らが収集・組み立て・カスタムする必要があったという課題を解消することができました。
筆者は2003年に入社以来ずっとインターネット接続機能を持った超小型無線デバイス(バッテリレス)を開発したいと考えており、20年かけてかなり夢に近づいてきました。もっと小さく、もっと低消費で、使いやすいマイコンおよび対応ソフトウェアを引き続き開発していきたいと考えます。