2022-04-01 09:52 AM
dfu-util is an open source DFU memory reader/writer.
I ported the source to Windows 10 x64.
Worked fine, downloading firmware, to STM32H7B3I DISCOVERY board.
Fails with STM32H7B3I EVAL board, apparently because the EVAL board identifies itself as three separate DFU devices, unfortunately with identical serial numbers:
Found DFU: [0483:df11] ver=0200, devnum=62, cfg=1, intf=0, path="1-6", alt=2, name="@OTP Memory /0x1FF7000/01*1024 e", serial="FFFFFFFEFFFF"
Found DFU: [0483:df11] ver=0200, devnum=62, cfg=1, intf=0, path="1-6", alt=1, name="@Option Bytes /0x1FF8000/01*128 e", serial="FFFFFFFEFFFF"
Found DFU: [0483:df11] ver=0200, devnum=62, cfg=1, intf=0, path="1-6", alt=0, name="@Internal Flash /0x08000000/256*02Kg", serial="FFFFFFFEFFFF"
Any easy way to resolve this with dfu-util?
Or do I need to "educate" dfu-util in the matter of "alt", which varies with memory region?
Solved! Go to Solution.
2022-04-02 04:02 AM
Why you need dfu-util ? Normal way is STM32_Programmer_CLI.exe -c port=usb1
2022-04-01 01:24 PM
Man page
-a, --alt ALT
Specify the altsetting of the DFU interface by name or by number.
2022-04-01 01:38 PM
Many thanks, that satisfied dfu-util's problem with the three DFU devices.
I inserted --alt 0, because it is the EVAL internal flash that I want to burn, and now dfu-util is complaining "Only DfuSe file version 1.1a is supported", see below.
Probably not coincidentally, dfu-util is reporting "DFU mode device DFU version 011a".
Is dfu-util confused about "1.1a" versus "011a"?
C:\Users\natoli\9500\dfu-util-master\x64\dfu-util\Release>dfu-util --device 0483:df11 --alt 0 -D 9500-Main-USB.out
dfu-util 0.9-msvc
Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2016 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/
Invalid DFU suffix signature
A valid DFU suffix will be required in a future dfu-util release!!!
Opening DFU capable USB device...
ID 0483:df11
Run-time device DFU version 011a
Claiming USB DFU Interface...
Setting Alternate Setting #0 ...
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
DFU mode device DFU version 011a
Device returned transfer size 1024
DfuSe interface name: "Internal Flash "
Only DfuSe file version 1.1a is supported
(for raw binary download, use the --dfuse-address option)
C:\Users\natoli\9500\dfu-util-master\x64\dfu-util\Release>
2022-04-02 04:02 AM
Why you need dfu-util ? Normal way is STM32_Programmer_CLI.exe -c port=usb1
2022-04-02 08:47 AM
2022-04-04 07:05 AM
Friday, STM32CubeProgrammer recognized but was unable to connect to the STM32H7B3I EVAL board.
This morning, it can, cannot explain it.
The rationale behind dfu-util was to use an open source product.
2022-04-04 07:07 AM
What is your understand regarding what file format is compatible with dfu-util?
Some months ago, when I was burning an STM32H7B3I DISCOVERY board, I think I was successfully burning an OUT [but maybe HEX] file, but now with an STM32H7B3I EVAL board, I can't burn OUT or HEX.
2023-07-15 09:44 PM
I know it's very late to reply.. but this error about "Only DfuSe file version 1.1a is supported" is because the syntax you used is for downloading .dfu files. If you want to load a binary to the chip, you need to use `-s` parameter with the start address.