Hello NXP Team,
I am debugging a Murata Type 2FR EVK (RW612) where the application programs successfully into the external QSPI flash but does not run correctly.
Hardware:
J-Link successfully detects the RW612 and programs the external flash without errors.
Software:
Problem:
After boot, the CPU eventually stops at:
PC = 0x20005840
ip4_input() at lwip/src/core/ipv4/ip4.c:556The function ip4_input() is located in SRAM at 0x200056D4, but its contents appear corrupted:
0x200056D4: 0x4007EEBE 0xBC640C88 ...However, the corresponding code in QSPI flash appears valid.
The linker map shows that .data contains RAM-resident code:
LMA: 0x080F674C
VMA: 0x20000000
Size: 0x1A0E4and the startup section table specifies:
0x080F674C → 0x20000000, length 0x1A0E4ResetISR() calls SystemInit() followed by data_init() to perform this initialization.
I have also confirmed that SRAM itself is readable/writable through the debugger.
My main question: why is the RAM-resident code becoming corrupted even though the QSPI source image appears valid?
Could this be related to RW612 startup/RAM initialization, FlexSPI configuration, cache/MPU configuration, boot configuration, or a Type2FR-specific memory configuration?
Also, is using a SEGGER J-Link instead of MCU-Link Pro expected to cause any issue with this boot/debug flow?
I can provide the .map, linker script, startup_rw612.c, flash_config.c, and debug logs if required.
Thank you.
Hi,
Could you please tell me what SDK version are you using?
I recommend you to use the 26.06 for the FRDM-RW612, not the RD.
By the way, did you already took a look into this?
Regards,
Daniel.