U-Boot 开发

u-boot 功能说明


U-Boot(universal boot loader),即通用 bootloader,是德国 denx 小组开发的用于多种嵌入式 CPU 的 bootloader 程序,是遵循 GPL 条款的开放源代码项目。

注意:bootloader 不属于操作系统内核,这一部分代码不具有可移植性。在移植操作系统时,这部分代码不许加以修改。bootloader 不但依赖于 CPU 的体系结构,而且依赖于嵌入式系统板级设备配置。

U-Boot 的工作模式有启动加载模式和下载模式。启动加载模式是 Bootloader 的正常工作模式,嵌入式产品发布时,Bootloader 必须工作在这种模式下,Bootloader 将嵌入式操作系统从 FLASH 中加载到 SDRAM 中运行,整个过程是自动的。下载模式就是 Bootloader 通过某些通信手段将内核映像或根文件系统映像等从 PC 机中下载到目标板的 FLASH 中。用户可以利用 Bootloader 提供的一些命令接口来完成自己想要的操作。

u-boot 文件说明


目录 备注
board 目标板相关文件,主要包含 SDRAM、FLASH 驱动
common 独立于处理器体系结构的通用代码,如内存大小探测与故障检测
cpu 处理器相关的文件,如 mpc8xx 子目录下含串口、网口、LCD 驱动及中断初始化等文件
driver 通用设备驱动,如 CFI FLASH 驱动
doc U-Boot 的说明文档
examples 可在 U-Boot 下运行的示例程序,如 hello_world.c,timer.c
include U-Boot 头文件,尤其 configs 子目录下与目标板相关的配置头文件是移植过程中经常要修改的文件
lib 处理器体系相关的文件,如 lib_ppc, lib_arm 目录分别包含与 PowerPC、ARM 体系结构相关的文件
net 与网络功能相关的文件目录,如 bootp、nfs、tftp
fs 支持文件系统的文件 u-boot 现在支持 cramfs、fat、fdos、jffs2、yaffs 和 registerfs
post 上电自检文件目录
tools 用于创建 U-Boot S-RECORD 和 BIN 镜像文件的工具

u-boot 编译文件


  1. 配置编译文件,文件路径为根目录下:boards.cfg 文件。文件内容:

  2. 编译文件目录,文件路径为根目录下:board/cuav/ 文件夹。目录包含了两个分支,分别为:cuav_hdtc_artoocuav_hdtc_1080p,对应着地面端系统和载机端系统的 u-boot 编译目录。以 cuav_hdtc_artoo 目录下文件介绍:

    cuav_hdtc.c --- 源程序
    Makefile    --- 编译脚本
    mx6solo_2x_mt41j128.cfg --- DDR校准文件
    plugin.S    --- 汇编代码
    

生成 u-boot.imx


不修改任何文件即可生成 u-boot.imx,只需要执行根目录下的:build.sh 运行脚本。但是要确认 build.sh 脚本内容,完成以下步骤:

  1. 下载交叉编译工具,解压到相应目录下,确认 export CROSS_COMPILE=(交叉编译工具路径)

  2. 选择打开对应的编译选项,如选择地面端,make cuav_hdtc_artoo

  3. 最后运行脚本命令:./build.sh

注意:需要下载的文件链接,都在数字链路系统开发目录有介绍。

results matching ""

    No results matching ""