🚀 uboot简介

Linux 系统要启动就必须需要一个 bootloader 程序,bootloader程序会先初始化DDR等外设,然后将Linux内核从flash(NAND,NOR FLASH, SD, MMC 等)拷贝到 DDR 中,最后启动 Linux 内核。当然了, bootloader 的实际工作要复杂的多,但是它最主要的工作就是启动 Linux 内核, bootloader 和 Linux 内核的关系就跟 PC 上的 BIOS 和 Windows 的关系一样, bootloader 就相当于 BIOS。目前有很多现成的 bootloader 软件可以使用,比如 U-Boot、 vivi、 RedBoot 等等,其中以 U-Boot 使用最为广泛。

uboot 的全称是 Universal Boot Loader, 是一个遵循 GPL 协议的开源软件。uboot 是一个裸机代码,可以看作是一个裸机综合例程,主要功能是初始化一些硬件, 部署整个计算机系统, 将内核读到内存, 根据环境变量去启动内核, 并向内核传递参数。 现在的 uboot 已经支持液晶屏、网络、 USB 等高级功能。 uboot 官网为 http://www.denx.de/wiki/U-Boot/

🚀 uboot移植

CocoPI-Zero 使用的芯片和 licheePI-nano 相同,大部分硬件也是兼容的。因此为了简化移植过程,快速移植该部分,这里采用 licheePI nano 的 u-boot 来进行移植。