1、将uboot源码拷贝ubuntu中
1.在家目录创建一 -个demo文件夹
2.将en. SOURCES - stm32mp1- openstlinux-5.10- dunfell- mp1-21- 11-17_ tar_ v3.1.0. xz文件夹拷贝到~/ demo文件夹下面
3.进入~/demo目录下,对en . SOURCES- stm32mp1 - openstlinux-5. 10- dunfell-mp1- 21 -11-17_ tar_ v3.1.0.xz解压
4.在家目录创建一 个FSMP1A文件夹
5.将uboot源码拷贝到FSMP1A目录下
cp u-boot- stm32mp- v2020.10- stm32mp-r2-r0/ ~/FSMP1A/ -rf
2、分析uboot源码
1.进入/home/linux/FSMP1A/u- boot - stm32mp-v2020.10- stm32mp-r2-r0目录下,对uboot源码进行解压
tar -vxf u- boot-stm32mp-v2020.10- stm32mp-r2-r0. tar.gz
2.进入uboot源码目录下
cd u- boot-stm32mp-v2020.10- stm32mp-r2/
3.分析uboot源码目录
1>平台相关代码
arch:存放平台架构相关的文件
board :存放板子相关的文件
2>平台无关代码
Makefile:工程管理文件
include :存放板子相关的头文件信息
drivers :存放就是各个驱动相关文件
dts:设备树相关文件
Kconfig:配置相关文件
1>基于图形化界面配置信息----- >make menuconfig
menuconfig 一使用基于菜单的程序更新当前配置
2>编译uboot源码命令----->make all
all 一根据配置构建所有必需的映像
通过以上内容分析可知,对于不同的板子默认的配置命令: make <board_ name>_ defconfig
3、如何确定<board_ name>名字!
一、方式1:如何确定<board_name>?
1.在uboot源码顶层目录下执行:make fsmp1a_defconfig
2.出现如下错误信息:
***
*** Can't find default configuration "arch/../configs/fsmp1a_defconfig"!
***
make[1]: *** [scripts/kconfig/Makefile:110:fsmp1a_defconfig] 错误 1
make: *** [Makefile:565:fsmp1a_defconfig] 错误 2
3.通过分析错误打印信息,可知<<board_name>配置信息路径
路径:arch/../configs/*_defconfig
4.进入到uboot源码顶层目录下arch/../configs/目录下,查看stm32mp15系列相关配置文件
5.通过查看目录下文件过滤可知:
stm32mp15_basic_defconfig: 非安全版本默认缺省配置文件
stm32mp15_trusted_defconfig:安全版本默认缺省配置文件
二、方式2:因为make make <board_name>_defconfig,使用make进行编译的,