Zephyrのスタート・ガイド

最終更新日時: Aug 1, 2025サポート Zephyr™ OS for Edge Connected Devices

このドキュメントの内容

  • 1

    セットアップ
  • 2

    ビルドと実行
  • 3

    作成
  • 4

    開発者エクスペリエンス

1. セットアップ

1.1 Zephyr環境の準備

ようこそ。このビデオでは、Visual Studio CodeとMCUXpresso拡張機能を使用して、Windows OSでZephyr開発環境を準備し、実行するための基本的な手順を説明します。

セットアップを迅速かつ容易に完了し、細かいことに煩わされることなく、すぐにアプリケーションの開発を開始できるようにすることを目標としています。

  1. Visual Studio Codeのダウンロードとインストール
    Windows向けVS Codeの最新バージョンを入手します。
  2. MCUXpresso for VS Code拡張機能のインストール
    NXPの公式の拡張機能を追加して、組込み開発機能を有効化します。
  3. MCUXpressoインストーラの実行
    インストーラを使用して、SDK、ツールチェーン、環境をセットアップします。
  4. Zephyrリポジトリのインストール
    Zephyrリポジトリのクローンを作成し、設定してセットアップを完了します。
  5. MCUXpresso Config Toolsのインストール
    Zephyr向けピン・ツールのサポートは、バージョン25.03以降で提供されています。
  6. MCUXpressoセキュア・プロビジョニング・ツールのインストール

1.2 ツールチェーンをインストールする

NXPは、MCUXpresso for VS CodeというVS Code向け拡張機能を無償で提供しています。VS Codeをダウンロードして拡張ライブラリにアクセスします。

Visual Studio Code

VS Codeを入手する

以下のチュートリアルで、ホストPCにVS Codeをインストールする方法を説明しています。

1.3 Zephyr Developerですぐに設計を開始する

MCUXpressoインストーラには、「Zephyr Developer」というオプションが含まれています。このオプションにより、Zephyr SDKに加えて、必要なすべてのコンポーネント、ツール、依存関係をダウンロードできます。Zephyrソフトウェア開発キット (SDK) には、Zephyrでサポートされるそれぞれのアーキテクチャ向けのツールチェーンとして、Zephyrアプリケーションをビルドするために必要なコンパイラ、アセンブラ、リンカなどのプログラムが含まれています。

MCUXpresso for VSCodeの「Quickstart Panel(クイックスタート・パネル)」内でMCUXpressoインストーラを探します。

GS-ZEPHYR-IMG1.3

1.4 MCUXpresso Config Tools

MCUXpresso Config Toolsは、ユーザーがMCUXpresso SDKプロジェクトを新規に作成するための構成ツールの統合スイートであり、カスタム・ボード・サポート用の初期化Cコードを生成するためのピン・ツールとクロック・ツールも備えています。ピン・ツールには、アプリケーションで使用されるすべての信号を選択し、ピンの多重化とピン設定を構成するのに役立つGUIがあります。リリースv25.03以降のConfig Toolsでは、i.MX RT1xxxおよびMCXデバイス用のZephyrボードのpinctrlファイルを生成できます。Zephyrではpinctrlを使用して、SOCのピンの多重化とピン設定を構成します。

以下の[MCUXpresso Config Toolsを入手する]をクリックして、Config Toolsインストーラを入手してください。

MCUXpresso Config Tools

MCUXpresso Config Toolsを入手する

1.5 プログラミング・ツールとプロビジョニング・ツール

MCUXpressoセキュア・プロビジョニング (SEC) ツールは、NXPのMCUデバイスでブート可能な実行ファイルを簡単に生成およびプロビジョニングできる、GUIベースのアプリケーションです。いずれのユーザーも、試験運用および量産に向けてMCUXpressoセキュア・プロビジョニング (SEC) ツールから始めることをお勧めします。このツールは、生産段階におけるNXPのマイクロコントローラでのセキュア・プログラミングとデバイス・プロビジョニングをサポートします。ツールをダウンロードすると、[Help(ヘルプ)]タブの下にユーザー・ガイドが表示されます。「プロセッサ固有のワークフロー」の章に記載されている、ボードに関する指示に従ってください。

SEC

SECをダウンロード

1.6 MCUXpresso for VS Codeの概要

MCUXpresso for VS Codeの主な機能について

