Request for steps to run STM32N6 application in DEV_BOOT mode
Referred Ticket: How to run program on STM32N6 after flashing without changing BOOT-1 jumper | Community
Thank you for confirming that it is possible to run the application while keeping BOOT1 in DEV_BOOT mode by loading a RAM executable, performing a core reset, setting the SP and PC, and then running the core.
My target is: STM32N6570-DK
I need to achieve the following flow:
-
Flash and verify the complete HEX file (Example: STM32N6-GettingStarted-ImageClassification/Binary/STM32N6570-DK at main · STMicroelectronics/STM32N6-GettingStarted-ImageClassification)
-
Keep the STM32N6570-DK physically in DEV_BOOT mode.
-
Start the flashed application automatically without manually changing the BOOT1 jumper.
-
Perform the complete operation through command-line tools or a user script.
The following command successfully flashes and verifies the image:
STM32_Programmer_CLI.exe `
-c port=SWD mode=UR reset=HWrst `
-el "ExternalLoader\MX66UW1G45G_STM32N6570-DK.stldr" `
-w "STM32N6570-DK_GettingStarted_ImageClassification.hex" `
-v
However:
-run
only reports:
Core run
and the application does not start.
Using:
-s
attempts to run from 0x08000000, and the core later enters a locked-up state.
Could you please provide a complete working example or user script (as mentioned in the referred Ticket comment) showing:
-
Which FSBL/debug binary or ELF should be loaded into AXISRAM.
-
How to determine the correct AXISRAM load address.
-
The STM32CubeProgrammer CLI command to load the RAM executable.
-
The command for performing a core reset without clearing AXISRAM.
-
How to read or set the initial stack pointer (
SP/MSP). -
How to set the program counter (
PC) to the FSBL reset handler. -
How to start execution after setting
SPandPC. -
Whether STM32CubeProgrammer CLI alone supports all these operations.
-
Whether an STM32CubeProgrammer user script is available for this STM32N6570-DK use case.
-
If STM32CubeProgrammer alone is insufficient, whether ST-LINK GDB Server and GDB are the recommended command-line solution.
I am using:
-
Board: STM32N6570-DK
-
STM32CubeProgrammer: v2.23.0
-
Probe: ST-LINK-V3
-
External flash: MX66UW1G45G
-
External loader:
MX66UW1G45G_STM32N6570-DK.stldr -
Application: STM32N6 Getting Started Image Classification example
-
External flash base address:
0x70000000
My final goal is to automate the following flow in a service:
Flash external HEX
→ Verify
→ Load RAM FSBL
→ Core reset
→ Set SP and PC
→ Run FSBL
→ Start external-flash application
A complete STM32CubeProgrammer user script, or GDB script example would be very helpful.
