cancel
Showing results for 
Search instead for 
Did you mean: 

STM32C071 NUCLEO Start USB DFU Bootloader

Matthias32
Associate II

Hi,

how do I start the USB DFU Bootloader with a STM32C071 Nucleo? I tried it while putting Boot0 to high and pressing reset or do a power cycle but the STM32 DFU does not show up in the device manager. I connected USB to the NUCLEO extra USB port of the C071. I tried with another board (F2 MCU) where it worked well to prove that the drivers are installed. 

BR

Matthias

 

3 REPLIES 3
TDK
Super User

These are the ways to enter the bootloader on startup:

TDK_0-1765984999560.png

Empty flash check requires a power reset.

 

You will need to have both USB cables plugged in to ensure the chip isn't held in reset by the st-link and the USB DFU cable needs to be a data cable, not a power-only cable.

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

I'm using a data USB cable because Im using the C0 USB CDC port already. I have tried with and without connected stlink. In my understanding I just have to press the Boot0 button and do a power cycle? Or what I'm mising?

TDK
Super User

> In my understanding I just have to press the Boot0 button and do a power cycle? Or what I'm mising?

Well, let's look at the default values for the option bytes, which is found in the reference manual.

TDK_2-1766066359492.png

TDK_3-1766066398261.png

Okay, so we know NBOOT0_SEL = NBOOT0 = NBOOT1 = 1 (ignore the small typo) and BOOT_LOCK = 0.

 

Let's now look at AN2606 table to see where that puts us.

Since NBOOT0_SEL = 1, the state of the BOOT0 pin doesn't matter. Here are the ways to get into the bootloader:

TDK_4-1766066574890.png

 

The only way possible with default option bytes is if the main flash is empty. So do that using STM32CubeProgrammer, or change the option bytes so BOOT0 high can enter the bootloader.

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