Skip to main content
Russeree
Associate II
January 9, 2024
Solved

STM32F723 DFU Mode - Questions

  • January 9, 2024
  • 1 reply
  • 5534 views

I have a few questions about the DFU mode on the STM32F723. My goal is to enable users to flash a binary file to the MCU via a USB connection. My implementation is that i placed a 22uF capacitor on the boot0 pin then tied another IO pin (EO) in this case to boot0. 

To enable DFU mode, currently I pull E0 high for a second to charge the capacitor, then switch the pin to an input to make it high impedance. Next Deinit the USB HS Handle. After that do an NVIC Reset. My issue is that after resetting I don't see any new USB DFU device. Even though my USB CDC/HID Composite device is working at USB HS speeds using the onboard USB 2.0HS PHY.

Here is my Schematic

Russeree_0-1704836128752.png

What do you think I am missing? Linux lsusb, and dmesg show nothing at all. 

Thanks!

This topic has been closed for replies.
Best answer by TDK

The system USB DFU bootloader is only available on the FS USB.

TDK_0-1704836819825.png

https://www.st.com/resource/en/application_note/an2606-stm32-microcontroller-system-memory-boot-mode-stmicroelectronics.pdf

 

1 reply

TDK
TDKAnswer
Super User
January 9, 2024
"If you feel a post has answered your question, please click ""Accept as Solution""."
Russeree
RussereeAuthor
Associate II
January 10, 2024

Wow... Absolutely an amazing catch. Yeah I didn't realize that there were 2 distinct PHY output pins for USB OTG Full Speed and USB High Speed. 

I guess my next step is to write some sort of alternative DFU compatible state for my device that enables the use of the USB HS PHY because of the fact that I didn't include a second USB port for DFU mode :p

Thank you again!

Russeree
RussereeAuthor
Associate II
January 10, 2024

Sorry to double post, but before I go down this rabbit hole, is it possible to flash the EEPROM at runtime? Could I just write a small DFU compatible program? Run it then flash over the top of the existing memory and reset with the NVIC?