上海华清071班
一.uboot源码配置和编译流程
1.进入uboot源码顶层目录下
2.配置交叉编译工具链,搜索CROSS_COMPILE
3.在uboot源码顶层目录下,配置非安全模式的默认缺省配置文件:make stm32mp15_basic_defconfig
4.在uboot源码目录下,执行图形化界面信息命令:make menuconfig
5.设备树相关内容:
dts-------->设备树源文件
dtsi-------->设备树头文件
DTC-------->设备树编译工具
dtb-------->设备树编译镜像文件
6.,复制DK1公板相关设备树内容
cp stm32mp157a-dk1.dts stm32mp157a-fsmp1a.dts
cp stm32mp157a-dk1-u-boot.dtsi stm32mp157a-fsmp1a-u-boot.dtsi
cp stm32mp15xx-dkx.dtsi stm32mp15xx-fsmp1x.dtsi
5.进入arch/arm/dts,打开sMakefile文件,添加stm32mp157a-fsmp1a.dtb
6.进入uboot源码顶层目录下,对uboot源码进行编译:time make -j4 all
7.编译成功现象:
u-boot-spl.stm32
u-boot.img
二.制作TF卡启动盘
1.将读卡器插入到电脑中
2.查看TF卡分区
3.删除TF卡所有分区 :sudo parted -s /dev/sdb mklabel msdos
4.对TF卡进行分区
5.进入uboot源码顶层目录下,对uboot源码镜像文件进行烧写
linux@ubuntu:$ sudo dd if=u-boot-spl.stm32 of=/dev/sdb1 conv=fdatasync
linux@ubuntu:$ sudo dd if=u-boot-spl.stm32 of=/dev/sdb2 conv=fdatasync
linux@ubuntu:$ sudo dd if=u-boot.img of=/dev/sdb3 conv=fdatasync
6.对TF卡测试步骤
1.首先将读卡器从ubuntu中断开,并将TF卡从读卡器中拔出
2.将TF卡插入到开发板中
3.将拨码开关拨到SD卡启动方式
三.uboot电源管理问题
1.删除DK1公板相关电源内容
2.在sound添加FSMP1A电源相关内容
3.对uboot源码编译测试(跟上面的编译步骤一样)
四.uboot内存相关问题
1.分析设备树文件
1).进入dts目录下
2).打开Makefile文件,搜索arch-dtbs,并且添加43行打印设备树信息
3).在uboot源码顶层目录下,执行time make -j4 all,并观察
2.配置FSMP1A设备树文件
1.执行make menuconfig,添加FSMP1开发板内存相关内容
Device Tree Control --->
(stm32mp157a-fsmp1a) Default Device Tree for DT control
3.对uboot源码编译测试(跟上述编译一样)
五.ubootEMMC相关问题
1.修改FSMP1A设备树内容
2.对uboot源码编译测试
1.进入uboot源码顶层目录下,对uboot源码进行编译 time make -j4
2.在uboot源码顶层目录下执行:./sdtools.sh /dev/sdb