5.1 Das U-Boot 13
5.1.6 U-Boot Init Script
The Das U-Boot boot loader comes with scripting facilities in the form of
the Hush parser and the autoscript command. You should notice when first
compiling the package that the Boundary Devices sample uses this to defer
most board initialization to the MMC card. It does this by setting the
CONFIG BOOTCOMMAND environment variable as follows.
#define CONFIG_BOOTCOMMAND "mmcinit; fatload m mc 0 a0000000 init.scr ; autoscr a0000000 "
In English, this instructs U-Boot to initialize the MMC/SD card driver,
load a file named init.scr from the card to address A0000000 (the start of
RAM), and execute the script from that memory address. This little bit of
scripting effectively passes all responsibility of what to do at boot time to
the MMC card.
Think of it as a Das U-Boot version of AUTOEXEC.BAT.
The sample script is defined in u-boot-1.1.2/board/neon/init.script and
performs the following steps.
1. Loads and displays a logo. The script looks for an image file named
logo.bmp on the MMC/SD card. If found, it displays the logo on the
LCD panel. We recomme nd that you place a splash image of a size
matching your display on the MMC card. Note that the bitmap must
be an 8-bit color bitmap.
2. Loads and runs Windows CE. Next, the script attempts to load
NK.nb0 from the MMC/SD card and run it.
As mentioned earlier, the initialization has been mostly deferred to the
MMC/SD card, so the compiled script (init.scr) must be placed on the
card itself. The script is compiled using the Das U-Boot mkimage tool
during the U-Boot build process.
The following list is a recap the expected content of the MMC/SD card
when using the Boundary Devices initialization script.
Filename Description
init.scr Compiled initialization script
logo.bmp 8-bit color splash image
NK.nb0 Windows CE image
December 28, 2005 Revision 2.8