basic启动->非安全启动
uboot源码配置和编译:
在uboot源码目录下,打开Makefile,搜索CROSS_COMPILE配置交叉编译工具链,配置非安全模式默认缺省配置文件。了解图形化信息命令和设备数相关内容。
移植使用的开发板FSMP1A参考了DK1公板,DK1参考板电源管理芯片挂在I2C4上,而FSMP1A并未使用I2C4总线,所以直接将I2C4相关内容完全删除即可。
在arm/arm/dts中把DK1的三个文件改为与实验用板fsmp1a文件。打开stm32mp157a-fsmp1a.dts修改其包含头文件为刚刚修改的fsmp1a头文件。打开makefile ,添加stm32mp157a-fsmp1a.dtb。
对TF卡进行分区,将TF开插入到读卡器中,并且被ubuntu识别,ls /dev/sd*可以查看现有分区。
删除TF卡所有分区 sudo parted -s /dev/sdb mklabel msdos,再查看ls /dev/sd*,保留/dev/sdb。
测试后发现由于电源管理信息不同,删除DK1公板相关电源内容,在uboot源码目录进入arch/arm/dts注释掉DK1板内容,回到源码目录进入图形化界面去掉电源管理相关内容。添加FSMP1A电源内容,重新测试。
测试后发现DDR内存相关内容没有编译进镜像文件,在makefile中把arch-dtbs的参数用echo打印出来,为stm32mp157c-ev1,不是fsmp1a的文件,进入图形化界面把原来的Device Tree Control ---> (stm32mp157c-ev1) Default Device Tree for DT control改为Device Tree Control ---> (stm32mp157a-fsmp1a) Default Device Tree for DT control,重新测试。
测试后发现DK1不支持EMMC设备,需要改为TF卡方式,进入arch/arm/dts,修改引脚编号,重新测试。
测试后发现仍有报错,但设备已经可以进入交互模式了。