Exibindo uma imagem na inicialização do U-Boot

- por Sergio Prado

Categorias: U-Boot Tags:

Mesmo que você consiga iniciar um dispositivo com Linux embarcado em alguns segundos, o usuário normalmente espera que algo aconteça assim que o dispositivo é ligado.

Para resolver este problema, alguns bootloaders normalmente permitem com que você exiba uma imagem de logo (splash screen) no começo da sua inicialização.

Vamos aprender como fazer isso no U-Boot?

AMBIENTE DE TESTES

Para testar, utilizei o U-Boot 2014.07 e a Wandboard Quad.

De qualquer forma, os procedimentos descritos neste artigo devem funcionar em qualquer outra placa, desde que o U-Boot possua os drivers necessários da saída de vídeo ou display da sua placa.

O host é um Ubuntu 12.04 64 bits. O único pré-requisito é a ferramenta de manipulação de imagens netpbm:

$ sudo apt-get install netpbm

PREPARANDO A IMAGEM

O primeiro passo é preparar a imagem que será exibida no display ou saída de vídeo. Crie uma imagem no formato JPEG com resolução igual ou inferior à resolução do seu display. Se a resolução da imagem for menor que o display, ela será exibida de forma centralizada.

Depois converta a imagem para o formato BMP esperado pelo U-Boot, usando o comando abaixo. Substitua logo.jpg pelo nome do arquivo da imagem JPEG que você criou. Substitua também boardname pelo nome da sua placa no U-Boot.

$ jpegtopnm logo.jpg | ppmquant 256 | ppmtobmp -bpp 8 >boardname.bmp

Agora copie este arquivo para o diretório tools/logos/ do U-Boot.

Durante a compilação do U-Boot, a imagem será convertida em dois arquivos de include (include/bmp_logo.h e include/bmp_logo_data.h), contendo alguns vetores que representam a sua imagem. Estes arquivos serão compilados e incluídos na imagem final do U-Boot.

HABILITANDO A EXIBIÇÃO DA IMAGEM

Para habilitar a exibição da imagem de logo, abra o arquivo de configuração da sua placa no U-Boot em include/configs/ e habilite as opções abaixo:

#define CONFIG_VIDEO_LOGO
#define CONFIG_VIDEO_BMP_LOGO
#define CONFIG_SPLASH_SCREEN_ALIGN

Agora é só compilar o U-Boot e testar.

20140920_190956_LLS

Have fun!

Sergio Prado

Sem Comentários

Nenhum comentário até agora... é a sua chance de ser o primeiro a comentar!

Faça um Comentário

Navegue
Creative Commons Este trabalho de Sergio Prado é licenciado pelo
Creative Commons BY-NC-SA 3.0.