2025-04-10 1:32 AM
I'm working on a firmware for STM32C011 using the 'STM32C0 Series IEC 60730 self-test library' and I'm experiencing some problem with the flash test. It seems that the STM32_Programmer_CLI does not generate checksums for the filled area between real machine code and the crc area at flash's end.
Tools:
- IAR Workbench 9.60.2
- STM32_Programmer_CLI.exe (--version prints 'STM32CubeProgrammer version: 2.19.0')
What I did:
1.) Building with IAR Workbench
2.) calling "ielftool --fill v;0xFF;0x8000000-0x8007fff --verbose foo.out" foo.out" resulting in console output
Loading foo.out
Adding fill to 0x8000000-0x8007fff
Adding virtual fill over range 8004179-8007fff
Saving ELF file to foo.out
3.) calling "STM32_Programmer_CLI.exe -sl foo.out 0x8000000 0x8008000 0x400" resulting in console output
CRC Tool v1.0
Warning: The ELF file will be overwritten
CRCs area injected successfully
When I execute the firmware, 17 passes of STL_SCH_RunFlashTM() are successful, the 18th fails. The cause is, that the CRCs for the remaining sections were not calculated by STM32_Programmer_CLI as can be seen in the memory view. The position of the generated CRCs is correct for 32k memory but the ones for filled memory space is missing.
I also tried to fill without the v option (virtual fill), but in this case, STM32_Programmer_CLI does not accept the file.
Can somebody verify this behaviour and - even better - has advice for me?
Regards, Erik
2025-04-10 2:00 AM