2024-12-28 03:19 PM - edited 2024-12-28 03:38 PM
Hi, I designed a board with uC STM32H743 that works with a 480x800 display connected through the LTDC peripheral, I don't quite know how to use the LTDC, I don't have ram for the buffer of the entire display. What I can do is fill the background with color, but on layer1 I can only display one buffer at a time, when I display another one, the previous one disappears. In various videos I see that even small uCs can handle a larger display without a large buffer. My question is, what should the procedure for loading smaller buffers into layer1 look like?
2024-12-29 12:50 AM
@kulfi27 wrote:uCs can handle a larger display without a large buffer.
you miss, this is valid only for displays with internal frame memory. Or for displays with sloooow refresh rate.
743 provides 1 to 2 Mbytes Flash memory, 1 Mbyte of SRAM with the following architecture: 192 Kbytes of TCM RAM (including 64 Kbytes of ITCM RAM and 128 Kbytes of DTCM RAM for time-critical routines and data), 512 Kbytes, 288 Kbytes and 64 Kbytes of user SRAM ...
I see here plenty space for one L8 or 565 framebuffer, when your display dont have internal memory...
2025-01-14 12:19 PM
Thank you for your response, I already understand how the LTDC peripheral is supposed to work. I don't know how to place data in other sectors of SRAM, the compiler loads everything into RAM_D1 memory. Can someone help me with this issue?
2025-01-14 02:12 PM
Does your design include a screen with it's own controller and buffer, or are you trying to send R G B signals to the pane?
LTDC is primarily a frame buffer DMA unit
Small uC's typically use panels with their own frame buffer, and you manipulate that, either moving bit maps, or painting/drawing type primitives implemented on the controller.