MCUXpresso for VS Codeの使用を開始する際には、開発作業を合理化できるいくつかの主な機能やツールについて知っておくと役立ちます。このセクションは、深く掘り下げるよりも全体像を示すことで、ユーザーがすぐに概要を把握し、必要に応じてさらに活用できるようになることを目的としています。

クイックスタート・パネル

プロジェクトを作成、インポート、管理するためのローンチパッド。よく使うタスクをすばやく起動できます。このツールで最もよく使用されるのは、[Import Example from Repository(リポジトリからサンプルをインポート)]と[Open MCUXpresso Installer(MCUXpressoインストーラを開く)]です。

プロジェクト・ビュー

ワークスペースやプロジェクト・ファイルがまとめられています。Zephyrプロジェクトの構造を理解すると、コードをナビゲートしたり、より効果的に管理したりするのに役立ちます。

Getting Started with Zephyr

デバイス・ツリー

デバイス・ツリーは、ハードウェアのレイアウトと構成を示します。Zephyrプロジェクトをコンパイルし、デバイス・ツリー・ビューを更新すると、プロジェクトのハードウェアの階層構造がツリー状に表示されます。ノードやそれに関連する値を調べることができます。

Getting Started with Zephyr

プリスティン・ビルド

ビルドを消去し、最初からリビルドするにはこれを使用します。特に、設定を切り替えたり、ビルドの問題を解決したりする際に役立ちます。

Getting Started with Zephyr

デバッグ

MCUXpresso for VSCodeには、さまざまなデバッガが統合されています。ブレークポイントの設定、コードのステップ実行、変数の検査などによりトラブルシューティングを効率化する方法を習得してください。

Getting Started with Zephyr

ターミナルおよびシリアル・モニタ

ターミナルは、インポートされたリポジトリをコマンドラインで操作できるように設計されています。シリアル・ターミナルを使用すると、UARTを介してボードを操作できるようになります。ロギング、デバッグ、リアルタイム通信に最適です。

Getting Started with Zephyr

1.7 ハードウェアの準備

このガイドでは、FRDM-MCXN947ボードを例としてZephyrの使用を開始するための手順を説明します。ただし、任意の別の評価ボードを使用した場合でも、全般的に同様の手順に従うことができます。

  1. 評価ボードの選択

    このガイドではFRDM-MCXN947を使用していますが、別のサポートされているボードを代わりに使用することもできます。その場合、必ず以下を行ってください。

    • Zephyrでそのボードがサポートされているか確認する
    • ボード固有のセットアップ手順がないか確認する
  2. オンボード・デバッガのファームウェアをアップデートする

    ほとんどの評価ボードにはオンボード・デバッガが付属しています。互換性と安定性を確保するために、ボードのデバッガのファームウェアが最新であることを確認してください。

    LinkServerファームウェア・ページから最新のファームウェアをダウンロードします。適切なファームウェアの種類を以下から選択します。

    • CMSIS-DAP
    • Segger J-Link

    ボードにオンボード・デバッガが搭載されていない場合は、外部デバッガをターゲット・ボードに接続してください。

  3. ボードへの電源供給

    開発に際し、ボードに電源を供給する必要があります。一般的には以下のものを使用します。

    • USBケーブル(最も一般的)
    • バレル・ジャック・コネクタ(一部のボードに使用)
  4. ボードの接続

2. ビルドと実行

このセクションでは、MCUXpresso for VS Codeを使用してFRDM-MCXN947ボードのLED点滅デモをインポートおよびビルドする方法について説明します。このプロセスでは、VS Code環境内で行われるサンプルの選択、ビルドの構成、プロジェクトのコンパイル、およびボードへの書き込みの手順のすべてを順を追って説明します。最後には、ハードウェア上でLED点滅アプリケーションを実行できるようになります。これは、独自のZephyrベースのプロジェクトを実現するための堅実な出発点となります。

別のボードを使用して同じ手順に従うこともできます。サポートされているボードのページをご確認ください。

