2024.4.1 系统移植

TF-A移植

TF-A是基于 Arm 的可信固件 Trusted Firmware-A,简称 TF-A。它是一个开源软件,运行在一个硬件隔离的安全环境中并提供安全服务。

分析README文档

Compilation of TF-A (Trusted Firmware-A): ========> tf-a目录

        1. Pre-requisite ========> 准备工作

        2. Initialise cross-compilation via SDK ========> 初始化交叉编译工具链

        3. Prepare tf-a source code ========> 准备tf-a源码

        4. Management of tf-a source code ========> 管理tf-a源码

        5. Compile tf-a source code ========> 编译tf-a源码

        6. Update software on board ========> 更新tf-a源码

TF-A移植步骤

1.在顶层目录下打开Makefile.sdk文件,更改交叉编译工具

        EXTRA_OEMAKE=CROSS_COMPILE=arm-ostl-linux-gnueabi-        

         ======>  EXTRA_OEMAKE=CROSS_COMPILE=arm-ostl-linux-gnueabi-

        TFA_DEVICETREE ?=  ======>  TFA_DEVICETREE ?= stm32mp157a-fsmp1a

2.源码目录进行补丁

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

        补丁:修改或增加配置信息

3.修改设备树信息

        FSMP1A开发板参考DK1公板进行移植的,DK1公板所有的硬件信息都在设备树中进行存放

        所以需要将DK1设备树的信息复制为FSMP1A信息

        1)进入设备树目录

                cd fdts/

        2)将 DK1公板设备树信息,复制为FSMP1A设备树内容

                cp stm32mp157a-dk1.dts stm32mp157a-fsmp1a.dts

                cp stm32mp15xx-dkx.dtsi stm32mp15xx-fsmp1x.dtsi

        3)修改设备树的源文件

                vi stm32mp157a-fsmp1a.dts

                #include "stm32mp15xx-dkx.dtsi" =====> #include "stm32mp15xx-fsmp1x.dtsi"

4.安装相关库

        sudo apt-get install device-tree-compiler

5.源码目录下,编译,生成TF-A镜像文件

        make -f $PWD/../Makefile.sdk all

烧写结果

解决方法:

1.删除DK1设备树相关内容

        1)打开源码目录下的设备树,打开设备树文件

                cd fdts/

                vi stm32mp15xx-fsmp1x.dtsi

        2)删除&i2c4代码块

        3)删除cpu0和cpu1节点

        4)添加电源节点

        5)添加sdmmc2节点

搭建Linux系统

准备镜像文件

tf-a镜像文件:tf-a-stm32mp157a-fsmp1a-trusted.stm32(烧写位置:TF卡 / EMMC)

uboot镜像文件:u-boot-stm32mp157a-fsmp1a-trusted.stm32(烧写位置:TF卡 / EMMC)

内核镜像文件:stm32mp157a-fsmp1a.dtb 和 uImage(通过tftp服务器下载)

根文件系统:rootfs(通过nfs服务器进行挂载)

烧写镜像文件到EMMC设备中

ums 0 mmc 0 =========> 将TF卡挂载到Ubuntu中

ums 0 mmc 1 =========> 将EMMC设备挂载到Ubuntu中

执行ums指令后虚拟机Ubuntu弹出USB外部设备连接对话框,选择连接虚拟机

执行脚本烧写

更改拨码开关

 更改为eMMC,与SDCARD拨码方向相反

成功现象

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

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

相关文章

Composer常见错误及解决方法

目录 前言 一、安装问题 二、依赖问题 三、配置问题 总结 前言 在软件开发中&#xff0c;Composer是一个广泛使用的依赖管理工具&#xff0c;它简化了项目的依赖关系管理。然而&#xff0c;在使用Composer时&#xff0c;我们可能会遇到一些常见的错误。本文将详细介绍一些…

十大经典算法【C实现】

此篇文章纯属做笔记记录&#xff0c;关于这些经典算法实际上已经算是很经典了。冒泡排序 算法实现&#xff1a; 比较相邻的元素。如果第一个比第二个大&#xff0c;就交换他们两个。 对每一对相邻元素作同样的工作&#xff0c;从开始第一对到结尾的最后一对。这步做完后&#x…

paddlepaddle模型转换onnx指导文档

一、检查本机cuda版本 1、右键找到invdia控制面板 2、找到系统信息 3、点开“组件”选项卡&#xff0c; 可以看到cuda版本&#xff0c;我们这里是cuda11.7 cuda驱动版本为516.94 二、安装paddlepaddle环境 1、获取pip安装命令 &#xff0c;我们到paddlepaddle官网&#xff…

医院云HIS系统源码,二级医院、专科医院his系统源码,经扩展后能够应用于医联体/医共体

基于云计算技术的B/S架构的HIS系统&#xff0c;为医疗机构提供标准化的、信息化的、可共享的医疗信息管理系统&#xff0c;实现医患事务管理和临床诊疗管理等标准医疗管理信息系统的功能。 系统利用云计算平台的技术优势&#xff0c;建立统一的云HIS、云病历、云LIS&#xff0…

【OSTEP】并发:线程与多线程

" A flow of control within a process that consists of a PC, a register set and a stack space" 本章将介绍为单个运行进程提供的新抽象 —— 线程 (thread) 线程是 调度的一个基本单位&#xff08;basic unit of CPU scheduling&#xff09;一个单独的线程至…

MySQL 索引底层探索:为什么是B+树?

MySQL 索引底层探索&#xff1a;为什么是B树&#xff1f; 1. 由一个例子总结索引的特点2. 基于哈希表实现的哈希索引3. 高效的查找方式&#xff1a;二分查找4. 基于二分查找思想的二叉查找树5. 升级版的BST树&#xff1a;AVL 树6. 更加符合磁盘特征的B树7. 不断优化的B树&#…

