cancel
Showing results for 
Search instead for 
Did you mean: 

STM32N657 (Nucleo-N657X0) Core is locked up.

JCKodomo
Visitor

I followed the steps in this demo workshop to upload a simple program to toggle LEDs to the Nucleo-N657X0 board. The project is in FSBL. I can run the code in debug mode and upload the signed program to the external flash on the Nucleo-N657X0 board with STM32CubeProgrammer. However, when I tried to run the code with the 'Run after programming' option, I got the warning that the core is locked up. Besides, the Option Byte tab and the Erase tab are gone when the ST-Link is connected (See figure below), so the commonly suggested fix of modifying Option Byte is not possible.. 

My board is NUN657X0Q$CR1 (MB1940). I'm using STM32CubeProgrammer v2.20.0. The CubeIDE is v1.19.0. The firmware is STM32Cube FW_N6 V1.2.0. The SigningTool is v2.20.0 as the programmer. 

I wonder if there a register that I can check to see the state of the MCU? Is it something to do with the Secure Programming? Any suggestions and comments are greatly appreciated!

 

Screenshot 2025-08-06 183620.png

1 REPLY 1
JCKodomo
Visitor

I tried the "STM32Cube_FW_N6_V1.0.0\Projects\NUCLEO-N6570X0Q\Templates\Template_FSBL_LRUN" example. It seems that the "Run after programming" option simply won't work under the development boot mode (BOOT1 = 1). However, after uploading the program, the program can run under the flash boot mode. It seems that this is normal behavior of the STM32N6.

The takeaway for beginners like me:

1. Follow the compile->sign->upload procedure as outlined in the readme file "STM32Cube_FW_N6_V1.0.0\Projects\NUCLEO-N6570X0Q\Templates\Template_FSBL_LRUN" example with STM32N6.

2. Put the user application logics in the "App Secure" part. Only the memory allocation/initialization part goes into FSBL. Again follow the template.