2025-07-06 1:18 AM - edited 2025-07-07 4:28 PM
Hello
I have completed the verification of read/write/sector erase/mass erase operations in the firmware based on the main() function.
I have created an external loader by writing link.ld, Loader_src.c and Dev_inf.c and tested the operation. Read/write/sector erase works fine. However, only mass erase does not work.
The code for the MaseErase(void) function is below, but just in case, I commented out the content and returned only LOADER_OK;, but the same symptom occurred.
STM32CubeProgrammer 2.19, 2.18 versions are the same, and the message of 2.17 is successful, but the 0x90000000 area is not cleared.
Is there a problem with the STM32CubeProgrammer program?
Or which part of my source code should I modify?
STM32CubeIDE 1.17.0
STM32H747 및 STM32H743
MT25QL512A
2025-07-21 1:39 AM
I have recognized the same problem. I have created an external loader for a MT25QL512ABB NOR flash on a STM32H755 controller via IAR Embedded Workbench IDE. Read/Write/EraseSector/MassErase are working as expected in my test code. If I include the loader in CubeProgrammer V.2.20, I get the same error code as @bsPark for the MassErase function.
I did another test for an existing External Loader with the STM32H747 Discovery Board. The MassErase function of the existing loader in the CubeProgrammer works as expected. Then I created the corresponding project myself. Read/Write/EraseSector work without any problems. When MassErase is called, the familiar error message appears.
Have you been able to find out anything @bsPark?
Is there perhaps a known error that I have not been able to find yet?
(https://github.com/STMicroelectronics/stm32-external-loader/tree/main/STM32H7x_boards/MT25TL01G_STM32H747I-DISCO)
2025-07-21 5:22 AM
Hello,
Could you please check on your side that the external flash loader filename exactly matches the name declared in the flasher ?
Maryem.