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\$ – Chris Stratton Jul 13 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 Jul 13 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 Jul 16 at 16:48

Solved by power cycling the device.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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