cancel
Showing results for 
Search instead for 
Did you mean: 

STM32N6 Boot Pins

Okeskin
Associate III

Hello, I have the STM32N6570-DK kit. I can compile, upload and debug by following the instructions on the kit. I designed my own board but I can't debug. I'm reviewing all the possibilities and I noticed some problems. I couldn't find any explanation.

https://community.st.com/t5/stm32-mcus/stm32n6-boot-rom-explained/ta-p/763648

@B.Montanari  's  article says H(High) VDDIO. However, in the DK schematics and pcb, the left side is vddio and the right side is gnd. Also, the Boot1 pin is pulled to the right to load software on the DK. So Boot0 becomes important. What's the problem? Are the documents wrong? Also, on the board I made, I can load software when boot1 is connected to vddio. But on the DK, it allows me to load software when boot1 is GND. What's the explanation?

 

 

Okeskin_0-1750684981208.png

Okeskin_1-1750684998046.png

Okeskin_2-1750685049416.png

Okeskin_3-1750685155649.png

 

 

1 ACCEPTED SOLUTION

Accepted Solutions

Hi @Okeskin 

This is because on this SPDT DIP switch with common input, the closing direction of the internal contact is reversed compared to the position.

When SW1 or SW2 are in Right position (H), the contact is between 1 & 2. The BOOTn pin = VDDIO.
When SW1 or SW2 are in Left position (L), the contact is between 1 & 3. The BOOTn pin = GND.

Best regards,

Romain

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

6 REPLIES 6
RomainR.
ST Employee

Hi @Okeskin 

Pins BOOT0 and BOOT1 define the STM32N6 boot sequence.
This is what you shared with Table 32 in RM0486.

Note that BOOT1 has priority over BOOT0.

On your STM32N6570-DK, as explained in the article:

  • When the BOOT1 switch is to the right, it forces pin BOOT1 = VDD = 3.3V.
    This is the DEV_BOOT mode, which allows you to load and debug your code in the internal RAM using SM32CubeIDE or program the external Flash memory and OTP with STM32CubeProgrammer.In DEV_Boot, PG10 (LED2 on the DK) is forced to 0V, and lights up LED2 to indicate that DEV_Boot is active.
  • When the BOOT1 switch is to the left, pin BOOT1 = GND, then BOOT0 define the boot condition, to the left BOOT0 = GND is Flash Boot, and to the right, BOOT0=VDD, is Serial Boot.

There are no errors in the documentation or in the schematics. What are the error message whan you are trying to debug your application?

Share your board diagram or measure the voltage levels you have on BOOT0 and BOOT1 as I explain to confirm is you are applying the correct DEV_Boot conditions.
Best regards,

Romain,

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.

Andrew Neil
Super User

@Okeskin wrote:

I designed my own board but I can't debug.


What do you mean by that?

What are you using to debug?

Where, exactly, does it fail?

 

If the problem is in the debugger connection to the board, see:

https://community.st.com/t5/stm32-mcus/how-to-solve-connection-errors-when-connecting-and-programming/tac-p/786977

https://community.st.com/t5/stm32-mcus/how-to-solve-debugger-connection-issues/ta-p/49693

 

A complex system that works is invariably found to have evolved from a simple system that worked.
A complex system designed from scratch never works and cannot be patched up to make it work.

Hi @RomainR. 

If you examine the MB1939 project files and the pictures I shared below, you can see that pulling the switches to the right means pulling them to gnd. I can already work on DK without any problems. The problem is that in DK hardware, pulling to the right should be High, but it is actually Low. Please examine MB1939.

Okeskin_0-1750833933437.png

Okeskin_1-1750833985456.png

BR.

Onur

Hi@Andrew Neil ,

N6 is not a processor that can be debugged using classical methods. I was able to debug it with some changes.

BR.

Onur.

Hi @Okeskin 

This is because on this SPDT DIP switch with common input, the closing direction of the internal contact is reversed compared to the position.

When SW1 or SW2 are in Right position (H), the contact is between 1 & 2. The BOOTn pin = VDDIO.
When SW1 or SW2 are in Left position (L), the contact is between 1 & 3. The BOOTn pin = GND.

Best regards,

Romain

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.

Hi @RomainR. 

I didn't think that switch was working in reverse. Thank you for the information. It's more clear now.

Thanks,

Onur