2409116_ja-JP

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

2409116_ja-JP

2409116_ja-JP

PFE EMAC0 ECUウェイクアップ後の無効なバッファアクセス

こんにちは、

EMAC0を2500 Mbpsで設定し、必要なSERDESチャネル設定も行っています。ECUの稼働状態中は、イーサネット通信が正常に動作しています。

Eth通信にアクセスするアプリケーションをシャットダウンした後、ECUMからECUスリープリクエストをトリガーし、MCUモードをSOCスタンバイに設定し、HSE_CM7をメインコアとして選択します。

ウェイクアップ後、ECUは通常の動作に戻り、COM、SOAD、TCPIP、ETHIFのレイヤーは期待通りに動作します。EthのIFレイヤーでは、API呼び出し中の「Provide TX buffer」が「Provide TX buffer」が空いていないというエラーを返し、その後Ethフレームの送信が停止します

問題解決のために試された修正方法のリスト:

1. 「Eth_43_Pfe_Deinit」を使ってPFEドライバをシャットダウンし、「Eth_43_Pfe_Init」を呼んでPFEドライバを起動しようとしましたが、実行後にCPUがロックされてしまいました。
2. EthコントローラをEth_43_Pfe_SetControllerモードで下げてアクティブに戻そうとしたところ、バス障害が発生しました

この問題の解決策を教えてください。

追伸>
使用コンフィギュレーター:EB tresos
Eth PFE RTDバージョン:1.3.0
SDK:GOLDVIP

Re: PFE EMAC0 Invalid Buffer Access Post ECU wakeup

こんにちは、Avinash_7373さん

ご返信よろしくお願いします。

1.SOCがスタンバイモードに入ると、パーティション2のPFEクロックが無効になります。ウェイクアップ後にパーティション2が再度有効になっているか確認してください。PFE開始前のPCSの状態PRTN2_STATを確認してみてください。PFE開始前のPCS状態。

2. SERDESが正常に機能しているかどうかを確認します。

BR

ジョーイ

Re: PFE EMAC0 Invalid Buffer Access Post ECU wakeup

こんにちは、 @Joey_z

1.PFEはMコアでのみ使用されています
2. 開発ボードを使っています:S32G-VNP-RDB3

よろしくお願いいたします。
アビナシュ・V

Re: PFE EMAC0 Invalid Buffer Access Post ECU wakeup

こんにちは、Avinash_7373さん

お問い合わせいただきありがとうございます。

1. PFEはMコアでのみ使用されますか?Aコアを一緒に使ったことはありますか?

2. お客様のボードを使っていますか、それとも私たちの開発ボードを使っていますか?

BR

ジョーイ

Re: PFE EMAC0 Invalid Buffer Access Post ECU wakeup

こんにちは、@Joey_z。

ステータスレジスタのビットフィールドはスリー プ前Partition_2 1のままですが、スリープ中は 0 に更新され、MCUモードが通常に設定された後、ウェイクアップ後には再び 1 に更新されます。

Serdesは正常に動作しています。さらに、ET Phyコネクタ(RJ45)とコントローラー(NXPS32G399A)の間にSERDESが関与しないRGMIIモードでEMAC2を試しましたが、それでも問題は同じままでした。

Partition_2の起動後に再起動シーケンスが必要な場合は、お知らせください。

よろしくお願いいたします。
アビナシュ・V


Re: PFE EMAC0 Invalid Buffer Access Post ECU wakeup

こんにちは、Avinash_7373さん

問題は、おそらくウェイクアップ後のPFE初期化に関するものと思われます。クロックと関連するPFE構成を確認し、理想的な状態に初期化されていることを確認してください。

1. PFEの初期化がブートローダーに入力され、起動後にアプリケーション内で正しく再初期化されているか確認してください。
2. スタンバイプロセスに従って該当する構成を確認する。RM 32.5.5「実行モードからスタンバイモードへ」を参照してください。

BR

ジョーイ

Re: PFE EMAC0 Invalid Buffer Access Post ECU wakeup

こんにちは、Avinash_7373さん

ご返信よろしくお願いします。

スタンバイとウェイクアップシーケンスの操作について教えていただけますか?

1. コアとパーティションはどのように設定しますか?

2.Do アプリケーションでブートローダーとAコアを使っていますか?

BR

ジョーイ

Re: PFE EMAC0 Invalid Buffer Access Post ECU wakeup

こんにちは、 @Joey_z さん。

以下に睡眠・覚醒の順序を示します。

1. API 「EcuM_SelectShutdownTarget()」 を使ってECUスリープモードをリクエストしています。これにより、ECUMの実装通りにMCUモードがスタンバイに設定されます。

2. ECUMがスリープモードに入ると、ウェイクアップイベントをポーリングし、CANトランシーバーがバスの活動を検出してEcuM_SetWakeupEvent() APIを使ってウェイクアップイベントを設定し、その後ECUは通常の動作を再開します。

ブートローダーについては、NXPのブートローダー(0x0にフラッシュされる)のフラッシュ位置と、Mコアアプリケーションが0x400000にフラッシュされます。Aコアはどこにも使用されていません。

よろしくお願いいたします。
アビナシュ・V

Re: PFE EMAC0 Invalid Buffer Access Post ECU wakeup

こんにちは、 Avinash_7373

あなたの問題について何か進展はありましたか?もし継続的なサポートが必要な場合は、以下のリンクからコードをアップロードしていただければ問題をより詳しく分析できます。

https://support.nxp.com

BR

ジョーイ

タグ(1)
評価なし
バージョン履歴
最終更新日:
3 週間前
更新者: