cancel
Showing results for 
Search instead for 
Did you mean: 

How to enable DFU mode on NUCLEO-H745ZI-Q evaluation board?

adelm
Associate II

My PC runs Linux and I have two USB cables connected to my NUCLEO-H745ZI-Q board (https://www.st.com/en/evaluation-tools/nucleo-h745zi-q.html)

I have installed STM32CubeProgrammer and followed the instructions for preparing USB serial link for flashing in https://wiki.st.com/stm32mpu/wiki/STM32CubeProgrammer

When running STM32_Programmer.sh -l usb I get the following:

```

> STM32_Programmer.sh -l usb

     -------------------------------------------------------------------

                       STM32CubeProgrammer v2.3.0                 

     -------------------------------------------------------------------

===== DFU Interface  =====

No STM32 device in DFU mode connected

```

And apparently the flash programming does not work either:

```

> STM32_Programmer.sh -c port=/dev/ttyACM1 -d m4.elf

     -------------------------------------------------------------------

                       STM32CubeProgrammer v2.3.0                 

     -------------------------------------------------------------------

Serial Port /dev/ttyACM1 is successfully opened.

Port configuration: parity = even, baudrate = 115200, data-bit = 8,

                    stop-bit = 1,0, flow-control = off

Error: Activating device: KO. Please, verify the boot mode configuration and check the serial port configuration. Reset your device then try again...

```

Now I am stuck with how to enable DFU-mode on my board.

Please advise.

2 REPLIES 2
adelm
Associate II

Digging further:

According to https://www.st.com/content/ccc/resource/technical/document/application_note/b9/9b/16/3a/12/1e/40/0c/CD00167594.pdf/files/CD00167594.pdf/jcr:content/translations/en.CD00167594.pdf p. 217 "The STM32H74xxx/75xxx bootloader is activated by applying pattern10 (described in Ta b l e2: Bootloader activation patterns). "

, where pattern10 (according to Table 2) is either

"Boot(pin) = 0 and BOOT_ADD0(optionbyte) = 0x1FF0"

or

"Boot(pin) = 1 and BOOT_ADD1(optionbyte) = 0x1FF0"

Looks like Boot(pin) is referring to pin CN11.7 (BT0) on my EVK's PCB, but what is BOOT_ADD0 and BOOT_ADD1 are and how to set them remains unclear.

adelm
Associate II

Some more information.

The ouput of lsusb on my setup:

```

> lsusb

Bus 001 Device 025: ID 0483:374e STMicroelectronics STLINK-V3

```