u-boot版本的选择:
1、是否支持我们的开发板
2、是否稳定
u-boot源码目录下每个目录的作用:
平台相关:支持哪些板子
board(下面的目录以厂家名字命名) arch(存放体系架构代码)
平台不相关:支持什么功能
common(存放uboot命令源码)
doc(存放说明文档)
drivers(存放uboot支持的驱动)
dts(存放对设备树源码的操作)
fs(uboot支持的文件系统)
u-boot配置过程:
在u-boot顶层目录下执行 make 板子名字_config
板子名字是存放在board/samsung/
make origen_config
配置过程到底在干嘛?
目标文件:依赖文件
命令
双冒号规则:1、如果依赖文件比目标文件更新,执行命令
2、如果没有依赖文件则无条件执行命令
775 %_config:: unconfig
776 @$(MKCONFIG) -A $(@:_config=)
||
\/
make -p Makefile > xyz
在xyz文件中可以找到CURDIR的内存是当前目录
$(MACONFIG) = ./mkconfig
$@ $^ $<
$(@:_config=) ==> origen
./mkconfig -A origen
进入到顶层目录下的mkconfig文件中
22 if [ ( $# -eq 2 ) -a ( "$1" = "-A" ) ] ;这个条件成立
24 line=`egrep -i "^[[:space:]]*${2}[[:space:]]" boards.cfg` || {
25 echo "make: *** No rule to make target \`$2_config'. Stop." >&2
26 exit 1
-i 忽略大小写字母
^
2.系统移植——u-boot
最新推荐文章于 2021-08-15 23:41:15 发布
本文详细介绍了u-boot的版本选择、源码目录结构及配置过程。在配置过程中,通过make命令确定板子配置,解析boards.cfg文件获取平台信息,并创建config.mk和config.h文件。后续编译阶段,生成u-boot.bin作为最终目标。文章深入解析了编译过程中的依赖关系和目标文件生成。
摘要由CSDN通过智能技术生成