Zephyr RTOSおよびNXP Semiconductorsプラットフォームを活用した拡張可能な組込みシステムの構築

著者 Etiido Uko

DigiKeyの北米担当編集者の提供

組み込みシステムには常にトレードオフが伴い、技術者は、性能と消費電力、柔軟性と決定性、あるいは市場投入までのスピードと長期的なメンテナンス性のいずれかを選択せざるを得ませんでした。ほとんどの場合、これらのトレードオフは管理可能なものでした。ハードウェアには制約があり、要件も限定的で、マイクロコントローラはセンサの読み取りや単純なユーザーインターフェースの処理程度しか行わず、多くの場合、単一の制御ループを中心に直接記述されたベアメタルファームウェアを使用していました。

しかし、もはやそうではありません。現代の組込みシステムは、はるかに多くのことを行うように作られています。IoTデバイス、産業用オートメーションコントローラ、エッジコンピューティングノードには、無線接続、セキュリティスタック、無線によるファームウェア更新、マルチプロトコル通信を、同時にかつ確実にサポートすることが求められています。しかも、多くの場合、電力やメモリの制約が厳しいリソース制限のあるマイクロコントローラ上で実現しなければなりません。そのような環境において、ベアメタル開発でこれらの機能を拡張していくのは困難です。

異なるタイミング要件や優先順位を持つ複数の機能が同時に動作させる必要がある場合、逐次制御ループではすぐに管理が困難になります。開発チームは、システムを確実に動作させるためだけに、カスタムスケジューラの作成、ドライバの移植、低レベルな統合上の問題の解決に数週間を費やすことになってしまいます。

組み込みリアルタイムオペレーティングシステムは、並列タスクの管理、プロセッサによる処理時間の割り当て、そして時間的制約の厳しい動作が予測通りに実行されることを保証することで、この問題に対処します。しかし、現代の組み込みシステムにおいては、タスクスケジューリングだけでは不十分です。システム設計者には、ネットワークスタック、セキュリティライブラリ、Bluetoothサポート、そして幅広いハードウェア互換性が必要であり、これらはすべて単一のフレームワーク内で維持され、すぐに生産環境で使用できる状態でなければなりません。Zephyr RTOSは、まさにこれを提供します。

組み込みファームウェア開発の基礎

Zephyrは、Linux Foundationが提供するオープンソースの組み込みリアルタイムオペレーティングシステム(RTOS)です。低消費電力のCortex-Mマイクロコントローラから、より高性能なエッジクラスのプロセッサに至るまで幅広いプラットフォームをサポートしており、同じソフトウェアフレームワークで幅広い組み込みアプリケーションに対応できます。

本システムは、モジュール式でKconfig駆動のアーキテクチャを基盤としており、開発者は、ネットワークスタック、Bluetooth Low Energy(BLE)、USBデバイスサポート、暗号ライブラリ、ファイルシステム、電源管理機能など、アプリケーションに必要なサブシステムのみを選択することができます。選択されなかった機能はコンパイル時に除外されるため、固定されたオペレーティングシステムのメモリ使用量に縛られることなく、アプリケーションに合わせてファームウェアを拡張することが可能です。この柔軟性は、リソースに制約のあるファームウェア開発において極めて重要です。

カーネルレベルにおいて、Zephyrは、割り込みレイテンシが制限され、ティック(時間管理の最小単位)分解能を設定可能な、プリエンプティブ(優先度ベースの強制タスク切り替え)かつ優先度ベースのスケジューリングを提供します。この決定論的なリアルタイム動作により、モータ制御、センササンプリング、産業用制御ループ、ワイヤレス通信タスクなどの時間的制約のある動作が、マルチスレッド環境であっても予測可能な形で実行されます。

ハードウェア抽象化モデルは、基盤となるシリコンにかかわらず、安定したAPIを通じてGPIO、SPI、I2C、PWMなどの周辺機器を公開します。ボードサポートパッケージ(BSP)を使用してこれらのインターフェースを特定のハードウェアにマッピングすることで、Zephyrは開発者がプラットフォーム固有のレジスタ設定を避けて移植性の高いファームウェアを作成できるようにし、組み込みシステム設計の移行や拡張に必要な労力を大幅に削減します。

カーネル以外にも、Zephyrには、Bluetooth 5.x、IEEE 802.15.4、ネイティブTCP/IPスタック、MQTT、CoAP、Mbed TLS経由のTLS、およびMCUbootによるセキュアブートロードに対応した、実運用可能なサブシステムが含まれています。これらのコンポーネントは積極的にメンテナンスされ、実機でのテストを経ており、商用製品で広く採用されているため、開発者が独自にソフトウェアスタックを構築、検証する必要性が低くなります(図1)。

