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 02: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.