(五)正点原子STM32MP135移植——烧录

一、概述

        这里用的烧录方式是使用STM32CubeProgrammer USB方式烧录

二、文件准备

        还记得FIP_artifacts文件夹吗,里面存放了TF-A、optee、u-boot编译输出的东西,以及最后的fip-stm32mp135-atk-optee.bin文件

        烧写程序需要准备这些:

1.        arm-trusted-firmware/tf-a-stm32mp135-atk-usb.stm32

2.        fip/fip-stm32mp135-atk-optee.bin

3.        arm-trusted-firmware/tf-a-stm32mp135-atk-emmc.stm32

4.        arm-trusted-firmware/metadata.bin

         如果是照着本教程编译完的,那么这些文件肯定已经躺在FIP_artifacts里面了,还差一个烧录脚本

三、创建烧录脚本

        在FIP_artifacts创建一个stm32mp135-atk-emmc-optee.tsv文件,内容如下

#Opt	Id	Name	Type	IP	Offset	Binary
-	0x01	fsbl1-boot	Binary	none	0x0	arm-trusted-firmware/tf-a-stm32mp135-atk-usb.stm32
-	0x03	fip-boot	FIP	none	0x0	fip/fip-stm32mp135-atk-optee.bin
P	0x04	fsbl1	Binary	mmc1	boot1	arm-trusted-firmware/tf-a-stm32mp135-atk-emmc.stm32
P	0x05	fsbl2	Binary	mmc1	boot2	arm-trusted-firmware/tf-a-stm32mp135-atk-emmc.stm32
P	0x06	metadata1	Binary	mmc1	0x00080000	arm-trusted-firmware/metadata.bin
P	0x07	metadata2	Binary	mmc1	0x00100000	arm-trusted-firmware/metadata.bin
P	0x08	fip-a	FIP	mmc1	0x00180000	fip/fip-stm32mp135-atk-optee.bin
PED	0x09	fip-b	FIP	mmc1	0x00580000	none
PED	0x0A	u-boot-env	Binary	mmc1	0x00980000	none

一定要用TAB去空开,不能用空格,这个的具体写法可以参考网上很多帖子,这里就不过多阐述了

四、开始烧录吧!!

打开STM32CubeProgrammer

(五)正点原子STM32MP135移植——烧录_第1张图片

点击+号,选择刚刚创建的stm32mp135-atk-emmc-optee.tsv文件

(五)正点原子STM32MP135移植——烧录_第2张图片

点击Browse,选择FIP_artifacts目录

记得拨码开关三个0,然后按一下复位

然后连接USB,开始Download吧,这部分可以看原子的教程了。

如果移植正常成功的话,屏幕上是会显示烧录过程的。

烧录完成通过emmc启动一下看看

(五)正点原子STM32MP135移植——烧录_第3张图片

这里还是有一个问题,笔者移植的uboot里,最前面启动uboot的时候提示:

stm32-usbphyc usbphyc@5a006000: Can't get phy-supply regulator
clk_register: failed to get ck_usbo_48m device (parent of usbo_k)

 笔者在测试的时候,发现这部分在DRAM:512Mib后面那个optee optee:OP-TEE: revision之后,usb又一次初始化的时候是成功初始化了,但是在这为什么初始化两次并没有理解,而且为什么第一次失败了,第二次成功了,实际上是能用的了。如果有大佬看看麻烦评论求教教我。

你可能感兴趣的:(STM32MP135移植,stm32,嵌入式硬件,单片机)