Skip to main content
ABricout
Associate III
April 21, 2021
Question

How to get the LTDC working with TouchGFX : Internal RAM buffer

  • April 21, 2021
  • 8 replies
  • 2748 views

Hello,

I am trying to develop an application on a STM32F469 using touch GFX and a frame buffer in internal RAM. The Pixel format I use is ARGB2222.

The frame buffer is being written by touch GFX in a good way: in debug mode I can see that the values in the buffer changes accordingly to the application I developed, however the LTDC seems not to be working (at least the screen is black).

In a project without OS and Touch GFX I am able to use the LTDC to print an image to my screen from the RAM memory so I guess that the parameters I use for the screen and the LTDC are correct.

I do not use the DMA2D as I does not support my pixel format, but I tried with it and RGB565 and it did not change anything to my problem.

I followed this article to set the LTDC and buffer in internal RAM : https://support.touchgfx.com/docs/development/board-bring-up/how-to/03-display-internal And then I passed the address of my frame buffer to touch GFX.

I followed this to configure the LTDC concurrently with TouchGFX : https://support.touchgfx.com/docs/development/touchgfx-hal-development/scenarios/scenarios-ltdc-parallel-rgb

I am a bit out of ideas and options here, do you see what could be the origin of the problem?

Thank you by advance

Augustin

This topic has been closed for replies.

8 replies

MM..1
Super User
April 22, 2021

You dont write how LCD you use. How big framebuffers... But primary how you change config for touch GFX.

TouchGFX supported format is L8-XXX2222 ...

ABricout
ABricoutAuthor
Associate III
April 22, 2021

I am using the LCD_TFT STP480480_R021B2, with a framebuffer size of 480x480.

This is the configuration of my TouchGFX :

0693W00000AMGRWQA5.png0693W00000AMGTNQA5.pngHere is ABGR2222, but it's barely the same.

Thank you by advance

Augustin

Romain DIELEMAN
ST Employee
April 23, 2021

Hi,

Is the start address set at 0x00000000 intentional ? That seems really odd to me :grinning_face_with_sweat:

/Romain

ABricout
ABricoutAuthor
Associate III
April 26, 2021

Hello,

As I work by address, and I define the framebuffer myself in the code, I cannot set the address in cube MX because it is the linker that decide it I believe. So I set it by hand to the LTDC and Touchgfx

I have also tried by allocation but there isn’t an evident way to indicate to the LTDC the start address of the framebuffer as the LTDC is initialised before touchgfx in order for it to work.

Thank you for your answers

MM..1
Super User
April 26, 2021

STM32F429I-Discovery & BSP: problem with LCD and transparency

here example image with internal RAM by allocation, ofcourse you can use by address but here you need know how you do this.

Senior
March 2, 2023

This thread and the mentionned links to touchGFX website helped me a lot. Thanks a lot. All my questions are now answered.

Romain DIELEMAN
ST Employee
March 3, 2023

Great to hear :thumbs_up: It is sometimes difficult to answer everyone's questions due to lack of time or knowledge from us as well sometimes :grinning_face_with_sweat: But the forum is there for this, so that everyone can share their issues and anyone can answer, and then give solutions for every future users as well.