2008567_ja-JP

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

2008567_ja-JP

2008567_ja-JP

Zephyrカスタムボードとアプリケーション

これらのリソースに関するご質問や問題がございましたら、新しい質問をお寄せください。そちらで NXP サポートチームが対応いたします。

カスタムボード

Zephyrリポジトリには、数十の NXP開発ボードのサポートが含まれています。カスタムボードを作成する場合は、同じファミリのSOCを使用して最も近い開発ボードから開始し、そのボードフォルダをクローンし、新しいボードとして名前を変更し、ハードウェアに合わせて変更することをお勧めします。カスタムボードのその他のリソースには、次のものがあります。

  • Zephyr Project Board ポーティングガイド
  • NXPブログ: i.MX RT685用のカスタムZephyrボードの作成
  • このページの「ボード pinctrl の生成」を参照してください
  • クローン化された開発ボードからメモリ設定を変更する場合は、Zephyr のメモリの詳細を参照してください。
  • VS Code用のMCUXpressoでは、v25.3.72の時点で、アウトオブツリーボードは、Zephyrアプリケーションをインポートするときにはサポートされていません。この機能は近日中に追加される予定です。それまでの間、 回避策があります。

サポートされていない SOC 部品番号

カスタムボードを作成する際の一般的な課題は、NXPが販売するすべてのSOC部品番号が現在Zephyrでサポートされているわけではないことです。

Zephyrでのサポートは、SOCによる直接のサポートではなく、取締役会に基づいています。Zephyr アプリケーションをビルドする際には、ボード名を指定する必要があります。次に、ボード ファイルには、そのボードで使用される SOC が含まれます。これらは、Zephyrでサポートされている NXPボード です。Zephyrのドキュメンテーションフレームワークには、SOCの同様のページはありません。

NXPは、開発ボードのZephyrサポートを提供しています。通常、1つの開発ボードがSOCのファミリーをサポートします。通常、開発ボードにはスーパーセットSOCがあり、そのファミリの中で最も多くの機能/メモリを提供します。たとえば、MIMXRT1060-EVKボードは、i.MX RT106xファミリでの開発に使用され、スーパーセットRT1062の部品番号を使用します。ファミリ内の他の部品番号はスーパーセットと非常によく似ていますが、一部の機能が不足している、メモリが少ない、または小さなパッケージのピンが少ない場合があります。

Zephyrのサポートはボードに基づいており、ボード上のSOCがサポートされているため、今日では、Zephyrで直接サポートされていない他の多くの同様のSOC部品番号があります。カスタムボードを作成する際にこれを管理するためのいくつかのオプションを次に示します。

  • Zephyrでサポートされている開発ボードをカスタムボードのベースにし、カスタムボードで同じSOC部品番号を使用します。そのSOCは、開発ボードを有効にするためにZephyrですでに利用可能です。

  • 回路基板上では同じファミリのSOCを使用しますが、Zephyrカスタムボードは開発ボード上のスーパーセットSOCを使用するように構成します。たとえば、回路基板はRT1061部品番号を使用していますが、カスタム基板ファイルではMIMXRT1060-EVKと同じRT1062部品番号が使用されています。このオプションの利点は、Zephyrが追加のSOCサポートを必要としないことです。スーパーセットには、回路基板上のSOCで使用可能なすべての機能とメモリが含まれている可能性があります。その後、カスタムボードファイルは、使用できない周辺機器を無効にし、必要に応じてメモリサイズを減らすことで、デバイスツリーとKconfigを変更できます。SOC pinctrl ファイルは、 HAL_NXP リポジトリにある、サポートされているファミリのほとんどの SOC で使用できます。通常、カスタムボードには、使用される正確な部品番号のSOC pinctrlファイルを含めることができます。

  • 同じファミリーのSOCを使用しますが、Zephyrで必要なすべてのSOCファイルを提供します。たとえば、回路基板が RT1061 部品番号を使用しているため、開発者は RT1061 部品番号オプションを Zephyr リポジトリに追加し、その RT1061 部品番号を使用するようにカスタム ボードを構成します。このオプションでは、Zephyr リポジトリにより多くの労力とある程度の快適さが必要ですが、一部の Zephyr ユーザーはこのオプションを好む場合があります。また、このように新しいSOCが有効になっている場合は、Zephyrリポジトリの上流にコントリビュートできます。

上記のSOCオプションは、SOCファミリーのボードがZephyrですでにサポートされており、そのファミリーで少なくとも1つのSOCが有効になっていることを前提としています。取締役会のサポートがない新しいSOCファミリーにZephyrを移植しようとすると、かなり多くの労力がかかる可能性があります。ポーティングの手間を最小限に抑えるには、ボードですでにサポートされているSOCファミリから始めるのが最善です。

ピンctrl

Zephyr は pinctrl を使用して、SOC のピンと pinmux の設定を構成します。通常、各ボードには、そのボードのデフォルトの pinctrl 設定を含む pinctrl ファイルがあります。たとえば、これは mimxrt1060_evk-pinctrl.dtsi です。NXPには、mimxrt1062dvl6a-pinctrl.dtsiなどの各SOCのpinctrlファイルもあります。SOC の pinctrl ファイルは HAL_NXP リポジトリにあり、各ピンのすべての pinmux オプションが用意されているため、ボードの pinctrl ファイルで pinmux オプションを簡単に選択し、読みやすくなります。NXPボードの場合、ボードのpinctrlファイルには、次のようなSOCのpinctrlファイルが含まれています。

#include 

ボードpinctrlの生成

新しいボードの pinctrl ファイルは通常、新しいボードを作成するときに作成されます。ボードのピンコントロールファイルは、いつでも手作業で作成できます。ただし、特にNXPは MCUXpresso Config Toolに含まれるピンツールを提供しているため、ファイルの生成は便利な場合があります。ピンツールには、アプリケーションで使用されるすべての必要な信号を選択し、ピンマルチプレクサとピンの設定を構成するのに役立つGUIがあります。リリース v25.03 以降、Config Tool では、i.MX RT1xxx および MCX デバイス用の Zephyr ボード pinctrl ファイルを生成できます。Zephyr でサポートされているデバイスは、今後のリリースで追加される予定です。ボードの pinctrl ファイルを生成する方法については、 Config Tool User Guide を参照してください。

Config Toolでまだサポートされていない他のデバイスの場合、NXPにはボードのpinctrlファイルを生成するのに役立つPythonスクリプトがあります。これらのスクリプトは、最終的に Config Tool に置き換えられ、非推奨になります。このスクリプトは、上記と同じコンフィグ ツールを使用してボードのピンを構成し、ファイルからピン情報を抽出してボードの pinctrl ファイルを生成します。スクリプトは HAL_NXP リポジトリに含まれており、この Readme に記載されています。

生成ができない場合は、ボードの pinctrl を手書きする必要があります。最適なオプションは、同様の SOC のボード pinctrl ファイルを見つけ、必要に応じて変更することです。

新しいツリー外アプリケーション

Zephyr リポジトリには、ドライバー、サブシステム、またはモジュールの使用方法を学ぶのに役立つ サンプルテスト アプリケーションが豊富にあります。新しいアプリケーションを作成するときは、アプリ用に新しい Git リポジトリを作成し、West を使用して Zephyr リポジトリをモジュールとして取り込むことができます。アプリケーションでは、ZephyrでWestの T2 Starトポロジ が頻繁に使用されます。これらのリポジトリの例は、アプリケーション リポジトリを作成する際の参考資料として適しています。


Zephyr Knowledge Hub に戻る

标记 (1)
无评分
版本历史
最后更新:
‎03-02-2026 01:31 PM
更新人: