MCUXpresso SDK Documentation

Flow – psram_only Debug (eMMC + PSRAM system)#

Three complete end-to-end flows are provided. Each flow covers hardware rework, eMMC programming, boot mode configuration, and the debug session. Choose the flow that matches your boot mode setup.

Note: “blhost” in the steps below refers to NXP’s serial download host tool. SPSDK can also be used – it communicates with the Boot ROM through the same underlying protocol. Refer to the blhost and SPSDK sections of this guide for usage details.



psram_only Debug – eMMC + PSRAM, shadow fuse via ram_only auxiliary#

POR boot: the debug image is loaded into PSRAM by the debugger and is cleared on power cycle – not POR bootable. The PSRAM auxiliary in eMMC boots automatically after each shadow fuse setup, but the shadow fuse must be re-established by the debugger after each power-on.

Shadow fuse is set by a ram_only auxiliary downloaded by the debugger. Shadow fuse is volatile – steps 4-8 must be repeated after each power-on.

The one-time setup (steps 2-a through 2-d) is required before the first debug session on each board. If the PSRAM auxiliary is already programmed to eMMC, skip steps 2-a through 2-d and proceed to the “After each power-on” section.

Step 1.   Install debug patch
          (see Patch Install section)

[One-time setup -- first time only]

Step 2-a. Hardware rework
          (see HardwareAdaption/eMMC_HW_Rework)

Step 2-b. Build PSRAM auxiliary demo
          target: psram_only
          (USDHC boot header enabled by default)

Step 2-c. Set boot switch to 0b10  (SDP mode)

Step 2-d. blhost: program PSRAM auxiliary binary to eMMC
          (see blhost section)

[After each power-on]

Step 3.   Build shadow fuse auxiliary
          target: ram_only_debug

Step 4.   Set boot switch to 0b00  (XSPI NOR boot mode)

Step 5.   Debugger: download and run shadow fuse auxiliary to ITCM
          Auxiliary writes shadow fuse, warm resets before reaching main()
          Boot ROM reads shadow fuse, boots from eMMC
          PSRAM auxiliary runs -- PSRAM initialized

Step 6.   Reconnect debugger

Step 7.   Build with psram_only target

Step 8.   Download ELF to PSRAM and debug

--> DONE  (repeat steps 4-8 after each power-on)

psram_only Debug – eMMC + PSRAM, fuse (production)#

POR boot: the debug image is loaded into PSRAM by the debugger and is cleared on power cycle – not POR bootable. The PSRAM auxiliary in eMMC POR boots automatically on every power-on (permanent via fuse).

Warning: fuse programming is irreversible.

The one-time setup (steps 2-a through 2-g) is required before the first debug session on each board. Skip to step 3 if already done.

Step 1.   Install debug patch
          (see Patch Install section)

[One-time setup -- first time only]

Step 2-a. Hardware rework
          (see HardwareAdaption/eMMC_HW_Rework)

Step 2-b. Build PSRAM auxiliary demo
          target: psram_only
          (USDHC boot header enabled by default)

Step 2-c. Set boot switch to 0b10  (SDP mode)

Step 2-d. blhost: program PSRAM auxiliary binary to eMMC
          (see blhost section)

Step 2-e. blhost: program BOOT_CFG0 fuse
          (see blhost section)

Step 2-f. Set boot switch to 0b00  (XSPI NOR boot mode)

Step 2-g. Reset
          Boot ROM reads fuse, boots from eMMC
          PSRAM auxiliary runs -- PSRAM initialized on every reset from now on

[Debug session -- every time]

Step 3.   Build with psram_only target

Step 4.   Connect debugger

Step 5.   Download ELF to PSRAM and debug

--> DONE