2021-12-17 3:52 AM
I am using STM32H743II { Flash(2MB), DTCMRAM(128KB), RAMD1 (512KB), RAMD2 (288KB), RAMD3 (64KB), ITCMRAM (64KB) } microcontroller. By this controller with internal RAM can i run 800x480 RGB888 display or i need External RAM. if i Need Ext. RAM then what will be the exact calculation for choosing external RAM.
2021-12-17 4:09 AM
RGB888 requires 24bit, i.e. three bytes per pixel.
Your resolution of 800x480 therefore requires 800x480x3 = 1152000 bytes = 1125KB per frame buffer.
You can solve the problem with external RAM, but then the entire frame buffer must be external, so you need 1125KB - per frame buffer.
However, you could reduce the need for RAM if you use RGB565 instead of RGB888, for example, because per pixel you only need 16 bits, i.e. 2 bytes. You will then have a smaller color resolution, but this is hardly noticeable or not at all with smaller displays.
Regards
/Peter
2021-12-17 4:40 AM
if i am using RGB565 with 800x480 then frame buffer size is 800x480x2=768000bytes=768KB then i need external RAM which size is more then 768KB (1024KB)
2021-12-17 5:01 AM
Correct, so either use external RAM or reduce the color resolution even further or e.g. the STM32H7A3.
Regards
/Peter
2021-12-17 5:59 AM
768000bytes=768KB is fail true is = 750kB then maybe can run with internal D1+D2 RAM
And next choice and i recommend start with internal L8 framebuffer with CLUT hw table converter to RGB888
2021-12-19 8:55 PM
how we can i define in code for adding D1+D2 RAM
please guide me
2021-12-20 8:33 AM
You have two choices in config touchgfx framebuffer , by allocation and by address.
Here second is better simply enter start addr D1. When i good rememmber addressing continues to D2.
Next condition is dont use this memory on other places , in normal linker setup is ok.
By allocation need create sections in linker script and use in declaration for framebuffer array... more complicated but you see usage of memory
We’re moving the ST Community to a new platform to give you a better and more reliable community experience.