コミュニティの皆さん、こんにちは。
S32G2 のコアで LPDDR M7_0初期化しようとしています。
S32DSのDDRツールでS32デバッグプローブを使用してDDRコードを生成しました。
しかし、生成された構成データをDDRCレジスタに書き込もうとしたとき、次のような障害が発生しました。
*(volatile uint32 *)0x4007c604 = 0x00000000u;
DDR_failure.jpg
DDRを初期化する前に何をする必要がありますか?
M7_0コアでLPDDRを初期化する方法を教えてください。
ありがとうございます
ハリー
Hello @harry_choi,
あなたが問題を解決できたことを知ってうれしいです。
解決策として私の返信を選んでいただきありがとうございます。
よろしくお願いいたします。
Alejandro
Hello Alejandro,
ご協力いただきありがとうございます。
ついに、M7_0コアでDDRを初期化することに成功しました。
ありがとうございます
ハリー
Hello @harry_choi,
社内チームからフィードバックを受け取りましたが、彼らは次のように共有しました。
"
お客様は、クロック設定の詳細については、 AN13354 を参照してください。
実際には、診断テストでM7にDDR初期化があります。コードはこちらから入手できます。
alejandro_e_0-1730393918998.png
alejandro_e_1-1730393919061.png
ノート: このコードは参照用であり、製品での使用を目的としたものではありません。
お客様がクロック設定をどのように行ったかについて、さらに詳しい情報を教えてください。可能であれば、お客様にクロック設定ファイルを提供して確認できるようにお願いできますか?。
"
同僚が確認できるように、クロック構成を共有できますか?
リンクボード診断テストに直接入力できない場合は、次の手順に従ってください。
- NXPアカウントにサインインします(NXP Semiconductors)
- [My NXP Account](右上)をクリックし、開いたウィンドウ内の[Licensing]セクションの下にある[Software Licensing and Support]をクリックします。
- これにより、別のページにリダイレクトされます。この新しいページで、[ソフトウェアアカウント]セクションの[アカウントの表示]オプションを選択します。
- これにより、再び別のページにリダイレクトされます。このページには、 Automotive SW – S32Gリファレンスソフトウェア オプションが表示されていますので、それをクリックします。次に、Automotive SW - S32G - Board Diagnostic Testsを再度検索し、クリックします。
- ソフトウェアの利用規約に同意すると、ファイルSW32G-DIAG-EAR-0.8.7.zipにアクセスできるようになります。
FlexNetページで一部のオプションが見つからない場合は、できるポイントをフォローアップしてから、最初に共有されている直接リンクをクリックしてください。
この情報があなたの問題を解決したかどうか私に知らせてください。
Hello @harry_choi,
いいえ、DDR_GPRを読み取ることはできませんが、S32 デバッグ プローブを使用しています。私の質問の目的は、社内チームと共有するための情報を集めることでした。私たちが彼らと話し合ったすべてのことを共有し、答えを持ってあなたに戻ってきます。内部チームの帯域幅が限られている場合があり、その対応に時間がかかる可能性があることを考慮してください。ご理解のほどよろしくお願いいたします。
よろしくお願いいたします。
Alejandro
Hello Alejandro,
それは定義されていないMCAN_ENABLE_USER_MODE_SUPPORT悩んでいます。
ソースコードに以下のコードを追加してコンパイルしようとしたとき、ビルドエラーは発生しませんでした。
#if 定義(MCAL_ENABLE_USER_MODE_SUPPORT)
#error 「MCAL ユーザー モード有効」
#endif
T32を使用してレジスタのデータを読み取ることは可能かDDR_GPR
エントリー時に読みDDR_GPR登録しようとするのは正常ですか?
ddr_gpr1.jpg
ありがとうございます
ハリー
Hello @harry_choi,
あなたの問題がDDR_GPRに関連していることは理解していますが、S32G2のリファレンスマニュアル[1692ページ、S32G2リファレンスマニュアル、Rev.8、2024年2月]に記載されているとおりです。
alejandro_e_0-1729789454529.png
DDR_GPRは、DDRモジュールの拡張として意図されています。モジュールのクロックが構成および初期化されていないときに、モジュールのレジスタを読み取れないというこの動作が見られます。
アクセスが禁止されるのは、ユーザー モードが有効な場合、M7 コアにデフォルトでスーパーバイザー モードがある場合、MCAL_ENABLE_USER_MODE_SUPPORTを定義している場合、またはプロジェクトで XRDC を有効にしている場合のみですか?
情報をよろしくお願いいたします。
Hello Alejandro,
今、私は私の問題はDDRデバイスとは関係がないと信じています。
M7_0コアでアクセスDDR_GPR登録できない理由に注目してください。
レジスタの0x4007C604にアクセスするだけでDDR_GPR JTAGでバスエラーが発生しました。
まず、このアドレスへのアクセスが禁止されているかどうかを確認してください。
ありがとうございます
ハリー
Hello @harry_choi,
ご説明ありがとうございます。DDRクロックの設定と初期化はどのように行われていますか?
情報をよろしくお願いいたします
Hello Alejandro,
この問題はDDRの種類とは関係ないと思います。
レジスタDDR_GPR以下にアクセスすると、S32デバッグプローブへの接続エラーが発生する理由を知りたいのですが。
ddr_gpr.jpg
次のように、S32 デバッグ プローブを使用して DDR_GPR で読み取りまたは書き込みできません。
他のレジスタにアクセスできます。
これが最初の問題だと思います。
s32debug_ddr.jpg
ありがとうございます
ハリー
Hello @harry_choi,
詳細な分析のために、この情報を社内チームと共有する必要があります。しかし、それを行う前に、いくつかの追加情報が必要になります。
公開フォーラムでこの情報を共有することに抵抗がある場合は、次のオプションを使用して NXPページで直接サポートケースを開いてください。
alejandro_e_1-1729278189054.png
トピックのトレーサビリティを向上させるために、この投稿のリンクをサポート チケットの本文に追加できます。
XRDCについて、RAMを初期化できるようにXRDCを構成する必要はありません。
あなたがどのように進めたいか教えてください、そして情報を事前に感謝します。
このほかにも、
M7_0 コアの DDR 汎用レジスタにアクセスする前に、XRDC などのコンフィギュレーションが必要ですか。
アクセスする前にクロックとMPUを初期化しただけです。
ありがとうございます
ハリー
Hi Alejandro,
ご返信ありがとうございます。
これが私の答えです。
- RDB2 またはカスタムボードを使用していますか?[ハリー]カスタムボード
- メモリーの品番はいくつですか?(カスタムボードを使用している場合)[ハリー]サムスンK4F6E3S4HM-THCL(2GB)
- RTDのバージョンは何ですか?[ハリー]4.0.0のように見えます
- A53コアも使用していますか?その場合、どのBSPを使用していますか?[ハリー]今はやめて、後でA53コアを使うよ。M7_0コアでLPDDRを初期化したいのですが、それはお客様の要件です。
- S32DSでDDRツールを使用した場合、正しく実行されましたか?[ハリー]はい、すべてのテストに合格しました。
- 実行するためにトレイしているアプリケーションは、前述の行に到達するまで正常に機能しますか?( *(volatile uint32 *)0x4007c604 = 0x0000000u; )[ハリー]はい、問題ありませんでした。DDRCレジスタ0x4007c606にデータを書き込むだけで、このエラーが発生します。私が知っているように、レジスタに0x00000000uを書き込むことは0x4007c604 ddr_init()関数の最初のステップです。
私はすでにMPUが有効になっていることを確認しましたが、それらは読み取り可能領域と書き込み可能領域の両方です。
ありがとうございます
ハリー
Hello @harry_choi,
セットアップについて詳しく教えてください。
情報をよろしくお願いいたします