Skip to main content
Visitor II
April 22, 2020
Question

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

  • April 22, 2020
  • 2 replies
  • 789 views

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.

    This topic has been closed for replies.

    2 replies

    adelmAuthor
    Visitor II
    April 22, 2020

    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.

    adelmAuthor
    Visitor II
    April 22, 2020

    Some more information.

    The ouput of lsusb on my setup:

    ```

    > lsusb

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

    ```