This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Handling images(.jpg, .bmp etc) in u-boot

Hi

I have currently implemented u-boot splash screen, a battery charging animation(as a series images) in u-boot on my board(OMAP44xx), all of the above by creating a GIMP header (.h) for each of the image.

The problem I'm facing is, the size of the u-boot binary is ever increasing, as the headers for each image is very large even though all of them take up only 1/4 of the screen size(WVGA).

Now, I'm supposed to implement a full screen size splash screen and add a few more images to accommodate extra levels of battery charging.

With this added my u-boot.bin goes upto 4-5MB (and that is bad right ??)

I just came to know that there is a method where we can create a partition and put images(.bmp) into the EMMC flash.
I saw the u-boot's manual where there is a description about a environment variable 'splashimage'.

The problem I'm facing is how do I load my images(10 different full screen images) into eMMC flash ?
I have to load each one on different situations, key presses, battery voltage, a few other interrupts etc.,
Do I have to create a partition for each image ?
How do I get the addresses of each one of them ?

The tftp command the manual uses seems pretty staright forward, but it does require a network connection, doesn't it ?
I just have a microUSB connecting my PC and board(a device running android on OMAP44xx), NO network connection.

How do I proceed ?

  • If you have SD/MMC support you can use that to flash the image. But I can suggest another way around. Since you are using BMP files you can compress them using GZIP algorithm and store as the total file size will be less than 1MB. GZIP decompress algorithm is available as part of u-boot. Using that you can de-compress directly to memory.