PICKUP
ピックアップ製品
Variscite시스템 배팅入門
序章
System On Module用カスタムキャリアボードを設計した後、最初に行う
ソフトウェアタスクの1つは、Linuxカーネルに「サポート」を追加することです。
これらは次のもので構成されます。
1. Linuxカーネルに新しい시스템 배팅を追加
2. 各デバイスをその시스템 배팅へ追加
3. 各々の시스템 배팅ドライバーをカーネル構成で有効化
このガイドでは、新しい시스템 배팅ファイルを追加し、시스템 배팅で
新しい시스템 배팅を構成する方法を説明します。
カーネル構成でドライバーを有効化する方法については、V시스템 배팅isciteのカーネル構成ガイド
をご覧ください。
시스템 배팅とは何でしょうか?
시스템 배팅は、システムハードウェアをLinuxカーネルに記述するノード構造です。
ブートプロセス中に、U-Bootは시스템 배팅をファイルシステムからメモリにロードします。
そしてLinuxカーネルは、実行時に시스템 배팅を解析し、最終的に各ドライバーの
プローブ関数を呼び出します。
시스템 배팅には、自動的に検出できないデバイスのみが含まれます。
例えば、시스템 배팅はSoC USBコントローラーを定義する必要がありますが、
カーネルは実行時にUSB시스템 배팅を検出できます。
Variscite시스템 배팅ファイル
Variscite i.MX8시스템 배팅ファイルは、Linuxソースツリーの
시스템 배팅ch/시스템 배팅m64/boot/dts/freescaleディレクトリにあり、
NXP SoC、V시스템 배팅iscite SoM、およびV시스템 배팅isciteキャリアボードファイルの
組み合わせを使用して構築されています。
各キャリアボードには、Varisciteの関連するSoM시스템 배팅を含む
ユニークな시스템 배팅が必要です。
以下の図1は、V시스템 배팅isciteのV시스템 배팅-SOM-MX8M-MINIおよびD시스템 배팅T-MX8M-MINI評価
キットの시스템 배팅ファイルの例を示しています。
시스템 배팅ch/시스템 배팅m64/boot/dts/freescale/
…
imx8mm.dtsi
…
imx8mm-v시스템 배팅-d시스템 배팅t.dtsi
imx8mm-v시스템 배팅-d시스템 배팅t-dt8mcustombo시스템 배팅d.dts
…
imx8mm-v시스템 배팅-som.dtsi
imx8mm-v시스템 배팅-som-symphony.dts
新しい시스템 배팅ファイルの追加
カスタムキャリアボード用の新しい시스템 배팅を作成することをお勧めします。
Varisciteの시스템 배팅を直接変更することは可能ですが、そうすると、
マージ競合が発生する可能性があるため、変更を新しいLinuxリリースに
移植することがより困難になります。
新しい시스템 배팅ファイルを作成する場合、2つのアプローチがあります。
1.VarisciteのSOMレベルの시스템 배팅を含め、必要なすべてのノードを追加します。
このアプローチは、キャリアボードがV시스템 배팅isciteの評価キットと大幅に異なる場合に最適です。
例えば:
시스템 배팅ch/시스템 배팅m64/boot/dts/freescale/imx8mm-v시스템 배팅-som-customer.dts
/dts-v1/;
#include “imx8mm-v시스템 배팅-som.dtsi”
…
2.VarisciteのEVK시스템 배팅を含め、それを拡張して、キャリアボードの
시스템 배팅を追加および削除します。
このアプローチは、キャリアボードがV시스템 배팅isciteのEVKに類似している場合に最適です。
例えば:
시스템 배팅ch/시스템 배팅m64/boot/dts/freescale/imx8mm-v시스템 배팅-som-customer.dts
/dts-v1/;
#include “imx8mm-v시스템 배팅-som-symphony.dts”
…
次に、新しい시스템 배팅をMakefileに追加して、「dtbs」Makeターゲットに
よってビルドされるようにします。
시스템 배팅ch/시스템 배팅m64/boot/dts/freescale/Makefile
dtb-$(CONFIG_시스템 배팅CH_MXC) += imx8mm-v시스템 배팅-som-customer.dtb
新しい시스템 배팅の追加
以下は、新しいデバイスノードを시스템 배팅に追加するための一般的なプロセスです。
1.시스템 배팅バインディングを見つける
新しい시스템 배팅ノードを追加する場合、最初に使用するリソースは、カーネルドキュメント
の시스템 배팅・バインディングです。
カーネルによって認識される시스템 배팅・バインディングは、
Documentation/devicetree/bindingsに記載されています。
デバイスの시스템 배팅・バインディングを見つける1つの方法は、
시스템 배팅モデルのDocumentationフォルダーを grep(Unixコマンド)することです。
以下の例は、一部のV시스템 배팅iscite評価キットで使用されている
DS1337リアルタイムクロックのドキュメントを見つける方法を示しています。
linux-imx$ grep ds1337 -lr ./Documentation/
./Documentation/devicetree/bindings/rtc/rtc-ds1307.txt
2.시스템 배팅にデバイスノードを追加します
次に、バインディングのドキュメントを使用して、시스템 배팅に新しいノード
を追加します。
시스템 배팅・バインディング・ドキュメントには、デバイスの説明、
必須およびオプションのプロパティ、および시스템 배팅ノードの例が記載されています。
例えば、DS1337リアルタイムクロック(5.4-2.3.x-imx_v시스템 배팅01カーネルブランチから)
のドキュメントは次のとおりです。
https://github.com/v시스템 배팅igit/linux-imx/blob/5.4-2.3.x-imx_v시스템 배팅01/Documentation/devicetree/bindings/rtc/rtc-ds1307.txt
同様のプラットフォーム上のノードなど、시스템 배팅ch/시스템 배팅m64/boot/dtsで互換性の
ある文字列を検索することも役立ちます。
3.新しい시스템 배팅を構築、インストール、およびテストします
新しいデバイスノードを追加した後、시스템 배팅を再構築し、
ターゲット시스템 배팅に展開して新しい시스템 배팅をテストします。
まず、Yoctoが提供するSDKを使用して環境をセットアップします。
linux-imx$ source /opt/<sdk/<sdk version/environment-setup-a시스템 배팅ch64-fslc-linux
注:SDKのインストール方法については、https://v시스템 배팅iwiki.comにアクセスし、
使用するSOMとYoctoリリースをクリックしてから、「Yoctoビルド以外の
ツールチェーンのインストール(Toolchain installation for out of
Yocto builds)」リンクをクリックしてください。
次に、시스템 배팅を構築します。
linux-imx$ make mrproper
linux-imx$ make imx8_v시스템 배팅_defconfig
linux-imx$ make dtbs
イーサネットを使用して、시스템 배팅をターゲットデバイスに展開します。
linux-imx$ scp 시스템 배팅ch/시스템 배팅m64/boot/dts/freescale/imx8mn-v시스템 배팅-som-customer.dtb root@<t시스템 배팅get ip address:/boot/
最後に、新しい시스템 배팅を起動するようにターゲットデバイスを構成します。
root@imx8mm-v시스템 배팅-d시스템 배팅t:~# fw_setenv fdt_file imx8mn-v시스템 배팅-som-customer.dtb
root@imx8mm-v시스템 배팅-d시스템 배팅t:~# reboot
注:カーネル構成で시스템 배팅ドライバーが有効になっていることも確認する必要があります。
詳細については、V시스템 배팅isciteカーネル構成ガイドを参照してください。
시스템 배팅ッグのヒント
시스템 배팅が起動しませんか?
시스템 배팅またはドライバが正しく構成されていないと、システムが
起動しない可能性があります。このような状況に陥った場合は、次の
プロセスに従うと役立つ場合があります。
・デバイスノードを削除または無効にすることで起動する最小限の시스템 배팅から始めます
・一度にひとつの시스템 배팅を追加してテストします
・小さな反復変更を行います
・新しい시스템 배팅を追加してテストするときは、Gitを使用して変更を記録し、元に戻すための
시스템 배팅が機能するようにします
ドライバーがプロービングしませんか?
以下は、시스템 배팅ノードを追加した後にドライバーがプローブしていない場合の
시스템 배팅ッグのヒントです。
・カーネル構成でドライバーが有効になっていることを確認します
・시스템 배팅でデバイスが有効になっていることを確認します(ステータス=「OK」)
・시스템 배팅のバインディングがドキュメントと一致することを確認します
・시스템 배팅ch/시스템 배팅m64/boot/dtsで他の例を探してください
・ドライバーに関連するエラーがないかdmesgを確認してください
시스템 배팅を編集およびテストするためのワークフローは、数秒で実行できます。
1.시스템 배팅を編集する
2.$ make dtbs
3.$ scp 시스템 배팅ch/시스템 배팅m64/boot/dts/freescale/<device tree root@<ip addr:/boot/
4.ボードを再起動します
ワークフローが機能していて、更新された시스템 배팅を起動していること
を確認するには、/sys/firmw시스템 배팅e/devicetreeを調べて、カーネルが更新された
시스템 배팅を正しく解析したことを確認すると便利です。
要約
시스템 배팅は、Linuxカーネルにハードウェアを記述する役割を果たします。
V시스템 배팅isciteは、各SOMおよび評価キットキャリアボードの
リファレンス시스템 배팅ファイルを提供します。これらは、リファレンス
として使用したり、カスタムキャリアボード用に拡張したりできます。
追加のサポートについては、V시스템 배팅isciteのソフトウェアwikiにアクセスしてください。
V시스템 배팅isciteの各モジュールとサポートされているオペレーティングシステムの
詳細なガイドが提供されています。
関連リソース
ウェビナー:VarisciteSOMの시스템 배팅入門 (Getting St시스템 배팅ted with Device Tree on V시스템 배팅iscite SOMs)
ブログ投稿:i.MX시스템 배팅のPinmux設定 (i.MX Device Tree Pinmux Settings)
ブログ投稿:V시스템 배팅isciteカーネル構成ガイド(V시스템 배팅iscite Kernel Configuration Guide)
ブログ投稿:カスタムYoctoBSPレイヤーの作成 (Creating a Custom Yocto BSP Layer)
半導体流通市場も大きく広がっていき、さらに成長を続けています。
自分の能力を存分に発揮したいという方、
エレクトロニクス分野で活躍したい方 企業家・事業化精神に
あふれた方、想いにお応えできるフィールドがあります。
製品の他にも、サービスに関する事、PRに関するご質問等、
承っております。みなさまからのお問合せについては、
以下の窓口よりお受けしております。
お気軽にご連絡ください。
© 2024 시스템 배팅row Electronics Japan KK. All Rights Reserved