RW612 / Murata Type 2FR EVK – SRAM-resident code corrupted after boot 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: Murata Type 2FR EVK (LBES0ZZ2FR) MCU: RW612 Cortex-M33 External Flash: Winbond W25Q128, 16 MB Debugger: SEGGER J-Link, S/N 69657567 SWD at 100 kHz Board powered through USB-C SWD: J11 pin 2 = SWDIO, pin 4 = SWCLK, pin 3 = GND J-Link successfully detects the RW612 and programs the external flash without errors. Software: MCUXpresso IDE 25.6.136 RW612 SDK Started with the rdrw612bga_wifi_cli example. Modified the FlexSPI flash configuration for W25Q128 and changed QSPI linker size from 8 MB to 16 MB. Build completes with 0 errors/warnings. Problem: After boot, the CPU eventually stops at: PC = 0x20005840
ip4_input() at lwip/src/core/ipv4/ip4.c:556 The 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: 0x1A0E4 and the startup section table specifies: 0x080F674C → 0x20000000, length 0x1A0E4 ResetISR() 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. Evaluation Board Re: RW612 / Murata Type 2FR EVK – SRAM-resident code corrupted after boot Hi Daniel, Thank you for the response. We were previously using SDK 26.06, but our project was configured for a rdrw612bga board rather than the FRDM-RW612 configuration you recommended. Regarding the migration guide, yes, we have already gone through it: [NXP FRDM-RW612 Module Migration Guide](https://github.com/NXP-APPCODEHUB/an-frdmrw612-module-migration-guide) We followed the migration approach for the Murata Type 2FR, including updating the flash configuration for the W25Q128 (16 MB) and the corresponding linker configuration. However, we are facing an issue where the application programs successfully and starts executing, but eventually stops in `ip4_input()` at `0x20005840`. We also found that the code intended to execute from SRAM appears corrupted, while the corresponding code in QSPI flash appears valid. Based on your recommendation, we will now proceed using the **26.06 SDK with the FRDM-RW612 configuration** and follow the migration approach from that baseline. We will update the thread with our results. Thanks again for your guidance. Regards, Sakshee Re: RW612 / Murata Type 2FR EVK – SRAM-resident code corrupted after boot 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.
記事全体を表示