一、什么是UBOOT
- 1、uboot是一个逻辑程序,比较复杂(全面的裸机程序)。
- 2、uboot就是一个bootloader,用于启动linux或其他系统。(系统升级 / 引导linux启动)uboot最主要的工作的就是初始化ddr。因为linux是运行在ddr里面的。一般 linux系统镜像(zimage)+ 设备 树文件( .dtb ) 存放在sd、emmc、nand、spi_flash等外置存储区域。
需要将linux镜像从外置flash 复制到ddr中,再去启动。uboot主要目的就是为了系统的启动做准备,系统启动成功后uboot就挂掉了。
uboot,universal bootloader ;不仅仅能启动linux,也可以启动其他系统,如vxworks。
linux不仅仅能通过uboot启动,也可以从其他的bootloader启动,只是uboot应用最多。 - 3、uboot获取
a. 从uboot官网获取。缺点支持少,比如某一款芯片驱动不完善。
b. soc厂商会从uboot官网下载某一个版本的uboot,然后在这个版本的uboot基础上加入相应的soc以及驱动(定制版uboot)。如nxp官方的imx6ull开发板。
c. 开发板厂商会参考soc厂商的板子,在此基础上再作出一些改动。形成开发板的定制uboot。
开发板厂商官方uboot编译
- 1、编译uboot的时候需要先配置。
- 2、编译完成以后就会生成一个u-boot.bin。必须向u-boot.bin添加一个头部信息(就本开发板而言)。uboot编译最后会通过/tools/mkimage 软件添加头部信息。
- 3、如果配置过uboot,shell脚本会清除整个工程,配置的文件会被删除,配置项也会被删除。
- 4、为了方便开发,建议直接再uboot的顶层makefile里面设置ARCH和CROSS_COMPILE这两个变量的值。
2083

被折叠的 条评论
为什么被折叠?



