Fuzzy graphics with external SDRAM.
I was able to develop custom driver for SDRAM on STM32F429 Discovery board with 8MB in size.
The full LCD buffer is located at the external SDRAM as following:
__attribute__ ((section(".SDRAM_data"),used)) uint16_t Frame_buffer[FB_SIZE];
The LCD driver is based on LTDC and DMA2D for acceleration.
When I host the LvGL draw buffer on the external RAM, I am getting some sort of fuzziness within the picture as shown below:
static lv_color_t buf_1[MY_DISP_HOR_RES*64]__attribute__ ((section (".SDRAM_data")));
static lv_color_t buf_2[MY_DISP_HOR_RES*64]__attribute__ ((section (".SDRAM_data")));
When I use the internal RAM, it is clear as shown:
static lv_color_t buf_1[MY_DISP_HOR_RES*64];//__attribute__ ((section (".SDRAM_data")));
static lv_color_t buf_2[MY_DISP_HOR_RES*64];//__attribute__ ((section (".SDRAM_data")));
As you can see, when internal RAM is used to hold the double draw buffer, is it crystal clear compared to external RAM.
Any idea why the issue?
I tried the following:
Increase decrease the external RAM speed.
decreasing the CPU speed to ensure stability etc,
Any idea how to solve this issue?
I am using latest LvGL version.