BitmapBoot Tool ( Trizeps II - V)

BitmapBoot Tool ( Trizeps II - V)

The BitmapBoot-Tool is used to create a splash-screen which is shown during device start.

The Windows CE OS-image can take the display-parameters from this splash-screen. This allows an easy change of the display, without the need to modify the Windows CE OS-image.

For Trizeps6 you do not need the BitmapBoot-Tool ( see Boot-Bitmap ( Trizeps VI)).

Creation of a Bootlogo

To create your own bootlogo, create a bitmap with 8Bpp color-depth. This picture must have a smaller or same resolution, than the display-size specified in the Display Definition File: eg. for tr4_svga 800×600; for tr4_vga 640×480.

open a cmd-line ( Start→Run or Start→Ausfuehren: cmd) on your Windows XP or Vista machine:

bitmapboot *.dis <your bitmap> <output file of bitmapboot>

i.e.:

bitmapboot tr4_svga.dis kkbooting8.bmp kkboot.tft

Put kkboot.tft on a SD-Card and enter the bootloader. On your Hyperterminal command-prompt enter:

boot mmc kkboot.tft

The picture is shown and you're asked if you want to save the picture.

Note: If the picture-size has changed from the previous-bootlogo, you must reinstall your Windows Embedded CE-Image.

BootBitmap CmdLine-Options

BitmapBoot.bat <DisplayDefinitionFile> <BitmapFile> <BootableOutputFile> [Options]

DisplayDefinitionFile:

describes display-parameters.

BitmapFile:

any 256 color bitmap file (*.bmp) which fits to the display.

BootableOutputFile

the output file which can be booted by bootloader.

Options

These options may be used:

  • show_continue → shows the bootlogo and continues without storing it to flash.

  • burn_continue → stores the bootlogo to flash without showing it.

  • show_stop → shows the bootlogo without storing it to flash and halts the bootloader if a autoboot.00x -sequence is used.

On default, the bootlogo is shown and the user is asked through the bootloader-interpreter, if it should be stored to flash.

Display Definition File

The Display Definition File typically has the extension .dis and contains the display-parameters.
It is the same for Trizep2, Trizeps3 and Trizeps4.
Trizeps5 has some differences.

Field

Description

Field

Description

Paramcnt

Number of parameters. Currently fixed to 16 (0x10)

FBADR

FrameBuffer-address. This is the address, where the DMA-descriptors and the framebuffer of the picture will be put. When using Windows CE as OS, use 0x80088000 for Trizeps5 and 0xA0088000 for all other Trizeps.

Bpp

Bits-Per-Pixel. The bootloader always uses 8Bpp. You may use either 8 or 16(0x10). When using 16, it will be used by Windows CE

Use16BitPalette

set to 1

CxScreen

Horizontal resolution of the display

CyScreen

Vertical resolution of the display

Control0

== LCCR0. See PXA2xx Developers Manual for details.

Control1

== LCCR1. See PXA2xx Developers Manual for details. The last 10 bit contains the horizontal resolution of the display. Leave it 0, because it is calculated from CxScreen

Control2

== LCCR2. See PXA2xx Developers Manual for details. The last 10 bit contains the veritcal resolution of the display. Leave it 0, because it is calculated from CyScreen

Control3

== LCCR3. See PXA2xx Developers Manual for details.

DataBits

set to 0x10

DisplayOn

Controls behaviour: 0x8000_0000 Override Registry and use BootBitmap-parameters for the display. 0x4000_0000 Enable VNC-acceleration. 0x0800_0000 Invert palette if using 8Bpp. 0x0400_0000 Use Mono-palette for black&white screens. 0x0300_0000 Enable Cache for framebuffer. 0x000F_F000 GPIO-Number, if a gpio is used for backlight-control. 0x0010_0000 Invert polarity of this backlight-gpio. 0x0000_00FF GPIO-Number, if a gpio is used to enable power to the display. 0x0000_0100 Invert polarity of this power-gpio.

Brightness

Default brightness-value to use.

Contrast

Default contrast-value to use.

Feature