NXP Zephyr RTOSアーキテクチャ図の画像図1:Zephyr RTOSのアーキテクチャの図。プラットフォーム層からカーネル、OSサービス、アプリケーションサービスを経てアプリケーション層に至るまでの完全なソフトウェアスタックを示しています。(画像提供:NXP Semiconductors)

Zephyrは、現代の組み込み開発のための強力なソフトウェア基盤を提供します。しかし、実用設計においてその機能を最大限に発揮できるかどうかは、それが動作するハードウェアのエコシステムにも等しく依存します。シリコンベンダーのBSP、周辺機器ドライバ、およびツールチェインの整合性は、Zephyrの機能がどの程度完全に動作するファームウェアへと反映されるかを左右します。これらが不完全または未成熟な場合、統合上の問題が開発サイクルの後半に表面化し、その解決には多大なコストがかかります。

組み込みシステムにおけるハードウェアエコシステムの重要性

RTOSの機能とハードウェアの準備状況との間に生じるギャップこそが、基盤となるシリコンエコシステムの強さが重要な技術的考慮事項となる点です。NXP Semiconductorsは、幅広いマイクロコントローラおよびプロセッサの製品ラインアップ全体で、業界をリードするZephyrのサポートを提供することで、このギャップを埋めています。

Zephyrプロジェクトの創設メンバー6社のうちの1社として、NXP Semiconductorsは、当初からLinux Foundationの下で、そのアーキテクチャと方向性の形成に貢献してきました。この基盤となる関与は、今日のNXPのZephyrサポートの深さ、一貫性、そして幅広い範囲に反映されています。

NXPは現在、Zephyr OSをサポートする40以上のハードウェアプラットフォームを提供しており、その範囲は、低消費電力ワイヤレスMCU、高性能クロスオーバープロセッサ、セキュアなIoTエンドポイント、そしてCAN FD接続機能を備えた車載グレードのコントローラにまで及びます。これらすべてにおいて、Zephyrボードのサポートは各プラットフォームの機能に合わせて維持、調整されており、開発チームはNXPのハードウェア全製品にわたって一貫したソフトウェアフレームワークを利用することができます。

NXP Semiconductorsは、ベンダー固有のフォークや、ツリー外のパッチセットとしてではなく、メインラインのコードベース内でZephyr RTOSのコアサブシステム、アップストリームのドライバ開発、およびのプラットフォーム対応に直接貢献することで、この互換性を実現しています。NXP Semiconductorsのハードウェアサポートは、四半期ごとにリリースされるZephyrの最新リリースに常に対応しており、新しいネットワーク機能、セキュリティサブシステムの改善、およびカーネルの更新を網羅しています。その結果、開発チームはZephyrの新機能を利用するために、ベンダーのSDKの更新を待つ必要がありません。これらの機能へのサポートは、すでにアップストリームに組み込まれているからです。

NXPのツール群がこの連携を完成させます。MCUXpresso IDE、LinkServer、およびMCUXpresso拡張機能を備えたVisual Studio Codeはすべて、Zephyrのwestベースのビルドシステムと統合されており、開発チームに、初期立ち上げから量産に至るまで一貫した環境を提供します。SEGGER OzoneによるJ-Linkデバッグプローブのサポートにより、Zephyrアプリケーション内で直接、スレッドを意識したデバッグが可能になります。また同社は、自社のハードウェア上でのZephyr開発に特化した、入門ガイド、ラボガイド、アプリケーションノート、およびトレーニングリソースを提供しています。

Zephyr RTOSを本番環境で展開するチームにとって、NXP Semiconductorsの創業段階からの参画、幅広いハードウェアサポート、積極的なアップストリームへの成果の還元、そして整合性のあるツールの組み合わせは、信頼性の高い組み込みシステムのための強力かつ一貫性のあるハードウェア基盤となっています。

開発から展開まで:ZephyrとNXPの実践

Zephyr RTOSとNXP Semiconductorsのハードウェアを組み合わせることの実用的な価値は、ファームウェアの開発および実装の過程で最も明らかになります。組込みシステムを構築する際に、ソフトウェアスタックの大部分を手作業で構築するのではなく、開発者はZephyrのワークフローに合わせた事前統合済みの開発インフラを使用して、サポートされているNXP評価プラットフォーム上で試作を開始できます。

ほとんどのプロジェクトにおいて、自然な出発点はNXP FRDMまたはEVK開発プラットフォームです。たとえばFRDM-MCXN947(図2)には、Zephyr BSPの完全なサポートが備わっています。技術者は、最小限の設定でボードへの書き込みを行い、動作サンプルを実行し、すぐに周辺機器の動作検証に移行できます。周辺機器の設定はZephyrのデバイスツリーモデルに従っており、ハードウェア設定はプラットフォーム固有のレジスタ設定ではなく、宣言的に定義されます。

