cancel
Showing results for 
Search instead for 
Did you mean: 

Allocating TouchGFX Frame Buffer in Internal RAM on STM32F429I

Anassoumi
Associate III

I'am currently engaged in developing an application utilizing TouchGFX on an STM32F429I microcontroller. The initial setup, including LCD initialization, SDRAM configuration, FreeRTOS integration, and the assignment of the primary TouchGFX task, has been successfully completed with the frame buffer start address designated at 0xD0000000 in the SDRAM, resulting in satisfactory operation.

I am contemplating migrating the allocation of the TouchGFX frame buffer from the SDRAM to the internal RAM of the STM32F429I. Could you advise on the procedure to reallocate the frame buffer to the internal RAM? Additionally, considering the internal RAM may already be partially utilized, how might I determine an appropriate start address for the frame buffer in this scenario?

 

1 ACCEPTED SOLUTION

Accepted Solutions
MM..1
Chief III

Here you have two ways. Stay by address and in linker script place buffer manualy or use by allocation and in code use array or malloc... I preffer linker change, here you need care for choice mem with dma access when you plan dma... Based on size you can place only one buffer into IRAM.

View solution in original post

2 REPLIES 2
MM..1
Chief III

Here you have two ways. Stay by address and in linker script place buffer manualy or use by allocation and in code use array or malloc... I preffer linker change, here you need care for choice mem with dma access when you plan dma... Based on size you can place only one buffer into IRAM.

GaetanGodart
ST Employee

Hello @Anassoumi ,

 

As @MM..1 said, you can specify the location of your framebuffer via the linker script.
Here is how to specify the location of the framebuffer : framebuffer strategies 

 

Regards,

Gaetan Godart
Software engineer at ST (TouchGFX)