Search by Tags

Framebuffer

 

Article updated at 24 May 2022
Compare with Revision




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[6] Red[6] Green[6] Blue[6]

16 BPP, 18LDD

RGB with Transparency Bit 1:5:5:5 Transparency[1] Red[5] Green[5] Blue[5]

16BPP, 16LDD

RGB 5:6:5 Red[5] Green[6] Blue[5]

Some programs are optimized for 565 and require a framebuffer with this format.

Location

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.

Available SRAM:

PXA320 736KB
PXA310 255KB
PXA300(XT) 255KB
PXA270 255KB

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
BYTE* pFrameBuffer;
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

While the Bootloader is active, typically a Splash Screen is shown. With our Bootloader Customizer Kit, it is possible for customers to draw directly on the screen while the system is booting.

The Framebuffer format in the bootloader is 8 Bit per Pixel with a Color Palette.