2.1 Zephyr点滅デモ・サンプルのインポートおよびビルド

  1. VS Codeを開き、MCUXpresso拡張機能を起動します
  2. MCUXpressoの「Quickstart Panel(クイックスタート・パネル)」を展開します。これは、通常は左側のサイドバーにあります。

    Getting Started with Zephyr
  3. 点滅サンプルのインポート
  4. ダイアログの設定:

    • Repository(レポジトリ):「Zephyr Repository(Zephyrリポジトリ)」を選択
    • Zephyr SDK:利用可能な最新バージョンを選択
    • Board(ボード):FRDM-MCXN947 CPU0
    • Template(テンプレート):Blinky Sample(点滅サンプル)
    • App Type(アプリケーションの種類):Freestanding application(フリースタンディング・アプリケーション)
    • Name(名前):blinky(点滅)
    • Location(場所):C:\FreestandingZephyrProjects\
    • [Import(インポート)]をクリックしてプロジェクトをインポートします
    Getting Started with Zephyr
  5. プロジェクトのビルド
  6. [Projects View(プロジェクト・ビュー)]で、インポートされたプロジェクトのフォルダを右クリックします。[Pristine Build/Rebuild Project(プリスティン・ビルド/プロジェクトのリビルド)]を選択します

    ターミナル出力に、ビルド・プロセスが正常に完了したことが表示されます。

    Getting Started with Zephyr
  7. ボードのデバッグ
  8. USB (Type-C) 経由でFRDM-MCXN947を接続します。[Projects View(プロジェクト・ビュー)]で、インポートされたプロジェクトのフォルダを右クリックします。

    [Debug(デバッグ)]を選択します。デバッグ・セッションが開始され、アプリケーションの起動、命令のステップ・オーバー、関数のステップインまたはステップアウト、デバッグ・セッションの一時停止や終了が可能になります。

    [Play/Continue(実行/続行)]ボタンを押すと、アプリケーションが実行されます。ボードのLEDが点滅し始めるはずです。

    Getting Started with Zephyr

3. 作成

3.1 デバイス・ツリー・エディタを使用したZephyr RTOSの新規構成の作成

  1. VSCodeのMCUXpresso拡張機能の左下にある[DeviceTree Editor(デバイス・ツリー・エディタ]を起動します。リロード・アイコンをクリックして構成をロードします
  2. Getting Started with Zephyr
  3. [alias(エイリアス)]セクションに移動します
  4. ノードまたはプロパティをクリックすると、MCUXpressoデバイス・ツリー・ビューアによって、そのノードが定義されている、またはプロパティが設定されているソース・コード上の場所が開きます。

    Getting Started with Zephyr Getting Started with Zephyr
  5. 実際のLEDノードのエイリアスを確認します。この例では、led0led_3となっています。[leds (LED)]セクションを開き、led_3をクリックしてコードを表示します
  6. Getting Started with Zephyr Getting Started with Zephyr
  7. ここでは、赤色LEDに対してGPIO 0 pin 10と定義されています
  8. Getting Started with Zephyr
  9. GPIOピンをさらに追加してみましょう
  10. ただし、外部LED、電圧計、またはオシロスコープに接続できる別のピンを使用して、LEDの点滅を視覚化できるようにします。この例では、FRDM-MCXN947のArduinoヘッダのJ4 pin10にルーティングされるGPIO 0 pin15を使用します。

    Getting Started with Zephyr
  11. [alias(エイリアス)]セクションに戻り、新しい外部ピンで参照するエイリアスを追加します
  12. Getting Started with Zephyr
  13. srcフォルダのプロジェクト・ファイルにあるmain.cのソースに移動し、led0を新しい外部LEDであるled3に置き換えてみましょう。
  14. Getting Started with Zephyr
  15. プロジェクトのリビルド
  16. 実行する前に、追加されたものがデバイス・ツリー・ビューアで確認できるようになっています。

    Getting Started with Zephyr
  17. デバイスのデバッグまたはフラッシュ
  18. ボードのピンに外部LED、マルチメータ、またはオシロスコープを接続し、想定どおりにオンとオフが切り替わっていることを確認します。

4. 開発者エクスペリエンス

4.1 Zephyr開発者エクスペリエンス

MCXおよびi.MX RTシリーズでのZephyrの移植性

このビデオでは、2つの異なるMCUアーキテクチャを最適化する方法を示すことで、Zephyrの移植性がもたらす利点に焦点を当てています。顔認識のデモでは、ニューラル・プロセッシング・ユニットおよび基本のディスプレイを備えたMCX N947と、ディスプレイ・インターフェースを内蔵したi.MX RT1060の両方でZephyrが動作しています。このチュートリアルでは、両方のバージョンにおいて、アプリケーションを変更することなくプラットフォームの抽象化がどのように実現されるのかを解説します。リンクをクリックするとフル・バージョンのビデオをご覧いただけます。