2026-03-16 2:00 AM
Hello ST Community,
We are working with STM32N657X0H3Q and configuring LTDC with internal AXI SRAM.
Currently, we have configured the LTDC framebuffer at the following address:0x34200000
First, we verified the LTDC functionality without using TouchGFX.
Using the same framebuffer address (0x34200000), we manually filled the framebuffer with different colours and confirmed that the display works correctly. The panel turns on and displays the colour patterns properly. This confirms that the LTDC configuration and the memory region are functioning as expected.
After enabling TouchGFX, the system starts initialization, but during debugging we observe that execution exits unexpectedly during the TouchGFX initialization phase.
In TouchGFX, we have configured the framebuffer using the address method, pointing directly to the same memory location 0x34200000.
The issue appears to occur around the following section of the TouchGFX initialization code:
FrontendHeap& heap = FrontendHeap::getInstance(); (void)heap; hal.initialize();
While stepping through the code in debug mode, execution exits around the heap initialization area, and the program does not continue further into the TouchGFX framework.
Our question is:
Is there any specific linker configuration or memory section requirement for the TouchGFX framebuffer or heap when using internal AXI SRAM at address 0x34200000 on STM32N657X0H3Q?
Since LTDC works correctly with the framebuffer located at 0x34200000, we suspect the issue might be related to TouchGFX memory placement or linker configuration.
For reference, we have attached the relevant files below:
LTDC configuration
TouchGFX initialization
Main application file
Any guidance or recommended configuration would be greatly appreciated.
Thank you.
Siddu M.
2026-03-18 5:07 AM
Hello @siddum.
The best recommendation I can give is to use one of the STM32N6570-DK TBSs available in TouchGFX Designer as a reference, since these are complete, working projects for the N6.
It could e.g. be related to the MPU configuration.
Also, try stepping into the hal.initialize() function to get a better idea of where things go wrong.
Best regards,
Johan