[LTDC] Efficient memory usage for static horizontal-line image with STM32F429IIT6
Hello,
I'm currently working with the STM32F429IIT6 and using the LTDC to continuously output an image via parallel RGB + control signals. The image I'm trying to display is 854x480 pixels in 24-bit RGB888 format. The LTDC clock is running at 10.56 MHz.
According to ST’s Application Note AN4861, I am using the internal frame buffer to send parallel RGB signals along with synchronization signals to the LCD. The total image size is:
854 x 480 x 24-bit = ~1.2 MB,
which fits comfortably within the STM32F429’s 2MB Flash memory.

What I want to optimize
My actual image is very simple — it consists of one horizontal line (854 x 24-bit) that repeats identically for all 480 lines. So, in theory, I only need one line of data and could repeat it 480 times on the display.

However, the standard LTDC configuration in STM32Cube sets FBStartAddress to point to a full-frame buffer (854 x 480 x 24-bit). This results in a lot of redundant memory usage.
My Question
Is it possible to configure the LTDC to reuse the same single line of pixel data repeatedly for all vertical lines, in order to save memory? In other words, can I update only one line (854 pixels) and have the LTDC read it cyclically for all 480 lines?

Or is there another memory-efficient way to achieve this with the LTDC?
Additionally, I cannot change the current hardware setup, and using FMC or external RAM is not an option in my case. So I'm looking for a software-only solution to this problem.
I also considered storing a single image line (854 x 24-bit) in Flash memory, and then using software to repeatedly copy it to a frame buffer area to construct the full image in RAM. However, this approach is not feasible either, because writing to Flash takes too long — approximately 50 seconds, which is unacceptable for my application.
Thanks in advance for your support!
