2026-01-21 6:12 AM
Hello everyone,
I'm writing this to provide support for my External Loader project for TouchGFX , which I've been working on for a long time.
The External Loader file works good with STM32CubeProgrammer. (Write-Erase-Read operations are possible) LOG OUTPUT IS ATTACHED --> [STM32Cube Programmer LOG Output]
When I run my project file LCD_Driver_v10 and my External Loader file together, I get the following errors: The complete error message is attached. --> [STM32Cube IDE CONSOLE Output]
Error: failed to download Sector[0]
Error: failed to download the File
Encountered Error when opening C:\Users\USER\STM32CubeIDE\plugins\com.st.stm32cube.ide.mcu.externaltools.cubeprogrammer.win32_2.2.300.202508131133\tools\bin\STM32_Programmer_CLI.exe
Error in STM32CubeProgrammer
I also checked this address https://community.st.com/t5/stm32-mcus-touchgfx-and-gui/external-loader-fails-to-download/m-p/136566#M6974 which has a similar problem, but nothing changed.
My Mcu is STM32F743ZGT
STM32CubeIDE verison is v2.0.0
STM32CubeProgrammer version is v2.21.0 (i pasted from cubeide)
Please share with me what I should check first.
Best Regards.
External loader and main project are attached in zip files.
2026-01-15 4:03 AM
Hello everyone,
I created an external loader project using the STM32H743 development board. I used the W25Q32 chip. I used SPI directly in my project (I didn't use OctoSPI or QSPI).
I followed the advice found in forums and meticulously followed the video examples. However, when I try to open and test my external load file with STM32CubeProgrammer, I can only establish a connection; I cannot perform operations such as deleting, writing, or reading.
I'm sharing my project file, the CubeProgrammer Log output, and the library I used along with this post.
I can't figure out where I'm making a mistake.
I would appreciate your help. Best regards.
2026-01-23 7:28 AM - edited 2026-01-23 7:28 AM
Hello @celo01
Could you please try the following two steps:
2026-01-28 7:10 AM
Thanks for the feedback,
I tried step 1 and shared my Loader_Src.c file. All interrupts are disabled (I also disabled from read, write, and erase functions.), but it still didn't work.
I tried step 2 as you suggested, but nothing changed.
The Init function from Loader_Src.c
int Init (void){
*(uint32_t*)0xE000EDF0 = 0xA05F0000;
HAL_RCC_DeInit(); // RCC reset
HAL_SPI_DeInit(&hspi1); // SPI1 hardware reset
SystemInit();
/* H7 cihazı için VTOR ayarı */
SCB->VTOR = 0x24000000 | 0x200;
__set_PRIMASK(0);
HAL_Init();
uint8_t result;
SystemClock_Config();
MX_GPIO_Init();
LOC_SPI_Init();
LOC_LedOn();
result = Flash_Init();
LOC_LedOff();
__set_PRIMASK(1);
return result;
}