嵌入式Linux学习笔记(六)TF-A 使用

7 篇文章 0 订阅

一、编译和烧录 TF-A

  • TF-A :ARM 可信固件(Arm Trusted Firmware),用于配合TrustZone硬件方案(处理安全问题的硬件解决方案)。
  • 使用正点原子提供的TF-A、uboot、Linux kernel 等源码即可。
  • 传统的 linux学习中不需要 TF-A 的,只需要 uboot 和 Linux Kernel。

1、 stm32wrapper4dbg 工具安装

  • make编译
    在这里插入图片描述
  • 编译出来的stm32wrapper4dbg 工具拷贝到 Ubuntu 的/usr/bin 目录下。
sudo cp stm32wrapper4dbg /usr/bin

在这里插入图片描述

stm32wrapper4dbg -s
  • 所示内容就说明 stm32wrapper4dbg 工具安装成功:
    在这里插入图片描述

2、 编译正点原子官方的 TF-A

  • 不编译直接使用提供的材料也行。

(1)准备正点原子出厂 TF-A 源码

  • 首先安装设备树编译相关命令
sudo apt-get install device-tree-compiler
  • 解压正点原子TF-A源码 tf-a-stm32mp-2.2.r1-g463d4d8-v1.0.tar.bz2
    在这里插入图片描述
    在这里插入图片描述

(2)修改 Makefile.sdk

  • 使用的是通用交叉编译器 arm-none-linux-gnueabihf-gcc,修改CROSS_COMPILE
    在这里插入图片描述

(3)编译 TF-A

cd tf-a-stm32mp-2.2.r1/ 		//进入到正点原子出厂 TF-A 的源码目录
make -f ../Makefile.sdk all 	//编译 TF-A

在这里插入图片描述

  • 生成文件:tf-a-stm32mp157d-atk-trusted.stm32
    直接使用资料。

3、 TF-A 烧录到 EMMC

(1)准备烧写材料

- 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-trusted.stm32 烧写到 EMMC、NAND、SD 卡里面。

(2)准备 FlashLayout

  • STM32CubeProgrammer 脚本文件.tsv,ST 官方叫做 FlashLayout,用来指定上面3个文件存放位置,烧写到 EMMC 的哪个地址区域。
  • tsv 语法要求只能用 TAB 键,不能用空格!以‘#’开头为注释。使用notepad++的视图显示符号(显示空格和制表符),能够看到如果使用空格会显示“.”
  • atk_sdcard-stm32mp157d-atk-qt.tsv直接使用正点原子的,改下名字tf-a.tsv,与上面3个文件放在一起即可。
    在这里插入图片描述

在这里插入图片描述

  • tf-a.tsv 的配置解析
    在这里插入图片描述

(3)通过 USB 烧写 TF-A

  • USB OTG 连接到电脑,TTL串口调试连接到电脑。
    在这里插入图片描述
    在这里插入图片描述
  • 左右拖大界面,选择文件后下载,通过串口可以查看打印信息。
    在这里插入图片描述

  • 参照【正点原子】文档学习。
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值