2025-09-18 8:01 AM
Firstly, the installation process is pretty ugly and the documentation is very sparse.
From the README.md file:
This application runs from the external Flash memory (LwIP_TCP_Echo_Server Appli).
It boots from internal Flash (Template_XIP_Boot) then jumps to the application code in external Flash.
To configure STM32CubeIDE Debug Configuration, you must do the following :
1. Upload the template XIP
2. Add the adequate external loader (MX25UW25645G_STM32H7S3L8-NUCLEO.stldr file) in Project->Debugger Configuration
3. Add in the startup the template_XIP_Boot in Project->Debugger Configuration
4. Move up the application in the startup
Step 1, real helpful, what an ordeal.
Step 2, could not find MX25UW25645G_STM32H7S3L8-NUCLEO.stldr used MX25UW25645G_NUCLEO-H7S3L8.stldr instead
Environment:
STMCubeIDE V1.19.0
STMCubeMX V6.15
STMProgrammer V2.20.0
ST-Link F/W V3J16M9
My problem:
When I run the code in debugger mode, execution never gets out of Template_XIP_Boot.
Ends up in error handler.
void Error_Handler(void)
{
/* USER CODE BEGIN Error_Handler_Debug */
/* User can add his own implementation to report the HAL error return state */
__disable_irq();
while(1)
{
}
/* USER CODE END Error_Handler_Debug */
}
Call stack:
HAL_XSPI_Command returns with status=HAL_BUSY
I'm sure I'm missing something but can't afford weeks to find it. Any help or insight would be appreciated.