How to use ext ram (sdram) for camera frame buffer

What MCU/Processor/Board and compiler are you using?


What LVGL version are you using?


What do you want to achieve?

Show camera video on the lv_canvus

What have you tried so far?

LV_MEM_SIZE (16U * 1024U *1024U)
LV_MEM_ADR 0xC0000000

While to malloc camera framebuffer, ram overflowed.
Try to set the LV_MEM_CUSTOM as 1 to use ext 16M sdram directly. But there still had the overflow error as :
region ‘RAM’ overflowed by 1078584 bytes
Should I define the ext ram in the file stm32h743.ld to use ext ram directly?

It sounds to me like you have another statically allocated buffer in your code which is using the RAM.

Yes, you are right.
I allocated the buffer in RAM like what LVGL did for lcd buffer, using the same method.
So the error occured.
I tried to use the ext ram in sdram defined in stm32h743.ld, like the sample provided by Micropython, which was the lcd driver for the board of stm32F7Disc.
There had no error when compiled. But the firmware did not work after showing the camera buffer.
I don’t know why.