cancel
Showing results for 
Search instead for 
Did you mean: 

TouchGFX Frame Buffer in External Shared SRAM

cleonb322
Associate III

I have a project that uses TouchGFX with an external parallel SRAM for the frame buffer and double buffer. Everything works as expected, But if I try to declare other variables in the external SRAM (A section defined outside of the display buffer range) sometimes it crashes when I try to access some of these variables. Is there any limitation when accessing the external SRAM when it is used as a frame buffer for a display (can other sections of the SRAM be used for other purposes)?

this is a multi-threaded project.

 

 

Linker definitions:

MEMORY{

....

SDRAM_DISP_BUF (rw) : ORIGIN = 0xC00BF400, LENGTH = 0x84D00

}

 

/*frame buffer = 0xC0000000, double buffer 0xC005FA00, next free = 0xC00BF400*/

.DisplayScratchSection (NOLOAD) : { *(.DISP_SCRATCH_Sect) } >SDRAM_DISP_BUF

 

1 REPLY 1
Osman SOYKURT
ST Employee

Hello @cleonb322 ,

Normally, it shouldn't be a problem. Do you have an animation buffer as well or not? Have you tried to put your SDRAM_DISP_BUF range far from the framebuffer?
Also can you give us more info about your project like which board are you using, what's your display size and color format?
Could you share your linker script entirely if possible? (you can use the code sample for better readability)

OsmanSOYKURT_0-1699352443646.png

 

 

Osman SOYKURT
ST Software Developer | TouchGFX