一. uboot 源码分析前提
由于 uboot 会使用到一些经过编译才会生成的文件,因此,我们在分析 uboot的时候,需要先编译一下 uboot 源码工程。
这里所用的开发板是 nand-flash版本。
二. uboot 源码目录及编译
1. uboot 源码目录
uboot源码目录:【正点原子】阿尔法Linux开发板(A盘)-基础资料-2022/【正点原子】阿尔法Linux开发板(A盘)-基础资料 / 例程源码 / 开发板教程对应的uboot和linux源码
uboot 源码名称: uboot-imx-rel_imx_4.1.15_2.1.0_ga_alientek.tar
注意:正点原子提供了两组 uboot+kernel源码工程,分别为:
正点原子Uboot和Linux出厂源码 + 开发板教程对应的uboot和linux源码
其中,出厂源码直接提供给客户产品使用,不需要调试。而开发板教程源码针对教程学习使用。
2. uboot 源码编译
将 "例程源码 / 开发板教程对应的uboot和linux源码" 目录下 uboot源码包,拷贝到 ubuntu系统下。
进入 uboot 目录,未编译的 uboot 源码目录如下:
wangtian@wangtian-virtual-machine:~/zhengdian_Linux/linux/uboot/alientek_uboot/uboot-imx-rel_imx_4.1.15_2.1.0_ga_alientek$ ls
api drivers Kbuild post
arch dts Kconfig README
board examples lib scripts
cmd fs Licenses snapshot.commit
common imx6ull_alientek_nand.sh load.imx test
config.mk imxdownload MAINTAINERS tools
configs imxdownload.c MAKEALL uboot.code-workspace
disk imxdownload.h Makefile
doc include net
这里分析 uboot 源码目录时,需要先编译 uboot 源码。这里编译我们直接执行imx6ull_alientek_nand.sh 脚本。
imx6ull_alientek_nand.sh 脚本内容如下:
#!/bin/bash
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distclean
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- mx6ull_alientek_nand_defconfig
make V=1 ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-
运行 imx6ull_alientek_nand.sh 脚本即可对 uboot进行编译。
操作如下:
wangtian@wangtian-virtual-machine:~/zhengdian_Linux/linux/uboot/alientek_uboot/uboot-imx-rel_imx_4.1.15_2.1.0_ga_alientek$ ./imx6ull_alientek_nand.sh
下一篇文章来具体说明 uboot源码目录。