cancel
Showing results for 
Search instead for 
Did you mean: 

NUCLEO-C562RE boot0 pin issue

Jean-Guillaume
Associate

Hi,

I'm currently developing on the NUCLEO board and I can't enter the bootloader using the boot button on the board.

I created an .ioc file with CubeMX2 v1.0.1 using the NUCLEOC562RE board. Then build and flash the code with vscode addon without issue.

When I press the "BOOT" button, perform a "RESET" using the reset button, and then release the "BOOT" button, I continue to boot from the flash memory and therefore cannot access USB DFU mode on USB1, which is my goal ...

However, when I change the value of BOOT0 to 1 in CubeProgrammer using ST-LINK, I can enter USB DFU mode without any issues on USB1. Is it possible to change BOOT0 from the application then ? How ?

Thank you in advance for your help !

1 ACCEPTED SOLUTION

Accepted Solutions
TDK
Super User

This chip has a BOOT0 pin and a BOOT0 option bit. They are independent. It does not have a BOOT0 pin.

Per pattern 19, since you have BOOT_SEL = 0, the only way to get into the bootloader is when the BOOT0 option bit is set to 1. The state of the BOOT0 pin is ignored.

 

If you want to use the BOOT0 pin, you will need to set BOOT_SEL = 1.

If you feel a post has answered your question, please click "Accept as Solution".

View solution in original post

5 REPLIES 5
Jean-Guillaume
Associate

I just read that access to the bootloader via firmware isn't available yet, but is it normal that the PH2-BOOT0 button doesn't do anything?

https://dev.st.com/stm32cube-docs/stm32c5-mcu-package/2.0.0/en/release_notes.html :

JeanGuillaume_0-1779885325031.png

 

Look at AN2606 for how to enter the bootloader. Check that the option bytes are set such that BOOT0 actually affects the boot process.

The note about open bootloader middleware has nothing to do with this issue.

If you feel a post has answered your question, please click "Accept as Solution".

According with AN2606, I need to execute pattern 19 to enter the bootloader. I tried it without success. BOOT0 physical pin seems to not affect boot0 bit.

My bootsel value is 0, but when I connect BOOT0 to +3.3 V, I still can't enter the bootloader.

JeanGuillaume_0-1779893135470.png

 

I tried same thing with BOOT0 pin declared in CubeMX2 without success ...

JeanGuillaume_1-1779893325981.png

 

The only way I have found to enter USB DFU mode is to set the BOOT0 bit to 1 via ST-LINK using STMCubeProgrammer.

JeanGuillaume_2-1779893523430.png

Could this be a hardware issue?

TDK
Super User

This chip has a BOOT0 pin and a BOOT0 option bit. They are independent. It does not have a BOOT0 pin.

Per pattern 19, since you have BOOT_SEL = 0, the only way to get into the bootloader is when the BOOT0 option bit is set to 1. The state of the BOOT0 pin is ignored.

 

If you want to use the BOOT0 pin, you will need to set BOOT_SEL = 1.

If you feel a post has answered your question, please click "Accept as Solution".

I just tested it with bootsel = 1, and I was able to enter the bootloader successfully. Thank you very much.

The inverted logic of BOOT_SEL threw me off.

I can close this ticket.