cancel
Showing results for 
Search instead for 
Did you mean: 

STM32N657X0H3Q LTDC works with AXI SRAM framebuffer but issue with TouchGFX.

siddum
Associate II

 

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.

1 REPLY 1
JohanAstrup
ST Employee

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