こんにちは、
S32g3を使用したカスタムECUのために、DDRメモリのサイズをデフォルトの4Gから2Gに変更する必要があります。BSP 46.00については、これがBL2(TFA)の一部であり、BSPユーザーマニュアルに章があることは承知していますが、しかし...
そこに記載されている手順は「手動」であり、つまりTFAは独立したバイナリとして構築する必要があるということです。
私はBSP46.00でYoctoを使用しており、開始参照としてs32g399aevb3を使用しました。独自のカスタム MACHINE とメタレイヤーを作成し、ビットベイクを正常に実行して、EVB 上でイメージを実行できます (元の MACHINE と同じ 4G です)。
今度は、DDRメモリのサイズ変更(4G→2G)をYoctoフローに組み込みたいと考えています。今のところ、TFA レシピの bbapend に新しい DDR ファイルをパッチとして追加することを考えていますが、NXP_FIRMWARE_LOCAL_DIR が指定されていない場合、Yocto ビルドが失敗するという問題があります。
私の質問は以下のとおりです。
1. 「手動」オプションだけが唯一の選択肢なのでしょうか(そうでないことを願います)?
2. 私の意図したアプローチは正しいでしょうか?
3. bbapend で TFA 用のパッチ (またはローカルリポジトリへの参照) を使用する場合、NXP_FIRMWARE_LOCAL_DIR の削除によって発生するビルドの失敗を回避するにはどうすればよいでしょうか? 独自のバイナリを作成することはできないと思いますし、DDR 用の変更と EVB 用の ddr_firmware の両方を持つことも意味がありません (そのため、NXP_FIRMWARE_LOCAL_DIR を削除する必要があります)。
Hello
迅速な返信をありがとうございます。
>>1.DDR_FW_BIN_PATH パラメータは、パスを指定するために設定する必要があります。 NXPボード固有のDDRファームウェアバイナリ これはファイルなので、NXPボード(RDB、EVBなど)用のイメージをビルディングするためだけのものです。
特定のNXPボード向けにビルドする必要がないのに、なぜNXPボード固有のバイナリへのリンクを提供する必要があるのでしょうか?私のマシンはs32g3evb3をベースにしています(マシンファイルではrequire conf/machine/include/s32g3evb3.incを使用しています)。そのため、コンパイルの最後にTFAがNXPバイナリではなく、S32DSによって生成された実際の新しいファイルを使用するようにしたいと考えています。bitbakeフローからDDR_FW_BIN_PATHパラメータを削除できない場合、どのようにすればそれを確実に実現できますか?
>>2.カスタムボード用のTFAを構築するには、以下を使用することをお勧めします。 カスタムDDR_DRV パラメータ make 。これは、DDR ツールによって生成された状態の DDR ソース ファイルとヘッダー ファイルがすべて存在するパス >>(TF-A ルート フォルダからの相対パス) に設定する必要があります。
DDRソースを生成してTFAをコンパイルしてみます
>>3.TFAが正しくビルドできたら、それに応じてYoctoに変更を加え、さらにテストを行うことができます。
Yoctoにはどのような変更を加えるべきでしょうか?
もう一つ質問があります。
DDRサイズを変更する必要がある場合、U-bootも何か変更する必要があるのでしょうか、それともTFAの変更だけで十分でしょうか?
こんにちは、 @FlaviuNistor
投稿ありがとうございます。
1.DDR_FW_BIN_PATH パラメータは、 NXP ボード固有の DDR ファームウェアバイナリファイルへのパスを指定するために設定する必要があるため、NXP ボード (RDB、EVB など) 用のイメージを作成する場合にのみ使用されます。
2. カスタムボード用のTFAをビルドするには、 makeコマンド の CUSTOM_DDR_DRV パラメータを使用することをお勧めします 。このパラメータは、DDRツールによって生成された状態のDDRソースファイルとヘッダーファイルがすべて格納されているパス(TF-Aルートフォルダからの相対パス)に設定する必要があります。
3. TFAが正しくビルドされたら、それに応じてYoctoに変更を加えて、さらにテストを行うことができます。
お役に立てれば幸いです。
BR
チェイン
こんにちは、 @FlaviuNistor
ご返信ありがとうございます。
1. 申し訳ありませんが、EVB用のそのようなファイルは持ち合わせておりません。お手持ちのEVBを使用してDDRツールで生成してみてください。
2. 考えられる手順をまとめてみましょう。
a. カスタムボードをPCに接続し、DDRツールを実行して対応するファイルを生成します。
b. 生成されたら、生成されたすべてのファイルをTFAコードベースにコピーします。
c. CUSTOM_DDR_DRV=$(Generated_Code)でビルドしてみてください。
3. カスタムボード上でU-bootがBSPコードを正しく実行するためには、変更が必要になる場合もあります。
BR
チェイン