デバッグ中のイーサネットの問題があり、誤ったアドレス読み取りに関連する BusFault が頻繁に発生します。次のようなシーケンスの後に0x19014を読み取ろうとしています。
movw r2,low_addr
movt r2,high_addr
ldr r2,[r2]アセンブリは単なる例です。スクリーンショットが入手できれば投稿します。
問題は、例外が発生した時点で R2 に 0x19014 が含まれているのに、high_addr と low_addr が 0x21409A28 のような値から読み取る必要があることです。読み取り元のアドレスは、イーサネット ネットワークの数を反映する定数メモリ領域であり、そのメモリは正しく、正常に動作しています。
上記のコードをトレースしたところ、movt と ldr の間には例外などは何もリストされませんでした。したがって、3 つの命令が連続して実行される場合、そのコア上の何かが R2 を変更して 0x19014 を含むことは不可能ですが、バス障害発生時に BFAR と R2 に表示されるのはそれです。
この動作に影響を与える可能性のある投機的アクセスまたは類似のものがあるかどうかを NXP から把握したいと考えています。
明確にしておくと、これは特定の RTD に関連するものではなく、このプロジェクトでは S32K388 を使用しています。
具体的なスクリーンショットをご提供ください。使用環境があればその説明も。ありがとう