2025-07-02 1:43 AM
Hello forum,
i'm working with a custom design where a STM32H743XIH6 is provided on the board along with an USB connection. I'm actually dealing with an issue on USB firmware programming using STM32CubeProgrammer v2.19.0 (up-to-date, but same issue occur with previous versions).
When downloading firmware the following error occurs:
10:34:53 : STM32CubeProgrammer API v2.19.0 | Windows-64Bits
10:34:59 : UR connection mode is defined with the HWrst reset mode
10:34:59 : USB speed : Full Speed (12MBit/s)
10:34:59 : Manuf. ID : STMicroelectronics
10:34:59 : Product ID : DFU in FS Mode
10:34:59 : SN : 200364500000
10:34:59 : DFU protocol: 1.1
10:34:59 : Board : --
10:34:59 : Device ID : 0x0450
10:34:59 : UPLOADING OPTION BYTES DATA ...
10:34:59 : Bank : 0x00
10:34:59 : Address : 0x5200201c
10:34:59 : Size : 308 Bytes
10:34:59 : UPLOADING ...
10:34:59 : Size : 1024 Bytes
10:34:59 : Address : 0x8000000
10:34:59 : Read progress:
10:34:59 : Data read successfully
10:34:59 : Time elapsed during the read operation is: 00:00:00.004
10:35:14 : Opening and parsing file: H7adctest.elf
10:35:14 : Memory Programming ...
10:35:14 : File : H7adctest.elf
10:35:14 : Size : 60.15 KB
10:35:14 : Address : 0x08000000
10:35:14 : Erasing memory corresponding to sector 0:
10:35:14 : Erasing internal memory sector 0
10:35:15 : Erasing memory corresponding to sector 0:
10:35:15 : Not flash Memory : No erase done
10:35:15 : Download in Progress:
10:35:16 : Error: failed to download Sector[0]
10:35:16 : Error: failed to download the File
Error: failed to download the file
Some other test have been given:
Warning: difference found
Thanks in advance for your support,
Luca
Solved! Go to Solution.
2025-07-04 12:57 AM - edited 2025-07-04 12:58 AM
Normally a firmware image for STM32H743 should not contain anything loaded in RAM areas (like your segment[1], segment[2]). Check the link script. CubeProgrammer could handle this better: sanitize the image before programming, ignore 0-size segments...
2025-07-02 2:48 AM
Check voltage and capacitors placed on VCAP pins.
2025-07-02 5:53 AM
Hi Tesla,
according to design:
where C2,C3,C4: "CAP 2.2UF 50V X7R 10%" TAIYO YUDEN UMK212BB7225KG-T.
They seems compliant to datasheet, I'm only in doubt with ESR (which installed ones seems mismatch):
I measure a stable 1.01V on all three VCAP pins when in DFU mode, since I use internal regulator it should be ok.
Does it makes sense?
2025-07-04 12:23 AM
Just let me underline that I have no problems downloading the firmware via SWD.
Tried adding 100nF in parallel to those caps but nothing changed, below the layout is shown.
Could anyone suggest me any more test to be performed?
Thanks in advance
2025-07-04 12:57 AM - edited 2025-07-04 12:58 AM
Normally a firmware image for STM32H743 should not contain anything loaded in RAM areas (like your segment[1], segment[2]). Check the link script. CubeProgrammer could handle this better: sanitize the image before programming, ignore 0-size segments...
2025-07-04 1:20 AM
Hi @Pavel A. ,
thanks for the hint which, in practice, the pointed out the issue which I've had completely missed.
I fully understand segment[2], since I set up the MPU for an external 8MB SDRAM, I don't understand the segment[1] but I related it to the DMA: since on the STM32H743 I'm using ADC via DMA I had to modify the to modify the linker as suggested on this post (section "GCC linkerscript (*.ld file)").
To omit this section in the hex\elf file I was loading into STM32CubeProgrammer I just appended the "NOLOAD" property to the code suggested and everything started working flawlessly (all the segments disappeared in the Log console).
.dma_buffer (NOLOAD) : /* Space before ':' is critical */
{
*(.dma_buffer)
} >RAM_D2
Thank you for your help,
Luca