cancel
Showing results for 
Search instead for 
Did you mean: 

Problem using dfu-util with STM32H7B3I EVAL board

FrankNatoli
Associate III

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?

1 ACCEPTED SOLUTION

Accepted Solutions
MM..1
Chief III

Why you need dfu-util ? Normal way is STM32_Programmer_CLI.exe -c port=usb1

View solution in original post

7 REPLIES 7
MM..1
Chief III

Man page

-a, --alt ALT

Specify the altsetting of the DFU interface by name or by number.

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>

MM..1
Chief III

Why you need dfu-util ? Normal way is STM32_Programmer_CLI.exe -c port=usb1

And if you need util seems your file 9500-Main-USB.out isnt compatible format.

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.

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.

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.