Flash Programming Failure with LinkServer when no external memory present

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

Flash Programming Failure with LinkServer when no external memory present

ソリューションへジャンプ
325件の閲覧回数
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 解決策
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

元の投稿で解決策を見る

3 返答(返信)
199件の閲覧回数
wima88
Contributor III

Thanks !  Changers to the JSON helped   

 

0 件の賞賛
返信
210件の閲覧回数
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

247件の閲覧回数
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 件の賞賛
返信