TF-A源码移植

news2024/11/16 0:51:09

1.对tf-a源码进行解压

$> tar xfz tf-a-stm32mp-2.2.r2-r0.tar.gz

2.打补丁

进入/home/ubuntu/FSMP1A/tf-a-stm32mp-2.2.r2-r0/tf-a-stm32mp-2.2.r2-r0/tf-a-stm32mp-2.2.r2目录

执行

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

3.配置工具链

1)进入/home/ubuntu/FSMP1A/tf-a-stm32mp-2.2.r2-r0目录

2)打开Makefile.sdk文件搜索CROSS_COMPILE

将CROSS_COMPILE后第一段内容更改为arm-linux-gnueabihf-

4.复制设备树

执行

1)cp fdts/stm32mp15xx-dkx.dtsi fdts/stm32mp15xx-fsmp1x.dtsi

2)cp fdts/stm32mp157a-dk1.dts fdts/stm32mp157a-fsmp1a.dts

3)修改上上层目录下的 Makefile.sdk 编译脚本在 TFA_DEVICETREE 配置项中添加 stm32mp157a-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

4)修改 fdts/stm32mp157a-fsmp1a.dts 将

#include "stm32mp15xx-dkx.dtsi"

修改为

#include "stm32mp15xx-fsmp1x.dtsi"

5.编译源码

进入/home/ubuntu/FSMP1A/tf-a-stm32mp-2.2.r2-r0/tf-a-stm32mp-2.2.r2-r0/tf-a-stm32mp-2.2.r2目录

执行

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

6.移动镜像文件

将/home/ubuntu/FSMP1A/u-boot-stm32mp-v2020.10-stm32mp-r2-r0/u-boot-stm32mp-v2020.10-stm32mp-r2目录下的u-boot-stm32mp157a-fspm1a-trusted.stm32文件移动到/home/ubuntu/FSMP1A/tf-a-stm32mp-2.2.r2-r0/tf-a-stm32mp-2.2.r2-r0/build/trusted目录

cp /home/ubuntu/FSMP1A/u-boot-stm32mp-v2020.10-stm32mp-r2-r0/u-boot-stm32mp-v2020.10-stm32mp-r2/u-boot-stm32mp157a-fspm1a-trusted.stm32 /home/ubuntu/FSMP1A/tf-a-stm32mp-2.2.r2-r0/tf-a-stm32mp-2.2.r2-r0/build/trusted

7.固件烧写

1)进入/home/ubuntu/FSMP1A/tf-a-stm32mp-2.2.r2-r0/tf-a-stm32mp-2.2.r2-r0/build/trusted目录

执行

2)sudo dd if=tf-a-stm32mp157a-fsmp1a-trusted.stm32 of=/dev/sdb1 conv=fdatasync

3)sudo dd if=tf-a-stm32mp157a-fsmp1a-trusted.stm32 of=/dev/sdb2 conv=fdatasync

4) sudo dd if=u-boot-stm32mp157a-fsmp1a-trusted.stm32 of=/dev/sdb3 conv=fdatasync

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/187346.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

GJB 5000B二级-ESM外部供方管理

一、主要变化情况 新增3项(红色)、删除1项(黄色)、合并2项(绿色)、修订4项(蓝色) 将原标准过程域名称“供方协议管理”改为“外部供方管理”,其适应范围包括所以形式的外部提供过程、产品和服务协议,同时增加对外部供方按协议提供过程、产品和服务能力评价的内容,…

小偷和抢劫是被怎么遏制的?

小偷和抢劫是怎么被消灭的&#xff1f; 是被摄像头消灭的&#xff01; 一切土地和实物都会被安装传感设备监控 农业生产用地也会被物联检测 趣讲大白话&#xff1a;万物互联时代稳步实现 *********** 全国有5000万亩茶园 20年内一定会被物联网化 进入精耕农业时代 20年后&…

一篇文章带你了解自动化测试开发

都讲自动化测试开发&#xff0c;当然要把开发自动化测试框架也当做一个项目来做。这时候&#xff0c;就需要考虑应该选择何种类型的自动化测试框架&#xff1a;数据驱动、关键字驱动、还是Junit ,TestNG ? 抑或直接利用现有的开源自动化测试框架&#xff0c;如Robot Framework…

Mysql内核查询成本计算实战(一)

目录 Mysql内核查询成本计算实战&#xff08;一&#xff09; Optimizer Trace 什么是成本 I/O成本 CPU成本 单表查询的成本 MySQL查询成本计算实战 1.根据搜索条件&#xff0c;找出所有可能使用的索引 2. 计算全表扫描的代价 3. 计算使用不同索引执行查询的代价 4. 对…

CAD中怎么局部升降桥架?CAD局部升降操作技巧

在使用浩辰CAD电气软件绘制电气图纸的时候&#xff0c;常常会用到三维桥架中的一些功能来进行桥架的CAD设计工作&#xff0c;为了让大家对此有更深入的了解&#xff0c;接下来的CAD设计教程就和小编一起来看看正版CAD软件——浩辰CAD电气软件的三维桥架中局部升降功能的相关使用…

Magisk模块开发指南

BusyBox Magisk整合了功能完整的BusyBox二进制文件(包括对SELinux的完整支持)。执行文件位于/data/adb/magisk/busybox。Magisk的BusyBox支持运行时可切换的“ASH Standalone Shell Mode(ASH独立Shell模式)”。这种独立模式的意思是,在ashshell的中的BusyBox运行时,无论PATH…

MySQL核心参数优化文件my.ini详解

