简介
1、uboot是一个裸机程序,比较复杂。我们需要先将其编译生成bin文件,然后添加头文件,然后将其烧写进去,最后通过他来启动Linux。
2、uboot就是一个bootloader(启动加载器),作用就是用于启动Linux或其他系统和初始化DDR。
- uboot首先初始化ddr,然后将Linux镜像zImage(uImage)+设备树(.dtb)搬运到DDR中,然后启动起来。启动起来以后他就寿终正寝了,把CPU的使用权交给Linux系统。
- 因为Linux是运行在DDR里面的。一般Linux镜像zImage(uImage)+设备树(.dtb)存放在SD、EMMC、NAND、SPI FLASH等等外置存储区域。
3、注意:
- Uboot不仅仅能启动Linux,也可以启动其他系统,比如vxworks。他不是为某一个芯片而准备的,他是一个通用的BootLoader,他支持多种架构。使用前要给他配置好,然后编译,一般一个板子一个。
- Linux不仅仅能通过uboot启动。不过基本上全部都是用uboot。
- Uboot的主要目的就是为系统的启动做准备。
Linux 系统要启动就必须需要一个 bootloader 程序,也就说芯片上电以后先运行一段bootloader程序。这段bootloader程序会先初始化DDR等外设,然后将Linux内核从flash(NAND,NOR FLASH,SD,MMC 等)拷贝到 DDR 中,最后启动 Linux 内核。当然了,bootloader 的实际工作要复杂的多,但是它最主要的工作就是启动 Linux 内核,boot