これらのリソースに関するご質問や問題がございましたら、新しい質問をお寄せください。そちらで NXP サポートチームが対応いたします。
Zephyrリポジトリには、数十の NXP開発ボードのサポートが含まれています。カスタムボードを作成する場合は、同じファミリの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部品番号があります。カスタムボードを作成する際にこれを管理するためのいくつかのオプションを次に示します。
上記のSOCオプションは、SOCファミリーのボードがZephyrですでにサポートされており、そのファミリーで少なくとも1つのSOCが有効になっていることを前提としています。取締役会のサポートがない新しいSOCファミリーにZephyrを移植しようとすると、かなり多くの労力がかかる可能性があります。ポーティングの手間を最小限に抑えるには、ボードですでにサポートされているSOCファミリから始めるのが最善です。
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 ファイルは通常、新しいボードを作成するときに作成されます。ボードのピンコントロールファイルは、いつでも手作業で作成できます。ただし、特に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トポロジ が頻繁に使用されます。これらのリポジトリの例は、アプリケーション リポジトリを作成する際の参考資料として適しています。