1. Introdução ao uboot
Existem muitos softwares de bootloader prontos disponíveis, como uboot, vivi, RedBoot, etc., entre os quais o U-Boot é o mais amplamente utilizado.
A principal tarefa do bootloader é iniciar o kernel do Linux .
2. uboot
Para iniciar o sistema Linux , você precisa de um programa bootloader ( uboot é um bootloader ), ou seja, após o chip ser ligado, ele rodará por um período de tempo.
programa de bootloader . Este programa bootloader inicializará primeiro o DDR e outros periféricos ( porque o Linux roda emDDR ) , depois copiará o kernel do Linux do flash ( NAND, NOR FLASH, SD, MMC, etc.) para o DDR e, finalmente, iniciará o kernel do Linux.
(Geralmente, a imagem Linux zImage (uImage) + árvore de dispositivos (.dtb) é armazenada em áreas de armazenamento externo, como SD, EMMC, NAND, SPI FLASH, etc.)
O papel do uboot
O principal objetivo do Uboot é preparar para a inicialização do sistema.
O Uboot pode não apenas iniciar o Linux, mas também iniciar outros sistemas, como o vxworks.
O Linux não pode ser iniciado apenas por meio do uboot.
O Uboot é um gerenciador de inicialização geral que suporta várias arquiteturas.
Uboot obter
1. O primeiro é o site oficial do uboot. A desvantagem é que há pouco suporte, como a imperfeição de um chip driver específico.
2. O fabricante do SOC fará o download de uma determinada versão do uboot do site oficial do uboot e, em seguida, adicionará o SOC e o driver correspondentes a esta versão do uboot. Este é o uboot personalizado pelo fabricante do SOC. Placa oficial I.MX6ULL EVK da NXP,
3. Para o fabricante da placa de desenvolvimento, a placa de desenvolvimento se referirá à placa do fabricante do SOC. A placa de desenvolvimento inevitavelmente será diferente da placa oficial. Portanto, o fabricante da placa de desenvolvimento modificará o uboot feito pelo fabricante do SOC para adaptar à sua própria placa.