企业信息化选型之辨

一般说大公司的报价比较高&#xff0c;其市场人员也宣传东西好所以卖的贵。这个说法占不住脚。大公司东西贵的核心原因是成本高。应用软件开发领域&#xff0c;大公司小公司技术差不多&#xff0c;功能也很容易模仿&#xff0c;细节有差异不假&#xff0c;但是数量级还是在一个…

2024年华为OD机试真题-求满足条件的最长子串的长度-Java-OD统一考试(C卷)

题目描述: 给定一个字符串,只包含字母和数字,按要求找出字符串中的最长(连续)子串的长度,字符串本身是其最长的子串,子串要求: 1、 只包含1个字母(a~z, A~Z),其余必须是数字; 2、 字母可以在子串中的任意位置; 如果找不到满足要求的子串,如全是字母或全是数字,则…

ffmpeg Android 笔记

目录 没有示例项目 编译好的.a文件 ffmpegandroid 延时有220ms rk官方有例子 ffmpeg Android 笔记 没有示例项目 编译好的.a文件 FFmpeg-Android/ffmpeg-android-aarch64-34/lib at main yhbsh/FFmpeg-Android GitHub ffmpegandroid 看到了音频解码器 FFmpegAndroid/a…

rabbitMQ版本问题与下载

都到现在了&#xff0c;大家不会安装东西还是不看版本吧 云服务器买的是centos7&#xff0c;而erlang在24版本后不支持centos7了 所以需要找24版本以下的erlang&#xff0c;而不同erlang对应不同rabbitmq所以需要对应 下载erlang 说实话&#xff0c;自己安装&#xff0c;还是…

【CSS】高级元素:列表、表格、表单

列表 列表的元素 有序列表&#xff1a;ol、li无序列表&#xff1a;ul、li自定义列表&#xff1a;dl dt dd 自定义列表 dl 定义列表&#xff0c;直接元素只能是dt、dd dt 列表中每一项的项目名 dd 列表的每一项的具体描述 表格 table 表格border-collapse:collapse; (塌陷的…

react diffing算法及函数柯里化

一.deffing 算法 &#xff08;1&#xff09;虚拟DOM中Key的作用&#xff1a; 当状态中的书韩剧发生变化时&#xff0c;react会根据【新数据】生成【新的虚拟DOM】&#xff0c;随后React进行【新虚拟 DOM】与【旧虚拟DOM】的diff比较&#xff0c;比较规则如下 &#xff1a; a.旧…

RIP协议(路由信息协议)

一、RIP协议概述 RIP协议&#xff08;Routing Information Protocol&#xff0c;路由信息协议&#xff09;是一种基于距离矢量的内部网关协议&#xff0c;即根据跳数来度量路由开销&#xff0c;进行路由选择。 相比于其它路由协议&#xff08;如OSPF、ISIS等&#xff09;&#…

C++ | string类学习 | string的常见接口使用方式

目录 为什么要学习string类&#xff1f; C语言中的字符串 OOP面向对象编程 两个面试题 标准库中的string类 string类了解 string类的文档介绍 总结 string类的常用接口说明 string类对象的常见构造 string类对象的容量操作 size()和length() clear() resize(size…

【JVM】关于JVM垃圾回收

文章目录 &#x1f334;死亡对象的判断算法&#x1f338;引用计数算法&#x1f338;可达性分析算法 &#x1f333;垃圾回收算法&#x1f338;标记-清除算法&#x1f338;复制算法&#x1f338;标记-整理算法&#x1f338;分代算法&#x1f338;哪些对象会进入新生代&#xff1f…

idea2023.2.1 java项目-web项目创建-servlet类得创建

如何创建Java项目 1.1 方式1&#xff1a; 1.2 方式&#xff1a; 1.3 方式 如何创建web项目 方式 ----- 推荐 如何创建servlet类 复制6 中得代码 给servlet 配置一个路径 启动tomcat 成功了

Netty进阶

三. Netty 进阶 1. 粘包与半包 1.1 粘包现象 服务端代码 public class HelloWorldServer {static final Logger log LoggerFactory.getLogger(HelloWorldServer.class);void start() {NioEventLoopGroup boss new NioEventLoopGroup(1);NioEventLoopGroup worker new Ni…

时序预测 | Python实现VMD-CNN-LSTM时间序列预测

时序预测 | Python实现VMD-CNN-LSTM时间序列预测 目录 时序预测 | Python实现VMD-CNN-LSTM时间序列预测预测效果基本介绍模型描述代码设计预测效果 基本介绍 VMD-CNN-LSTM 是一种混合深度学习模型,结合了变分模态分解(VMD)、卷积神经网络(CNN)和长短期记忆网络(LSTM)的…

C#,简单,精巧,实用的按类型删除指定文件的工具软件

点击下载本文软件&#xff08;积分&#xff09;&#xff1a; https://download.csdn.net/download/beijinghorn/89059141https://download.csdn.net/download/beijinghorn/89059141 下载审核通过之前&#xff0c;请从百度网盘下载&#xff08;无积分&#xff09;&#xff1a;…

7 X 24h智能安全运维再升级!Fortinet 全面集成全新 FortiGuard SOCaaS

数字化时代网络安全威胁层出不穷&#xff0c;网络犯罪分子的狡诈攻击手段不断翻新&#xff0c;传统安全防御手段亟需进化。更为棘手的是&#xff0c;网络安全专业人才的匮乏&#xff0c;让众多企业陷入安全运营的困境。为了有效应对这一挑战&#xff0c;Fortinet全新推出FortiG…