Displaying Static Splash Image Immediately After Reboot |
This application note explains how to show a static splash image on the display immediately after power-on / reboot. This feature can be used to indicate to the user that the device is alive and running, while the system still continues to boot up.
U-Boot Display Driver Graphics facility in U-Boot for the IMXRT1050-EVK BSP is provided by the framebuffer drivers drivers/video/mxsfb.c with using eLCDIF controller of the i.MXRT1050 SoC. LCD screen resolution is 480x272, 16-bit RGB565 color mode is used by the framebuffer driver. User can issue the bmp command to draw an image from a bmp file. 8-, 16- and 24-bits bmp images are supported. Here is the example on how to draw image from the splash-rt1050-series_24.bmp file from the FAT FS partition on the SD Card: => fatload mmc 0 $loadaddr splash-rt1050-series_24.bmp
Displaying static splash image on boot is the standard U-Boot feature. This is enabled by the CONFIG_SPLASH_SCREEN and CONFIG_SPLASH_SOURCE options. By default, the file with the splash image is looked up by U-Boot in the first partition of SD Card with the FAT File System. This is configured by the spashsource environment variable which is set to mmc_fs. Refer to u‑boot/doc/README.splashprepare and the splash_screen_prepare() function in u‑boot/common/splash.c for details for other possible locations for the splash image file. The default filename for the splash image is splash.bmp, This can be changed by defining the splashfile environment variable. The splashimage environment variable is used to specify the address in RAM where the splash screen will be prepared prior to passing to the framebuffer, by default it is defined to 0x80007fc0 similarly as the loadaddr variable is defined. User can unset the splashimage variable to disable displaying the splash screen on boot.
The following instruction can be used to install the splash‑rt1050‑series_24.bmp file (refer to
$ sudo mount /dev/sdX1 /mnt $ sudo umount /mnt For correct splash displaying it is assumed that the U-Boot environment is reset to defaults. Especially, spashsource is set set as mmc_fs, splashimage is set as 0x80007fc0, splashfile is not defined: => print splashsource |