I'm using the STM32CubeProgrammer application in Ubuntu 16.04, running the "STM32_Programmer_CLI" in USB DFU mode, to flash STM32H743 device, with BOOT0 connected to 3V3. Example for flashing command: sudo ./STM32_Programmer_CLI -c port=USB1 -w /FilePathHere.hex -v -s It works well when the hardware is in bootloader-ready mode, get flashed then it runs the core and open's cdc usb: /dev/ttyACM0.

  • \$\begingroup\$ That capability does not exist in the Windows version either, because it is not a capability of the hardware of the chip. "Note: The STM32 must boot in bootloader mode using boot pins and/or the option bits. Check the AN2606, available on www.st.com, for more information on the STM32 bootloader." and they show moving a jumper on the boot pin. There are ways you can write a firmware to enter the bootloader on command, if you firmware is functional enough to receive commands. \$\endgroup\$ Commented Jul 13, 2020 at 11:37
  • \$\begingroup\$ There are several dfu command line tools (dfu-tool, dfu-util, ...) capable of putting your device into DFU mode, provided you have implemented the required DFU interfaces. The USB device library of STMCubeMX should be able to generate the required USB code (see UM1734 document). Does anybody have a description of what needs to be implemented (USB CDC, interfaces, protocols etc.)? \$\endgroup\$
    – Codo
    Commented Jul 13, 2020 at 12:22
  • \$\begingroup\$ your software/application needs to provide a usb interface with dfu support and support for programming while the application is running. \$\endgroup\$
    – old_timer
    Commented Jul 16, 2020 at 16:48

1 Answer 1


Solved by power cycling the device.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.