2024-12-12 11:08 AM
I have manually verified the FLASH bytes are correct after programming, but the -v option results in "Error: Data mismatch found at address 0x10000000 (byte = 0x21 instead of 0x00)" and the process stops.
Isn't 0x10000000 a CCM address and why is it being tested and failing? See terminal output below:
"C:\Program Files\STMicroelectronics\STM32Cube\STM32CubeProgrammer\bin\STM32_Programmer_CLI.exe" -c port=USB1 -d "fw.hex" -v -g 0x08000000
-------------------------------------------------------------------
STM32CubeProgrammer v2.18.0
-------------------------------------------------------------------
USB speed : High Speed (480MBit/s)
Manuf. ID : STMicroelectronics
Product ID : DFU in HS Mode
SN : 000000
DFU protocol: 1.1
Board : --
IAP
Opening and parsing file: fw.hex
Memory Programming ...
File : fw.hex
Size : 459.21 KB
Address : 0x080A0000
Erasing memory corresponding to segment 0:
Erasing memory corresponding to segment 1:
Download in Progress:
██████████████████████████████████████████████████ 100%██████████████████████████████████████
File download complete
Time elapsed during download operation: 00:00:28.989
Verifying ...
Read progress:
██████████████████████████████████████████████████ 100%
Error: Data mismatch found at address 0x10000000 (byte = 0x21 instead of 0x00)
Error: Download verification failed
2024-12-12 2:54 PM
Tracked the issue down to the HEX file including bytes to initialize CCM memory as "segment 1".
The ST code must be using CCM for scratch space...
Resolved.
We’re moving the ST Community to a new platform to give you a better and more reliable community experience.