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 |
---|---|
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 |
Control1 | == LCCR1. See |
Control2 | == LCCR2. See |
Control3 | == LCCR3. See |
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