cancel
Showing results for 
Search instead for 
Did you mean: 

STM32CubeProgrammer Verification Error with External QSPI Loader

eng88
Associate II

When using a STM32H757, with external QSPI, on an STM32H757I-EVAL, I am experiencing some programming issues when programming an .elf file with sections pointing to external QSPI. I am using the ST External Loader for MT25TL01G_STM32H747I-EVAL. Programming does work successfully, but on newer versions of cube programmer, there are warnings about 32 byte alignment, and then verification fails.

 

The addresses mentioned are in AXI SRAM, and are .bss sections, which are marked NOLOAD, so it's confusing why that memory is trying to be programmed and this error is coming up in the first place. Manually setting the ALIGN markers in the linker file to be 32 instead of 4 does seem to get rid of the warning, and fix the issue.

 

I've seen this issue on with versions 2.19 and 2.21 Is this a known issue?

 

I haven't seen this issue with 2.17.

 

Attached are logs files with the warnings and errors. Thanks for the help!

5 REPLIES 5
Aziz BRIGUI
ST Employee

Hi @eng88,

Could you dump the program headers for your elf file here please?

Aziz


In order 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.

Yes, I've attached it to the original question. Thanks!

Hi @eng88,

I see that AXI SRAM segments are load segments:AXISRAM_loadSegments.png

Could you set them to NO_LOAD and retry ?

Aziz


In order 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.

In the linker file, the sections pointed to AXI SRAM are marked as NOLOAD, or in the case of .data are pointed to RAM at FLASH. 

Those sections you marked do have a value in the VirtAddr column pointing at AXI SRAM. However, for the first one, the PhysAddr (where it should be loaded to) is pointed to flash (0x0810bf48). For the second one, its odd to me that it's still showing up as load, but the FileSiz column for that one is (0x00000), so I wouldn't expect anything to get programmed.

Hi @eng88,

Could you attach or PM me your binary file ? On my end, I've generated an elf file where VMA and PMA for a segment are different but the correct physical address was parsed by STM32CubeProgrammer:

ReadelfVsCubeProgrammer.png

Thanks,

Aziz


In order 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.