U-Boot 2013.01

- por Sergio Prado

Categorias: U-Boot Tags: ,

A versão 2013.01 do U-Boot foi liberada no último dia 15 de janeiro pelo mantenedor interino do projeto, Tom Rini.

Me parece que fizeram uma boa limpeza no código, removendo várias plataformas mais antigas e reescrevendo boa parte da infraestrutura e dos drivers da serial. Foram mais de 50.000 linhas de código removidas!

Mas muita coisa foi implementada também. Segundo as estatísticas oficiais, mais de 90.000 linhas de código foram adicionadas, incluindo o suporte à várias placas, algumas novas baseadas em PowerPC e no i.MX6 da Freescale.

Há algum tempo, o U-Boot tem suporte à um framework chamado SPL (Secondary Program Loader). Algumas plataformas, principalmente SoCs baseados em ARM, possuem um código de boot integrado ao chip, que procura por um bootloader de 1o. estágio para carregar para a memória e executar.

O problema é que este bootloader não pode ser carregado para a RAM externa, já que o código de boot não sabe configurar a controladora de DRAM. Portanto, ele precisa carregar o bootloader de 1o. estágio para uma SRAM interna, que não tem espaço suficiente para suportar o U-Boot. Por isso precisamos de um bootloader intermediário. A Texas tem o X-Loader, a Atmel tem o AT91Bootstrap, a Freescale tem os imx-bootlets, e por aí vai.

Então, um tempo atrás, o pessoal pensou: porque não reutilizar o próprio código do U-Boot para gerar o SPL. Foi o que fizeram com alguns SoCs ARM, começando com a linha OMAP. Esta alteração fez com que o processo de build do U-Boot gerasse duas imagens, uma do próprio U-Boot e outra do SPL.

Na versão 2012.10 do U-Boot, este framework, que era específico para a linha OMAP, virou genérico. Agora, nesta mais nova versão, a arquitetura PowerPC ganhou suporte ao framework SPL.

Fora isso, alguns comandos também foram adicionados, como o torture para testar um bloco de memória flash NAND, e o interessante comando bootstage, para exibir estatísticas de tempo de boot das diferentes etapas de inicialização do U-Boot.

Eles adicionaram suporte inicial à uma ferramenta de análise estática de código chamada sparse, criada inicialmente para ser usada no kernel Linux, e adicionaram também suporte inicial ao DocBook, com alguma coisa documentada.

De acordo com a página do projeto, foram mais de 1.100 change sets recebidos de 153 desenvolvedores diferentes. Nas estatísticas dos desenvolvedores que mais contribuiram com o projeto, destaque para dois brasileiros: Fabio Estevam da Freescale (em terceiro lugar) e Otavio Salvador da O.S. Systems. Um trecho das estatísticas abaixo:

Developers with the most changesets
Marek Vasut         132   11.3%
Simon Glass         93     7.9%
Fabio Estevam       58     4.9%
Benoît Thébaudeau   50     4.3%
Joe Hershberger     42     3.6%
Stephen Warren      42     3.6%
Rajeshwari Shinde   39     3.3%
[...]
Otavio Salvador     13     1.1%
Vadim Bendebury     13     1.1%
Troy Kisky          12     1.0%
Allen Martin        11     0.9%
Pavel Herrmann      11     0.9%
Łukasz Dałek        10     0.9%
Albert ARIBAUD      10     0.9%
[...]

Tenho acompanhado as últimas versões, e eles vem contribuindo bastante para adicionar ao U-Boot suporte aos chips da Freescale. Muito bom pessoal!

Um abraço,

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.