NXP MCX N947デュアルコアCortex-M33 MCU用FRDM-MCXN947評価ボードの画像図2:NXP MCX N947デュアルコアCortex-M33 MCU用FRDM-MCXN947評価ボード。オンボードのMCU-LinkデバッグプローブとZephyr BSPの完全なサポートを提供しています。(画像提供:NXP Semiconductors)

SPIセンサやCANトランシーバなどの周辺機器を追加する際は、初期化コードを一から記述するのではなく、適切なドライバを選択し、デバイスツリーオーバーレイを更新するだけで済みます。ネットワークやセキュリティの実装も、同様の同じパターンに従います。BLE接続、Mbed TLSによる暗号化トランスポート、およびMCUbootによるOTAファームウェア更新は、いずれも既存のZephyrサブシステムとして利用可能であり、Kconfigを通じて設定できます。

Zephyr RTOSとNXP Semiconductorsのハードウェアを組み合わせることで、組み込み開発チームがアプリケーション対応のファームウェアをより迅速に完成させることができる開発ワークフローを実現します。この利点は、開発スケジュール、信頼性、および拡張性が極めて重要なアプリケーションにおいて特に価値があります。具体的には、以下のようなアプリケーションが挙げられます。

  • 産業用オートメーション:産業用コントローラやフィールドバスゲートウェイには、決定論的なスケジューリング、堅牢なCANサポート、そして長い製品ライフサイクルが求められます。MIMXRT1176CVM8Aのデュアルコアアーキテクチャ(Cortex-M7コアおよびCortex-M4コアを搭載)により、リアルタイム制御ループと通信タスクを別々のコアで管理し、RTOSがそれぞれをを独立してスケジューリングすることが可能になります。
  • 低消費電力のIoTデバイス:これらのデバイスは、Zephyrのモジュール式ネットワークおよび電源管理サポートの恩恵を直接受けることができます。NXP Semiconductorsのバッテリ駆動型IoTエンドノード向け開発プラットフォームであるFRDM-MCXW71は、Cortex-M33アプリケーションコアと、BLEやThreadを含むマルチプロトコル無線接続機能を統合しています。Zephyr RTOSを実行することで、ティックレスアイドルおよび無線デューティサイクリングを使用して、接続性とバッテリ寿命のバランスをとることができます。電源管理ロジックはRTOSにあり、アプリケーションはセンサの動作を処理します。
  • エッジコンピューティング:Cortex-M33コアに加え、HiFi4 DSPおよびEthos-U55ニューラルプロセッシングユニットを統合したMIMXRT685SFVKBは、リアルタイムのデータ取得とローカル推論を組み合わせたアプリケーションをサポートします(図3)。このプラットフォーム向けにZephyr上でTensorFlow Lite Microを実行することで、処理をクラウドに引き渡すことなく、予知保全などのアプリケーションを実現します。

NXP MIMXRT685SFVKBクロスオーバーMCUの画像図3:MIMXRT685SFVKBクロスオーバーMCUは、Arm Cortex-M33コアとCadence Xtensa HiFi4 DSPを組み合わせています。(画像提供:NXP Semiconductors)

これらは最も一般的なアプリケーションの1例ですが、Zephyr RTOSとNXPの半導体エコシステムの組み合わせは、性能と信頼性が求められるあらゆる組み込みアプリケーションに最適です。

まとめ

組み込みシステムへの要求が高まるにつれ、それらを動作させるソフトウェアおよびハードウェアの基盤は、ますます重要になっています。Zephyr RTOSは、現代の組み込みファームウェア開発に必要なモジュール式で拡張性のあるソフトウェアフレームワークを提供します。NXP Semiconductorsは、Zephyrプロジェクトの創設メンバーとして、幅広いハードウェアサポート、アップストリームへの成果の還元、および整合の取れたツール群を通じて、このフレームワークを実用可能な、量産対応のプラットフォームへと発展させています。

DigiKey logo

免責条項:このウェブサイト上で、さまざまな著者および/またはフォーラム参加者によって表明された意見、信念や視点は、DigiKeyの意見、信念および視点またはDigiKeyの公式な方針を必ずしも反映するものではありません。

著者について

Image of Etiido Uko

Etiido Uko

Etiido Uko is a mechanical engineer and senior technical writer with over a decade of experience producing authoritative content on engineering, manufacturing, and emerging industrial technologies. His work sits at the intersection of technical depth and clear communication, helping engineers, product developers, and decision-makers understand complex systems and apply them in real-world contexts. His work spans content creation for industry leaders across multiple sectors, including Autodesk, Siemens, Xometry, Telus, and Coca-Cola. Known for his rigorous research standards and attention to technical accuracy, he combines engineering knowledge with strong editorial discipline. Beyond writing, Etiido maintains a strong interest in the evolution of engineering and technology.

出版者について

DigiKeyの北米担当編集者