【Trusted Firmware-A 移植】
创始人
2024-05-21 01:26:28

Trusted Firmware-A 移植

  • Trusted Firmware-A 简介
  • 步骤
    • 一、解压标准 tf-a 源码包,进入 tf-a 源码目录下:
    • 二、将 ST 官方补丁文件打到 tf-a 源码中:
    • 三、配置交叉编译工具链
    • 四、添加设备树文件
    • 五、编译源码
    • 六、固件烧写
    • 结果

Trusted Firmware-A 简介

嵌入式高速发展的今天,大量的嵌入式设备使用了 Arm 为核心的芯片。我们会接触到越来越多的嵌入式设备,一个问题油然而生:数量如此巨大的嵌入式设备的安全性如何?目前针对嵌入式安全的技术和标准可谓千姿百态,除了必要的硬件安全技术,与之配套的安全软件也是必不可少的一部分。今天我们要介绍的是基于 Arm 的可信固件 Trusted Firmware-A,简称 TF-A。它是一个开源软件,运行在一个硬件隔离的安全环境中并提供安全服务。

步骤

一、解压标准 tf-a 源码包,进入 tf-a 源码目录下:

tar -xvf tf-a-stm32mp-2.2.r2-r0.tar.gz
cd tf-a-stm32mp-2.2.r2

二、将 ST 官方补丁文件打到 tf-a 源码中:

for p in `ls -1 ../*.patch`; do patch -p1 < $p; done

三、配置交叉编译工具链

vi Makefile.sdk

修改如下内容
在这里插入图片描述

四、添加设备树文件

进入到tf-a源码目录

cp fdts/stm32mp15xx-dkx.dtsi fdts/stm32mp15xx-fsmp1x.dtsi
cp fdts/stm32mp157a-dk1.dts fdts/stm32mp157a-fsmp1a.dts

修改上层目录下的 Makefile.sdk 编译脚本在 TFA_DEVICETREE 配置项中添加 stm32mp1
57a-fsmp1a

TFA_DEVICETREE ?= stm32mp157a-fsmp1a stm32mp157a-dk1 stm32mp157d-dk1 stm32
mp157c-dk2 stm32mp157f-dk2 stm32mp157c-ed1 stm32mp157f-ed1 stm32mp157a-ev1 stm32m
p157c-ev1 stm32mp157d-ev1 stm32mp157f-ev1

修改 fdts/stm32mp157a-fsmp1a.dts 将
#include “stm32mp15xx-dkx.dtsi”
修改为
#include “stm32mp15xx-fsmp1x.dtsi”

cd fdts
vi stm32mp157a-fsmp1a.dts

在这里插入图片描述

五、编译源码

 make -f $PWD/../Makefile.sdk TFA_DEVICETREE=stm32mp157a-fsmp1a TF_A_CONFIG=trusted ELF_DEBUG_ENABLE='1' all

会出现如下错误
在这里插入图片描述
解决方法
安装stm32wrapper4dbg 工具
下载后使用unzip stm32wrapper4dbg-master.zip解压,然后进入文件夹使用make命令编译,编译完成以后就会得到一个名为“stm32wrapper4dbg”的工具就是我们要的,然后使用命令sudo cp stm32wrapper4dbg /usr/bin拷贝到/usr/bin 目录下
再次编译成功
在这里插入图片描述

六、固件烧写

sudo dd if=tf-a-stm32mp157a-fsmp1a-trusted.stm32 of=/dev/sdb1 conv=fdatasync
sudo dd if=tf-a-stm32mp157a-fsmp1a-trusted.stm32 of=/dev/sdb2 conv=fdatasync
sudo dd if=u-boot-stm32mp157a-fsmp1a-trusted.stm32 of=/dev/sdb3 conv=fdatasync

结果

在这里插入图片描述

相关内容

热门资讯

最新或2023(历届)关于铁人... 王进喜,1923年10月8日出生于甘肃省玉门县赤金堡一个贫苦的农民家庭。6岁讨饭,10岁给地主放牛,...
最新或2023(历届)森林防火... 森林防火须知手抄报图片
原创 半... 朝方突然甩出一份声明,把刚有点缓和苗头的半岛,一脚踹回了紧张模式。 2025新年钟声才敲响几天,...