Skip to main content
MLovr.1
Associate
April 23, 2020
Question

Fail during download with bootloader in USB DFU mode

  • April 23, 2020
  • 3 replies
  • 2129 views

I have a custom board with a STM32H743ZI 144-pin processor. I can start the bootloader and the device is correctly recognized in the STM32CubeProgrammer as DFU in FS mode. I can read from device memory without issue, however when I try to download a firmware file to the device,it will always fail mid-transfer with the following error:

12:03:30:267 : Download in Progress:
12:03:30:268 : Size : 80352 Bytes
12:03:30:268 : Address : 0x08000000
12:03:30:307 : setting the address pointer to address: 0x08000000
12:03:30:309 : sending packet nbr: 0
12:03:30:309 : downloading data
12:03:30:309 : libusb control transfer error: -9
12:03:30:309 : sending an abort request
12:03:30:309 : downloading data
12:03:30:373 : libusb control transfer error: -9
12:03:30:373 : Error: failed to download Segment[0]
12:03:30:373 : Error: failed to download the File

I repeated the exact same procedure on a NUCLEO-H743ZI2 that has the same processor and the download completes successfully.

My first guess was a hardware issue, so I used an oscilloscope to measure if there's any interference on the D+ and D- lines leading to the MCU pins, but based on my observation the signal looks fine and pretty much the same as on the Nucleo. On my design the D+ and D- are short, run along side each other and have an uninterrupted ground plane beneath them.

0693W000000WK1mQAG.png

I also captured the traffic on the USB line with a USB tool. Here is the part where the transmission fails.

0693W000000WK4lQAG.png

Thank you for any help in advance.

This topic has been closed for replies.

3 replies

Houda GHABRI
ST Employee
May 3, 2020

Hi @MLovr.1​ 

Can you please provide your chip revision ID, it can be read using STlinkUtility (top right panel), I will need your board and nucleo board chip revision ID.

This info will help me to reproduce you issue.

regards,

Houda

MLovr.1
MLovr.1Author
Associate
May 4, 2020

Custom board chip revision ID: 0x1003

Nucleo board chip revision ID: 0x2003

Houda GHABRI
ST Employee
May 5, 2020

Hi @MLovr.1​ 

Can you please confirm that you are using latest STM32CubeProgrammer version (v2.4.0) ?

I will need also to know which OS you are using ? (win10 ? win7 ? Linux ?).

Regards,

Houda.

MLovr.1
MLovr.1Author
Associate
May 6, 2020

I am using version 2.4.0 on windows 10 (1909)

Houda GHABRI
ST Employee
May 6, 2020

Hi @MLovr.1​ 

I tested with two chip revision ID 0x1003 (revY) and 0x2001(revX) , for both revisions download is OK with STM32CubeProgrammer v2.4.0.

I made a check with exactly same file size than you.

My conclusion : It is not a STM32CubeProgrammer issue , it seems to be a Hardware issue.

regards,

Houda