2021-08-19 06:57 AM
I want to understand where does touchgfx creates its frame buffer isn't the internal ram of microcontroller like stm32f746 small? for driving a display with a resolution of 480x272 pixel
2021-08-20 04:19 AM
Check TouchGFXGeneratedHAL.cpp, for my STM32F7 discovery kit the following buffer is created:
setFrameBufferStartAddresses((void*)0xC0000000, (void*)0xC003FC00, (void*)0);
If i'm correct 0xC000 0000 is in the external RAM memory.
2021-08-20 04:21 AM
The location of the framebuffer is very flexible: it can be located in external or internal RAM. Of course, the use of internal RAM is only possible if the resolution with the desired color depth fits into the internal RAM.
In addition to other RAM blocks, the STMF746 offers 240 KB of contiguous RAM that can be used as a frame buffer, which is enough e.g. for your 480x272 resolution if you are happy with 8 bits color depth (256 colors):
480x272 pixel = 130560 pixels, this requires at a color depth of:
Of course you'd need external RAM in case you'd need 16bit/pixel or more colors.
Does it answer your question?
If the problem is resolved, please mark this topic as answered by selecting Select as best. This will help other users find that answer faster.
/Peter