一.数据库服务器配置 CPU&#xff1a;48C 内存&#xff1a;128G DISK&#xff1a;3.2TSSD 二.CPU的优化 innodb_thread_concurrency32 表示SQL经过解析后&#xff0c;允许同时有32个线程去innodb引擎取数据&#xff0c;如果超过32个&#xff0c;则需要排队&#xff1b; 值太…

spring系列 SpringMVC-拦截器

拦截器&#xff08;Interceptor&#xff09;是在SpringMVC中动态拦截控制器方法的执行。 拦截器执行流程&#xff1a; 拦截器与过滤器区别 归属不同&#xff1a;Filter属于Servlet技术&#xff0c;Interceptor属于SpringMVC技术 拦截内容不同&#xff1a;Filter对所有访问进…

【Mysql第二期 MySQL环境搭建】

文章目录01.为什么要安装新版本&#xff1f;02.官网下载mysql03.安装配置初始化mysql04.查看 MySQL服务05.验证是否安装成功06.修改root密码07.如果有navicat工具可以在测试一下&#xff1a;01.为什么要安装新版本&#xff1f; mysql8.x版本和msyql5.x版本zip安装的方式大同小…

证券交易金融知识学习(1)

学习目标&#xff1a; 需要做一些关于投资交易软件的测试&#xff0c;需要了解操作背后的交易意义&#xff0c;需要学习一些金融基础知识。本人是金融证券交易的小白&#xff0c;从0开始学习。故记录一些金融知识学习的笔记&#xff0c;比较零散&#xff0c;目的是为了让自己复…

Spring-DI相关内容

Spring-DI相关内容 5&#xff0c;DI相关内容 前面我们已经完成了bean相关操作的讲解&#xff0c;接下来就进入第二个大的模块DI依赖注入&#xff0c;首先来介绍下Spring中有哪些注入方式? 我们先来思考 向一个类中传递数据的方式有几种? 普通方法(set方法)构造方法 依赖注…

【数据结构】8.4 选择排序

文章目录1. 简单选择排序简单选择排序算法简单排序算法分析2. 堆排序堆的定义堆的调整堆的建立堆排序算法堆排序算法分析1. 简单选择排序 基本思想 在待排序的数据中选出最大&#xff08;小&#xff09;的元素放在其最终的位置。 基本操作 首先通过 n - 1 次关键字比较&…

计算机SCI期刊能一稿多投吗? - 易智编译EaseEditing

首先建议不要一稿多投&#xff0c;投稿前要对目标期刊了解清楚&#xff0c;是什么方向&#xff0c;什么水平的。 可以看看期刊近期发表的文章&#xff0c;是什么方向的&#xff0c;这样会更精准。 一稿多投就是广撒网嘛&#xff0c;还不如做好功课&#xff0c;找到对应期刊&a…

网络知识详解之:HTTPS通信原理剖析(对称、非对称加密、数字签名、数字证书)

网络知识详解之&#xff1a;HTTPS通信原理剖析&#xff08;对称、非对称加密、数字签名、数字证书&#xff09; 计算机网络相关知识体系详解 网络知识详解之&#xff1a;TCP连接原理详解网络知识详解之&#xff1a;HTTP协议基础网络知识详解之&#xff1a;HTTPS通信原理剖析&…

Es6 扩展运算符... ,以及rest和arguments

扩展运算符... … 扩展运算符能将 数组 转换为逗号分隔的 参数序列 应用场景&#xff1a; 多个数组的合并 var arr4 [1, 2, 3];var arr5 [4, 5, 6];var arr6 [...arr4, ...arr5];//合并数组 也可以为数组的一部分arr6的值应为[1,2,3,4,5,6] 数组的克隆&#xff0…

C语言--指针与数组

目录指针运算&#xff08;补&#xff09;指针指针指针的关系运算&#xff08;补&#xff09;指针与数组数组名二级指针指针数组指针运算&#xff08;补&#xff09; 指针指针 上一篇博客我们介绍了指针运算中的三种常见运算&#xff1a;指针整数&#xff0c;指针关系运算&…

关于android studio安装篇

前言&#xff1a;本文安装环境为windows系统&#xff0c;调试环境AVD&#xff08;电脑上运行的“虚拟手机”&#xff09;&#xff0c;安装android studio之前需安装jdk&#xff0c;配置好jdk的环境变量。解释&#xff1a;android运行调试环境有三种方式&#xff0c;真机、AVD&a…

基于uboot的truested安全启动模式进行TF-A源码移植

步骤 1. 对源码进行解压 tar -xvf tf-a-stm32mp-2.2.r2-r0.tar.gz2. 将补丁文件全打上 for p in ls -1 ../*.patch; do patch -p1 < $p; done3. 配置交叉编译工具链&#xff0c;在TF-A顶层目录下打开Makefile.sdk文件修改&#xff0c;搜索cross_compile&#xff0c;然后进…

5.组件钩子函数

目录 1 生命周期与钩子函数 2 创建时 3 更新时 3.1 执行顺序 3.2 触发条件 3.3 componentDidUpdate() 4 卸载时 1 生命周期与钩子函数 类组件从 被挂载到页面中运行&#xff0c;到组件不用时卸载 之间是组件的生命周期 只有类组件才有生命周期 生命周期的每个…

MATLAB算法实战应用案例精讲-【数模应用】概率生成模型(Generative Model)(补充篇)

前言 几个高频面试题目 非概率模型和概率模型的区别 非概率模型 非概率模型指的是直接学习输入空间到输出空间的映射h,学习的过程中基本不涉及概率密度的估计,概率密度的积分等操作,问题的关键在于最优化问题的求解。通常,为了学习假设 ,我们会先根据一些先验知识(pri…