私は、工場テスト中にU-Bootのデバイスツリーを動的に選択する任務を負っています。NXP i.MX8xをベースにしたさまざまな製品バリエーションをテストし、それぞれに異なるGPIOと周辺機器があります。PCBバリアントはプロセッサに認識されていませんが、U-Bootをロード する前に 正しいデバイスツリーを選択する必要があります。
私は3つのデバイスツリーのバリエーションを持っています。
1.一般的な製品の起動とLinuxブートの基本バリアント。
2.工場テスト:バリアント1(DTS 1から継承)。
3.工場テスト:バリアント2(DTS 1からも継承)。
私はU-Bootのデバイスツリーを動的に選択する方法を探しましたが、Linux(fdt_file / fdt_config)の方法しか見つかりませんでした。U-Bootのデバイスツリーはバイナリで固定されているようです。
これを解決するためのアイデア、好みでリストされています。
1.すべてのPCBで8つのディップスイッチを使用して、正しいデバイスツリーを決定し、U-Bootコンソールを起動します。
2. U-Boot コンソールでデバイス ツリーを手動で選択し、新しいデバイス ツリーを選択した状態で U-Boot コンソールを再読み込みします。
3. UUUを使用して、テスト中に正しいdtbファイルをロードします。
NXPのAHABセキュアブートを使用していますが、何かを見落としていて、AHABのどこかでU-Bootの正しいデバイスツリーをロードできるかもしれませんか?
助けてくれてありがとう、
テイラー
これらは非常に興味深いもので、将来これを再検討する時間があれば、おそらく非常に役立つでしょう。両方のリンクをブックマークしました。助けてくれてありがとう!
それは私が期待していたことです。確認していただきありがとうございます。