ESP32シリーズSoCが新しいオペレーティングシステムをサポート
NuttXとZephyrが、ESP32シリーズのSoCでサポートされるようになりました。
エスプレッシフの主力SoCがのIoTの重要なデバイスとなっています。また、ESP-IDFを使用すると、開発者は組み込みソフトウェアを簡単に構築できます。ESP-IDFは、開発者や企業が強力な製品を構築できるようにする、既成のライブラリ、プロトコル、およびソリューションのセットを提供します。
最も重要なことは、それがオープンソースであるということです。エスプレッシフでは、製品のユーザーと常にオープンな対話を行っています。NuttXとZephyrという2つのオペレーティングシステムに関しても、いくつかのリクエストを受け取った後、これらをサポートできるようになりました。
NuttXの紹介
NuttX(またはApache NuttX)は、Apache Foundationによってホストされているプロジェクトであり、fork(Tizen、VelaOS)として、または直接、多くの大手メーカーによって使用されています。当初、Greg Nuttがこの課題に取り組むことを決定の際には、小型(8ビット)CPU用のPOSIX準拠RTOSの必要性を重視しました(NuttX)。現在、NuttXは、小さなCPU/MCUを使用しながら、POSIXエクスペリエンスを実現したい人に最適なRTOSとなっています。
NuttXの主な焦点はアーキテクチャの整合性です。「外部」コードは、厳密に検査され、ライブラリが慎重に選択されていない限り、許可されていません。たとえば、メーカーのAPIとHALが受け入れられているコーディング標準から逸脱している場合、それらを直接使用することはできません。これは、NuttXが他の何よりも整合性を優先することを意味します。これは、ショートカットのない優れたコードが長期的には生産性の向上につながるという理論的根拠に基づいています。
Zephyrの紹介
Zephyrは、幅広いハードウェアサポートと強力なアプリケーションを構築する機能を備えたRTOSです。Zephyrシーンには主要なプレーヤーがいて、最終的にはプロジェクトの最高の支持者としての役割を果たします。
Zephyrのルーツは、2015年にRTOSソースをオープンしたWindRiverのRocketRTOSです。2016年、ZephyrはLinux Foundationによってホストされ、関係者全員のコラボレーションがさらに加速しました。実際、コラボレーションの概念がプロジェクトの主な焦点となったため、ユーザーとベンダーは同様にZephyrをシステムに移植することができました。
Zephyrの現在における重要な側面は、その幅広いハードウェアサポートに加えて、Zephyrが大規模なユーザーベースも享受していることです。ビッグプレーヤーを含め、すでに1,000人以上の貢献者がいると推定されています。これはまた、多くのサービスプロバイダーや請負業者を引き付け、彼らはその後、新しい採用企業がより早く生産に着手するのを支援します。これにより、コミュニティやプロジェクト以上のものが生まれました。Zephyrはエコシステム全体になりました。
ESP32サポート
エスプレッシフは、ESP32シリーズのSoCをさまざまなオペレーティングシステムに導入することに常に注力しています。オープンソースプロジェクトの周りのコミュニティに参加するには、コミュニティの作業、そのルール、オープンソースのエチケットなどに注意を払う必要があることを理解しています。NuttXおよびZephyrコミュニティに参加して以来、私たちは上記のオペレーティングシステムでのESP32のサポートに向けて開発をしてきました。
エスプレッシフのサポート戦略はシンプルです。ESP32はWi-FiMCUであるため、最初に最小限のMCUサポート(CPU)に焦点を当て、次にWi-Fiに移行し、次に他の基本的な周辺機器に移行しました。このようにして、開発者は私たちのチップのテストを開始し、貴重なフィードバックを提供してくれました。エスプレッシフはオープンマインドでそのフィードバックを受け取りました。これは、コミュニティによってより重要であると見なされた機能に優先順位を付けるのに役立ちました。
NuttXおよびZephyrに対するEspressifの現在のサポートは、以下の表に要約できます。
*凡例の説明
- Yes(緑):この機能はサポートされています
- No(赤):この機能はサポートされていません
- N/A(白):そのデバイス/ OSでは使用できません
- WIP(黄色):進行中の作業
- Conditional(黄色):特別な条件下/特定のユースケースでサポート
- Bata(スカイブルー):ドラフト実装が利用可能
デバイスのサポートとは別に、まだ取り組むべき特定のシステムの課題があります。ESP-IDFを使用する場合と同じように、ユーザーがさまざまなオペレーティングシステムで強力な製品を構築できるようにする必要があります。一方、間もなくリリースされるエスプレッシフSoCに関しても考慮することが重要です。これにより、将来の計画が可能になります。
ESP32ロードマップ
エスプレッシフはできるだけ多くの機能を追加する予定ですが、より現実的なアプローチの方が役立つと思います。実際にユーザーとコミュニティに最も利益をもたらすものです。この目的のために、ESP32サポートをさらに改善する主な分野は、i)低電力モード、ii)Wi-Fi、およびiii)増え続けるセキュリティの問題です。同時に、ポートフォリオに新しいデバイスを追加し、サポートされる機能のリストに周辺機器を追加していきます。私たちの計画は以下の表にまとめることができます。
ESP32デバイスでZephyrとNuttXを使用したプロジェクトの成功事例はすでにいくつかあります。たとえば、MCUbootプロジェクトを取り上げます。Zephyrのために作業を開始し、NuttXにも移植することができました。これにより、いくつかのサービスプロバイダーは、クラウドでのNuttXのサポートを検討し始めるようになりました。これは、そのコミュニティにとって間違いなく素晴らしいことです。さらに、エスプレッシフはZephyrでサポートされた最初のオンチップWi-Fi MCUであり、将来のZephyrネイティブWi-Fiスタックプロジェクトへの道を開きました。
ESP32がお客様の希望するオペレーティングシステムで確実に動作するため、1年以上前からフィードバックを受けています。そのようなコメントは私たちに継続する力を与えてくれます。まだいくつかのステップを踏む必要があることを認識しつつ、将来のプロジェクトを共同で形成できるように、すべてのユーザーにフィードバックを送信するよう招待します。
その他のリソース
- ZephyrでESP32を試してみませんか?このチュートリアルをご確認ください。
- NuttXで試してみませんか?詳細はこちらで説明します。
- MCUbootについて聞いたことがありますか? こちらのビデオプレゼンテーションをご覧ください。
- NuttX for ESP32にグラフィカルアプリケーションはありますか? このLVGLチュートリアルをご確認ください。
- ESP32のZephyrおよびWi-Fi機能をテスト希望ですか? こちらをご覧ください!