Flash Programming Failure with LinkServer when no external memory present

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

Flash Programming Failure with LinkServer when no external memory present

跳至解决方案
324 次查看
wima88
Contributor III

Processor: MCX N Series - MCXN947
Tool: NXP LinkServer (v25.3.31)
Debug Probe: MCU-LINK (Firmware: r0C7)

IDE : VScode with MCUXpresso extension 

Hi

I am unable to flash a binary to MCXN947 evaluation board (MCX-N9XX-EVK) using the NXP LinkServer tool. The operation fails with a critical error and exit code 4294967295. The primary error appears to be related to the initialization of external FlexSPI flash drivers, which fails and prevents the entire flash process from completing. The target processor is in secure mode, and I am attempting to program the secure flash region at 0x10000000. Since we need to repurpose the QSPI lines  The power to the on-board external flash chip has been physically disabled on our EVK by removing a 0-ohm resistor. 

 

Attempted Troubleshooting

  • Root Cause: The LinkServer tool is attempting to auto-detect and initialize all memory interfaces, including the external FlexSPI flash at addresses 0x80000000 and 0x90000000. The required flash driver (MCXN9xx_SFDP_FlexSPI.cfx) is failing its dynamic initialization, which causes the entire programming sequence to abort. This failure is expected and confirms our hardware setup, as we have physically removed power from this flash chip.

  • Proof of Concept Successful: We have verified that the internal flash works correctly. After removing power to the external flash and resetting the board, a previously programmed application runs from the internal flash as expected. This proves our goal is achievable and the issue is solely with the LinkServer tool's workflow.

  • Check the selected build configuration for correct board selection to "NXP MCX-N9XX-EVK" and not the "NXP MCX-N9XX-EVK QSPI" variant 

Given that the external flash is intentionally powered down:

  1. What is the correct and working method to completely disable the external FlexSPI flash initialization in the LinkServer command or configuration to avoid this failure? 

 

 

标签 (1)
标记 (1)
0 项奖励
回复
1 解答
208 次查看
Harry_Zhang
NXP Employee
NXP Employee

Hi @wima88 

You can change the FRDM-MCXN947.json in file C:\nxp\LinkServer_25.3.31\devices.

You can copy the JSON of the board and delete the external Flash region.

Harry_Zhang_0-1756872595024.png

Harry_Zhang_1-1756872677955.png

BR

Harry

在原帖中查看解决方案

3 回复数
198 次查看
wima88
Contributor III

Thanks !  Changers to the JSON helped   

 

0 项奖励
回复
209 次查看
Harry_Zhang
NXP Employee
NXP Employee

Hi @wima88 

You can change the FRDM-MCXN947.json in file C:\nxp\LinkServer_25.3.31\devices.

You can copy the JSON of the board and delete the external Flash region.

Harry_Zhang_0-1756872595024.png

Harry_Zhang_1-1756872677955.png

BR

Harry

246 次查看
Harry_Zhang
NXP Employee
NXP Employee

Hi @wima88 

LinkServer  will always try to probe and initialize flash interfaces it knows about for the selected target.
 
For the MCXN947 EVK, the default configuration includes internal flash at 0x00000000 and external QSPI FlexSPI flash mapped at 0x80000000 / 0x90000000.
 

If the base address of the image is in the 0x0 region, use the internal Flash driver (MCXNxxx. cfx).

If the base address of the image is in the 0x8000-0000 area, use an external FlexSPI Flash driver (MCXN9xx_SFDPFlexSPI. cfx).

So your image address is 0x8000000, which won't initialize MCXN9xx_SFDPFlexSPI. cfx.

 

BR

Harry

0 项奖励
回复