编译和烧录TF-A(二)使用USB烧写TF-A到STM32MP157开发板的EMMC,运行TF-A

请添加图片描述


首先安装设备树编译相关命令,输入如下命令:

sudo apt-get install device-tree-compiler

在 Ubuntu 的 atk-mp1 目录下新建一个名为“alientek_tf-a”的子目录,然后把正点原子修改好 TF-A 源码拷贝到 alientek_tf-a 这个目录下

在这里插入图片描述
在这里插入图片描述

。正点原子修改好的 TF-A 源码已经放到了开发板
光盘中,路径为:开发板光盘→1、程序源码→ 1、正点原子 Linux 出厂系统源码→ tf-a-stm32mp-2.2.r1-g463d4d8-v1.0.tar.bz2。拷贝完成
在这里插入图片描述

以后解压,输入如下命令:

tar -xvf tf-a-stm32mp-2.2.r1-gaa9f87c-v1.5.tar.bz2

解压完成以后 alientek_tf-a 文件夹内容
在这里插入图片描述
‘tf-a-stm32mp-2.2.r1’就是正点原子针对自己的 STM32MP157 开发板修改过的 TF-A 源码,Makefile.sdk 是一会编译 TF-A 要用到的 Makefile。

修改 Makefile.sdk

默认情况下 Makefile.sdk 里面使用的是 ST 官方的交叉编译器(arm-ostl-linux-gnueabi-gcc),但是我们本教程用的是通用交叉编译
器 arm-none-linux-gnueabihf-gcc,因此我们需要 Makefile.sdk,将交叉编译器改为我们目前所使用的。
Vim:可以在终端中输入 vim Makefile.sdk 来打开。
在这里插入图片描述
然后找到 CROSS_COMPILE,将其改为“arm-none-linux-gnueabihf-”。
在这里插入图片描述
改为
在这里插入图片描述

cd tf-a-stm32mp-2.2.r1/ 

//进入到正点原子出厂 TF-A 的源码目录

make -f ../Makefile.sdk all 

//编译 TF-A
‘-f’的意思是重新指定 Makefile
编译成功会出现如图
在这里插入图片描述
编译完成以后会在上一层目录,也就是 alientek_tf-a 下生成一个名为“build”的目录
在这里插入图片描述进入到build 目录下,一共有三个子目录:optee、serialboot 和 trusted。
在这里插入图片描述
只关注 trusted 目录下的文件,此目录下就保存了 MP1 所有型号的 TF-A 固件,包括正点原子开发板所使用的 tf-a-stm32mp157d-atk-trusted.stm32
官网下载
https://notepad-plus.en.softonic.com/download

TF-A 烧录到 EMMC

准备烧写材料

  • tf-a-stm32mp157d-atk-serialboot.stm32(资料中,此固件用来初始化 USB、DDR 等外设,DDR 初始化了以后就可以运行 uboot 了)
  • u-boot.stm32(资料中,启动 uboot 的目的就是为了操作 EMMC、NAND,就可以将 tf-a-stm32mp157d-atk-trusted.stm32 写到 EMMC 或者NAND 里面)
  • tf-a-stm32mp157d-atk-trusted.stm32(编译生成,资料也有)

tf-a-stm32mp157d-atk-serialboot.stm32,
由正点原子提供。路径:开发板光盘→8、系统
镜像→2、出厂系统镜像→ 1、STM32CubeProg 烧录固件包→tf-a→ tf-a-stm32mp157d-atkserialboot.stm32。
u-boot.stm32,
由正点原子提供。路径:开发板光盘→8、系统镜像→2、出厂系统镜像
→ 1、STM32CubeProg 烧录固件包→uboot→u-boot.stm32 拷贝到 images 文件夹里。

真正要烧写的 tf-a-stm32mp157d-atk-trusted.stm32,将 Ubuntu 里面的 tf-a-stm32mp157d-atk-trusted.stm32 发送到 images 目录下

请添加图片描述
tf-a-stm32mp157d-atk-trusted.stm32 是我们编译出来的 TF-A
准备 FlashLayout
→8、系统镜像→2、出厂系统镜像→1、STM32CubeProg 烧录固件包→flashlayout→atk_emmc-stm32mp157d-atk-qt.tsv 拷贝到前面的 images 前目录下,然后将其重命名为“tf-a.tsv”
请添加图片描述
用 Notepad++软件打开 tf-a.tsv
在这里插入图片描述
要设置一下 Notepad++软件,点击视图→显示符号→显示空格与制表符
在这里插入图片描述tsv 语法要求只能用 TAB 键,不能用空格用TAB修改表现为—>
删掉后面三行,添加TAB 键修改为如图所示,而且还要删除tf-a/和uboot/,因为images里面没有这个目录
在这里插入图片描述

使用USB烧写TF-A到STM32MP157开发板的EMMC中

右面视图选择USB串口,连接,启动为000,openfile打开文件images里面tsv 文件,Download下载
成功如图所示
请添加图片描述

运行TF-A。

编译的 TF-A 已经烧写到了开发板中,接下来就是测试一下看能不能运行,打开
MobaXterm 软件,设置好与开发板连接的串口,波特率选择 115200。
新建session
在这里插入图片描述
打开串口
在这里插入图片描述
左边串口选择,右边波特率选择 115200
在这里插入图片描述
none
在这里插入图片描述
设置开发板拨码开关为 010,也就是从 EMMC 启动,然后复位开发板
请添加图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值