2025-02-28 7:10 AM
I created an external flash STLDR file for my board, with STM32H750VB chip and W25Q64 QSPI FLASH. After copying the STLDR file to the cubeprographer directory, it can perform normal external flash read/write and sector erase functions. However, when selecting full chip erase, the cubeprographer prompts me "please select external loader before performing external full chip erase". But I am sure that my code contains the correct int MassErase (void) function, and I used the readelf command in Ubuntu environment to read the STLDR file I created, which also includes the MassErase function. But it seems that this function cannot be correctly detected by the cubeprographer. How can I locate the cause and solve this problem?
Wishing you peace
2025-02-28 10:11 AM
>>How can I locate the cause and solve this problem?
Hard to know with the detail presented, you look to be looking in the right places.
Perhaps attach the .ELF / .STLDR, or a structure dump via OBJDUMP, OBJCOPY, or whatever.
Perhaps the address or attributes of the function? The case?
Perhaps compare the structure of how your's dumps vis-a-v all the other examples in the ExternalLoader subdirectory.
Screen shots of error, showing loader that's loaded, the Log at Verbosity Level 3..