Framebuffer Color Format
The color format of the framebuffer depends on the BPP and LDD settings. You can change these settings with Colibri Tweak.
24 BPP, 18LDD (default)
RGB 6:6:6 NotUsed Red Green Blue
16 BPP, 18LDD
RGB with Transparency Bit 1:5:5:5 Transparency Red Green Blue
RGB 5:6:5 Red Green Blue
Some programs are optimized for 565 and require a framebuffer with this format.
By default the Framebuffer is located in the main DRAM.
It is possible to reserve a part of the internal SRAM for the framebuffer. You can find this setting in the Display driver registry settings. The key is named as UseSRAM. In general, this will improve the performance. However the SRAM is not very large and the frame buffer will only fit at small resolutions.
Sample: A 640x480 display resolution with 24BPP needs 640x480x3Bytes = 921600 Bytes
Keep in mind that maybe also other applications would like to use the SRAM, from the Toradex side, the only other application which uses the SRAM is the TCPMP.
Get a pointer to the framebuffer
Win CE 5.0
#define GETVFRAMEPHYSICAL 6144
ExtEscape(GetDC(NULL), GETVFRAMEPHYSICAL, 0, NULL, 0, (char*)&pFrameBuffer);
Win CE 6.0
In Win CE 6.0, you need to use Direct Draw to get direct access to the framebuffer.
Framebuffer in the Bootloader
The Framebuffer format in the bootloader is 8 Bit per Pixel with a Color Palette.