cancel
Showing results for 
Search instead for 
Did you mean: 

STM32N6 Can't program due to BOOT1 pin tied to ground

ben5050
Associate II

Hi, I have a custom STM32N6 board where the BOOT0 and BOOT1 pins are tied directly to ground under the BGA with no test points or jumpers. Is there anyway to connect a debugger in this scenario or is my board bricked?

Below is what I get when attempting to connect via an ST-Link V3:

>STM32_Programmer_CLI.exe -c port=SWD mode=UR -rst
      -------------------------------------------------------------------
                       STM32CubeProgrammer v2.21.0
      -------------------------------------------------------------------

ST-LINK SN  : 003700163431511731343632
ST-LINK FW  : V3J17M10
Board       : STLINK-V3MINIE
Voltage     : 3.26V
SWD freq    : 8000 KHz
Connect mode: Under Reset
Reset mode  : Hardware reset
Device ID   : 0x486
Revision ID : Rev Z
Device name : STM32N6xx
Device type : MCU
Device CPU  : Cortex-M55
BL Version  : --


MCU Reset
Error: Unable to run MCU!
Error: Error code: 32

And this is what I get from the STM32CubeProgrammer GUI:

23:21:41:351 : UR connection mode is defined with the HWrst reset mode
23:21:41:372 : ST-LINK SN  : 003700163431511731343632
23:21:41:372 : ST-LINK FW  : V3J17M10
23:21:41:372 : Board       : STLINK-V3MINIE
23:21:41:372 : Voltage     : 3.29V
23:21:41:376 : SWD freq    : 8000 KHz
23:21:41:376 : Connect mode: Normal
23:21:41:376 : Reset mode  : Hardware reset
23:21:41:378 : Device ID   : 0x486
23:21:41:378 : r ap 0 @0x18001004 0x00000004 bytes Data 0x00000000
23:21:41:387 : reset ap 1 
23:21:41:387 : r ap 1 @0x18001004 0x00000004 bytes Data 0x00000018
23:21:41:388 : fail @0xFEEEFEEE
23:21:41:388 : Revision ID : Rev Z
23:21:41:402 : Reading data...
23:21:41:403 : r ap 1 @0x00000000 0x00000004 bytes Data 0x00000018
23:21:41:503 : r ap 1 @0x00000000 0x00000004 bytes Data 0x00000018
23:21:41:503 : Database: Config 0 is active.
23:21:41:504 : r ap 1 @0x46009024 0x00000004 bytes Data 0x00000018
23:21:41:504 : fail @0xFEEEFEEE
23:21:41:584 : r ap 1 @0x46009024 0x00000004 bytes Data 0x00000018
23:21:41:584 : fail @0xFEEEFEEE
23:21:41:592 : UPLOADING ...
23:21:41:592 :   Size          : 1024 Bytes
23:21:41:592 :   Address       : 0x34064000
23:21:41:592 : Read progress:
23:21:41:592 : Reading data...
23:21:41:592 : r ap 1 @0x34064000 0x00000400 bytes Data 0x00000018
23:21:41:683 : r ap 1 @0x34064000 0x00000400 bytes Data 0x00000011
23:21:41:683 : Error: Data read failed
23:21:41:735 : r ap 1 @0x46009024 0x00000004 bytes Data 0x00000011
23:21:41:736 : fail @0xFEEEFEEE
23:21:41:736 : r ap 1 @0x08000000 0x00000004 bytes Data 0x00000018
23:21:41:736 : fail @0xFEEEFEEE
23:21:41:736 : Warning: Connection to device 0x486 is lost
23:21:41:921 : r ap 1 @0x46009024 0x00000004 bytes Data 0x00000018
23:21:41:922 : fail @0xFEEEFEEE
23:21:41:923 : r ap 1 @0x08000000 0x00000004 bytes Data 0x00000018
23:21:41:923 : fail @0xFEEEFEEE
23:21:41:923 : Warning: Connection to device 0x486 is lost
23:21:42:131 : Disconnected
23:21:42:131 : Disconnected from device.
23:21:42:137 : Disconnected from device.

I've replicated the issue on the N6 Nucleo board and the only way to fix it there seems to be to move the BOOT1 jumper so it goes into development boot.

The flash memory is unintialised so there is no FSBL, the debug port keeps disconnecting me, I don't have access to USB/USART1/USART2/UART4, is there any other way to program an STM32N6?

 

Please tell me my best option isn't to insert a wires under the BGA to access USART2 then use that to change the BOOT1 pin to a more accessible pin via OTP.

1 ACCEPTED SOLUTION

Accepted Solutions
mƎALLEm
ST Employee

Hello,

According to this article, you need to have access to BOOT pins to connect to the STM32N6 using STLINK and serial interface: How to connect the STM32N6 using STLINK and serial interface

To give better visibility on the answered topics, please click on "Accept as Solution" on the reply which solved your issue or answered your question.

View solution in original post

4 REPLIES 4
mƎALLEm
ST Employee

Hello,

According to this article, you need to have access to BOOT pins to connect to the STM32N6 using STLINK and serial interface: How to connect the STM32N6 using STLINK and serial interface

To give better visibility on the answered topics, please click on "Accept as Solution" on the reply which solved your issue or answered your question.

The board is bricked then sadly.

It would be good to add a mention of this to AN5967 since I followed that to design the hardware, and no other STM32 locks you out of the debug port just by putting it into flash boot.

Sympathies for your situation. I saw your post a while ago and was trying to think of what could be done. I've never worked with BGAs (but want to one day), so this suggestion might be impractical - can you remove the BGA, re-ball it and stick onto another board that has access to the boot pins? (I googled BGA rework before I wrote this, and there are a few Youtubes talking about this that I might watch later...)

I'm surprised that the application note you mentioned doesn't recommend connecting the Boot pins to ground via a resistor - that would be one of my golden rules designing any STM32 board, that way you will always have an escape path if things go wrong. Hopefully they will add something similar to the application note - in bold.

Hey thanks for the response, I could remove it and put it on another board, but then I'd need to make another board which would be more time consuming than just tweaking the one I have and getting another one manufactured. Someone else had this same issue and they solved it by drilling through the other side of the board, which I don't have the equipment for sadly.

For reference here is what the app note says about boot modes, the following section on debugging also doesn't mention it :\

Screenshot 2026-03-15 020134.png

Please update your documentation ST!