NXPチームの皆様、こんにちは。
私は 村田Type 2FR EVK(RW612 )をデバッグ中で、アプリケーションプログラムは外部QSPIフラッシュに正常に入力されるものの、正しく動作しません。
ハードウェア:
J-LinkはRW612を正常に検出し、エラーなく外部フラッシュメモリへの書き込みを完了しました。
ソフトウェア:
問題:
起動後、CPUは最終的に以下の状態で停止します。
PC = 0x20005840
ip4_input() at lwip/src/core/ipv4/ip4.c:556関数ip4_input()はSRAMの0x200056D4にありますが、その内容は破損しているようです。
0x200056D4: 0x4007EEBE 0xBC640C88 ...しかし、QSPIフラッシュ内の対応するコードは有効であるように見える。
リンカーマップは.dataを示していますRAM常駐コードが含まれています。
LMA: 0x080F674C
VMA: 0x20000000
Size: 0x1A0E4そして、起動セクションの表には以下が指定されています。
0x080F674C → 0x20000000, length 0x1A0E4ResetISR() は SystemInit() を呼び出し、続いて data_init() を呼び出し、この初期化を実行します。
SRAM自体がデバッガを通して読み書き可能であることも確認しました。
私の主な疑問は、 QSPIソースイメージは正常に見えるにもかかわらず、なぜRAM常駐コードが破損してしまうのかということです。
これは RW612の起動/RAM初期化、FlexSPIの設定、キャッシュ/MPU設定、起動設定、またはType2FR専用のメモリ構成に関連しているのでしょうか?
また、 MCU-Link Proの代わりにSEGGER J-Link を使うと、このブート/デバッグフローに問題が起きると思いますか?
.mapは提供できます。リンカースクリプト、startup_rw612.c、flash_config.c、必要に応じてデバッグログも出力します。
よろしくお願いします。
こんにちは、
どのSDKバージョンを使っているのか教えていただけますか?
FRDM-RW612にはRDではなく26.06を使用することをお勧めします。
ところで、あなたはもうこれについて調べましたか?
よろしくお願いいたします。
ダニエル。