Contrast-Control: 0x0000_0000 Use EEPOT for contrast-control. Use also if no other contrast-control is used. 0x2000_0000 Use AD5242 for contrast-control. 0x3000_0000 Use DS1050z for contrast-control. 0x4000_0000 Use PWM for contrast-control. 0xF000_0000 No contrast-control. 0x0000_ff00 The contents of this field is determined by the previous option ( AD5242, DS1050z: i2c-address, PWM: gpio) Backlight-Control: 0x0000_0000 Use EEPOT for brightness-control. Use also if no other brighntess-control is used. 0x0200_0000 Use AD5242 for brightness-control. 0x0300_0000 Use DS1050z for brightness-control. 0x0400_0000 Use PWM for brightness-control. 0x0f00_0000 No brightness-control. 0x00ff_0000 The contents of this field is determined by the previous option ( AD5242, DS105z: i2c-address, PWM: gpio). 0x0000_0002 Turn off backlight when brightness is set to minimum value. 0x0000_0004 Don't turn off backlight when using slider of backlight-control-panel-applet. BufferStrength of signal-lines: 0x0000_00f0 0: don't change bufferstrength. 1..7: PXA320: 8 is equal to bufferstrength 0. (only supported by bootloader) 1..15: PXA270. PXA168 uses seperate BufferStrength-key.

UseEDTSSP

Used for special smart-displays, which need additional initialization. i.e. through i2c or SPI

DisplayName

Name of the display

Please note, that the order of the fields must be kept.
The field-name before the value is not interpreted by bitmapboot.
Features and options might be different on different Trizeps-modules; i.e. PWM is only supported for special pins.

Trizeps and Trizeps5 Differences

To port a .dis-file from Trizeps to Trizeps5, you need to modify following entries:

  • FBADR: Change from 0xa0088000 to 0x80088000.

  • Bufferstrength for Trizeps5 is set throug HAL reading MFPR Registry values

[HKEY_LOCAL_MACHINE\SYSTEM\KUK\MFPR] "6_2"=dword:$(PLAT_DISPLAY_BUFFER_STRENGTH) "7_2"=dword:$(PLAT_DISPLAY_BUFFER_STRENGTH) "8_2"=dword:$(PLAT_DISPLAY_BUFFER_STRENGTH) "9_2"=dword:$(PLAT_DISPLAY_BUFFER_STRENGTH) "10_2"=dword:$(PLAT_DISPLAY_BUFFER_STRENGTH) "11_2"=dword:$(PLAT_DISPLAY_BUFFER_STRENGTH) "12_2"=dword:$(PLAT_DISPLAY_BUFFER_STRENGTH) "13_2"=dword:$(PLAT_DISPLAY_BUFFER_STRENGTH) "63"=dword:$(PLAT_DISPLAY_BUFFER_STRENGTH) "64"=dword:$(PLAT_DISPLAY_BUFFER_STRENGTH) "65"=dword:$(PLAT_DISPLAY_BUFFER_STRENGTH) "66"=dword:$(PLAT_DISPLAY_BUFFER_STRENGTH) "67"=dword:$(PLAT_DISPLAY_BUFFER_STRENGTH) "68"=dword:$(PLAT_DISPLAY_BUFFER_STRENGTH) "69"=dword:$(PLAT_DISPLAY_BUFFER_STRENGTH) "70"=dword:$(PLAT_DISPLAY_BUFFER_STRENGTH) "71"=dword:$(PLAT_DISPLAY_BUFFER_STRENGTH) "72"=dword:$(PLAT_DISPLAY_BUFFER_STRENGTH) "14_2"=dword:$(PLAT_DISPLAY_BUFFER_STRENGTH) ; F_CLK "15_2"=dword:$(PLAT_DISPLAY_BUFFER_STRENGTH) ; L_CLK "16_2"=dword:$(PLAT_DISPLAY_BUFFER_STRENGTH) ; P_CLK "17_2"=dword:$(PLAT_DISPLAY_BUFFER_STRENGTH) ; LBIAS
  • Control3: Change the least-significant-byte (LSB) of Control3 (Pixel-Clock-Divider).

The lcd-controller-clock-frequency is twice as big, as on the other Trizeps-modules (e.g. 208MHz instead of 104MHz).

On Trizeps:
Pixel-Clock-Frequency = 104MHz/(2*(PCDtr4+1))
On Trizeps5:
Pixel-Clock-Frequency = 208MHz/(2*(PCDtr5+1))
So you have to recalculate the Trizeps5-Pixel-Clock-Divider to be:
PCDtr5 = (2*(PCDtr4+1))-1

Download

BitmapBoot Tool

BitmapBoot-Tool (incl. dis-files): bitmapboot.zip

.dis-files

Trizeps4:
VGA (spark-board): tr4_vga.dis
SVGA (spark-board): tr4_svga.dis
EDT43 (uConXS): et043.dis
ATA070TN83 (iPAN7): at070tn83-i-pan7.dis
EDT ET070: tr4_et070.dis
Trizeps5:
lta065 (ConXS): tr5-_lta065a041f-16bpp.dis
SVGA (spark-board): tr5_svga.dis
WVGA (spark-board): tr5_wvga.dis
ATA070TN83 (iPAN7): tr5_at070tn83-i-pan7.dis
EDT ET070: tr5_et070.dis

Boot-Pictures