2021-06-30 08:41 AM
The STL library is configured to test a multiple of sectors at a time (128kByte each).
Our usage model is closely derived from the Nucleo reference project that ST provides as an aid to integrate the STL library; and we're using the IAR project in that package.
As of today our code utilizes 3 sectors (2 complete and one partial).
The Flash test (via STL_SCH_RunFlashTM API) works well on the first 2 sectors, but always fails the 3rd.
Turns out, this is because the ST-provided CRC table generator utility (STM32_Programmer_CLI.exe called with option -sl) does not generate CRCs past the last byte of in-use memory inside the 3rd sector.
As an attempt to remedy the problem I'm using the memory fill option built into the IAR IDE, to force a fill to a known pattern, different from 0xFF.
This results in the IAR IDE throwing a "Multiple images overlap" error when I attempt to load the debug build into target.
The attached file "ELF-map.txt" shows exact error message and the output of an ELF viewer.
One can clearly see the overlap in the third log, bottom of the file. It appears that the CRC table generator utility did some padding for 32-bit alignment on each program section, possibly encroaching on the next.
What is you recommendation?
Joining the 2 segments A0 and Fill1 prior to calling the CRC table generator utility?
Other?
Note: the issue is only with the ELF file that gets loaded in the target by the IDE. I can achieve 100% coverage (all 3 sectors) if I download the debug *.bin file outside of the IDE via the STM32CubeProgrammer. I'm taking about the *.bin file that gets generated by the IDE alongside the ELF file.
Solved! Go to Solution.
2024-02-12 07:20 AM
Hi @NVerm.2 ,
Could you please share the issue you are currently facing in a new thread? It should be easier to analyze. Previous one was STM32H7 related.
-Amel
To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.