Linux第28步_编译“修改正点原子TF-A源码中的Makefile并编译生成新的TF-A 固件”

了解学习内容:

1)、正点原子STM32MP157开发板使用的主控型号是STM32MP157DAA1

2)linux /atk-mp1/atk-mp1/alientek_tf-a/tf-a-stm32mp-2.2.r1”目录下的文件是正点原子STM32MP157D开发板的“TF-A源码”。

3)linux /atk-mp1/atk-mp1/alientek_tf-a/”目录下的“Makefile.sdk”是我们用来编译正点原子的TF-A源码要用到的Makefile文件“。

4)、编译后,tf-a-stm32mp157d-atk-trusted.stm32”文件是我们需要的“TF-A固件”,它是正点原子开发板所使用的 TF-A 固件

5)、区分“源码”和“固件”。

源码就是人能看懂的程序代码;

固件是源码经过编译过后生成的目标程序,是二进制代码,一般为bin或hex格式,烧录进单片机能够被识别和执行。

一、修改正点原子TF-A源码中的Makefile.sdk

修改“Makefile.sdk”的原因:

因为

ST公司官方用的交叉编译器是“arm-ostl-linux-gnueabi-gcc”;

正点原子用的交叉编译器是“arm-none-linux-gnueabihf-gcc

所以,我们要修改Makefile.sdk文件。

linux /atk-mp1/atk-mp1/alientek_tf-a/”目录下的“Makefile.sdk”是我们用来编译正点原子的TF-A源码要用到的 Makefile文件。

1、打开终端

输入“ls回车”,列出当前目录下所有的文件和文件夹

输入“cd linux回车”,切换“linux”目录下

输入“ls回车”,列出当前目录下所有的文件和文件夹

输入“cd atk-mp1/回车”,切换“atk-mp1”目录下

输入“ls回车”,列出当前目录下所有的文件和文件夹

输入“mkdir alientek_tf-a回车”, 在“linux/atk-mp1/”目录下新建“alientek_tf-a”目录,用来存放正点原子修改好的TF-A源码。

输入“ls回车”,列出当前目录下所有的文件和文件夹

见下图:

2、双击“FileZilla Client.exe”,打开FTP客户端

3、点击”D:\Linux安装\Linux源码\正点原子Linux出厂系统源码\tf-a-stm32mp-2.2.r1-g212d381-v1.4.tar.bz2”。

4、将“tf-a-stm32mp-2.2.r1-g212d381-v1.4.tar.bz2”拖到“alientek_tf-a”目录下。

见下图:

5、输入“cd alientek_tf-a/回车”,切换“alientek_tf-a”目录下

6、解压

输入“tar -xvf tf-a-stm32mp-2.2.r1-g212d381-v1.4.tar.bz2回车

 

7、解压完成后,输入“ls回车”,列出当前目录下所有的文件和文件夹

8、输入“vim Makefile.sdk回车”,使用vim命令打开已有的“Makefile.sdk”文件

因为

ST公司官方用的交叉编译器是“arm-ostl-linux-gnueabi-gcc”;

正点原子用的交叉编译器是“arm-none-linux-gnueabihf-gcc

所以,我们要修改Makefile.sdk文件。

tf-a-stm32mp-2.2.r1”是正点原子针对自己的STM32MP157开发板修改过的 TF-A源码。“Makefile.sdk”是我们用来编译正点原子的TF-A源码要用到的 Makefile。

9、将“arm-ostl-linux-gnueabi-”改为“arm-none-linux-gnueabihf-”,见下图:

10、按“ESC”+“:wq”,保存退出。

二、编译“正点原子STM32MP157D开发板修改过的 TF-A源码”

linux /atk-mp1/atk-mp1/alientek_tf-a/tf-a-stm32mp-2.2.r1”目录下的文件是正点原子STM32MP157D开发板的 TF-A源码。

1、输入“cd tf-a-stm32mp-2.2.r1/车”,进入“tf-a-stm32mp-2.2.r1”目录下,准备查看“正点原子的STM32MP157D开发板的TF-A源码”。

2、输入“make -f ../Makefile.sdk all回车”, 执行编译, '-f'的意思是重新指定Makefile。

3、输入“ls -l回车”,列出当前目录下所有的文件和文件夹

4、重新打开终端,查询“linux /atk-mp1/atk-mp1/alientek_tf-a/ build/trusted”目录下有哪些文件,按照下图输入命令。

打开新的终端

输入“ls回车”,列出当前目录下所有的文件和文件夹

输入“cd linux/回车”,切换到“linux”目录下;

输入“ls回车”,列出当前目录下所有的文件和文件夹

输入“cd atk-mp1/回车”,切换到“atk-mp1”目录下;

输入“ls回车”,列出当前目录下所有的文件和文件夹

输入“cd alientek_tf-a/回车”,切换到“alientek_tf-a”目录下;

输入“ls回车”,列出当前目录下所有的文件和文件夹

输入“cd build/回车”,切换到“build”目录下;

输入“ls回车”,列出当前目录下所有的文件和文件夹

输入“cd trusted/回车”,切换到“trusted”目录下;

5、输入“ls -l回车”,列出当前目录下所有的文件和文件夹

注意:

我们只关注“linux /atk-mp1/atk-mp1/alientek_tf-a/build/trusted”目录下的文件,它不仅保存了STM32MP1所有型号的 TF-A 固件,还包含了正点原子提供的TF-A 固件,其中“tf-a-stm32mp157d-atk-trusted.stm32”就是正点原子开发板所使用的 TF-A 固件

三、简单介绍参与烧录的相关文件

1、在C:\Program Files\STMicroelectronics目录下,创建一个images目录

2、将前面编译得到的“tf-a-stm32mp157d-atk-trusted.stm32”,通过 FileZilla 发送到images目录下。

3、将“tf-a-stm32mp157d-atkserialboot.stm32”拷贝到images目录下。怎么生成的,这个下次学习中,讲解。

4、将u-boot.stm32拷贝到images目录下。怎么生成的,这个下次学习中,讲解。

拷贝后,见下图:

如果你着急,就用正点原子的,去烧录试试吧:

文件路径:

\STM32MP157开发板(A盘)-基础资料\08、系统镜像\01、教程系统镜像\tf-a-mp1-2.2-v1.0\tf-a-stm32mp157d-atk-serialboot.stm32

\STM32MP157开发板(A盘)-基础资料\08、系统镜像\01、教程系统镜像\u-boot-stm32mp-2020.01-r0\u-boot.stm32

这样,就得到烧录文件了。

总结:
1、Linux开发环境搭建,基本完成了。

2、知道怎么编译源码,生成固件了。

学习“uboot”和“烧录”进行中... ... 

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

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

相关文章

后台生成随机验证码验证登录

web get请求获取图片 <div class"p2"><img id"imgId" src"/get/code"><a href"#">看不清&#xff0c;换一张</a> </div> 后台代码: /*获取动态验证码*/ ResponseBody RequestMapping(value "/…

【MATLAB源码-第113期】基于matlab的孔雀优化算法(POA)机器人栅格路径规划,输出做短路径图和适应度曲线。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 POA&#xff08;孔雀优化算法&#xff09;是一种基于孔雀羽毛开屏行为启发的优化算法。这种算法模仿孔雀通过展开其色彩斑斓的尾羽来吸引雌性的自然行为。在算法中&#xff0c;每个孔雀代表一个潜在的解决方案&#xff0c;而…

人工智能专业必须需要考哪些证书呢?

我们来看看2024年人工智能专业的企业和个人都在紧张报考的两项AI认证证书报考&#xff1a; 为进一步贯彻落实中共中央印发《关于深化人才发展体制机制改革的意见》和国务院印发《关于“十四五”数字经济发展规划》等有关工作的部署要求&#xff0c;深入实施人才强国战略和创新驱…

Django教程第5章 | Web开发实战-数据统计图表(echarts、highchart)

专栏系列&#xff1a;Django学习教程 前言 highchart&#xff0c;国外。 echarts&#xff0c;国内。 本项目集成 hightchart和echarts图表库实现数据统计功能。 包括&#xff1a;折线图&#xff0c;柱状图&#xff0c;饼图和数据集图。 效果图 echats Highcharts 源代码…

程序员如何保持竞争力

在程序员的职业生涯中&#xff0c;保持竞争力是非常重要的&#xff0c;因为技术行业不断发展和变化。以下是一些建议&#xff0c;可以帮助程序员保持竞争力&#xff1a; 持续学习新技术和编程语言&#xff1a;技术行业的发展非常快&#xff0c;新的编程语言和技术不断涌现。作为…

易点易动设备管理系统:提升企业设备能耗管理效率的不二之选

在当前环保意识日益增强的社会背景下&#xff0c;企业对设备能耗管理的重视程度不断提升。有效的能耗管理不仅可以减少企业的能源消耗和环境污染&#xff0c;还能降低生产成本和提升竞争力。为了帮助企业实现高效的设备能耗管理&#xff0c;易点易动设备管理系统应运而生。本文…

高级分布式系统-第15讲 分布式机器学习--概念与学习框架

高级分布式系统汇总&#xff1a;高级分布式系统目录汇总-CSDN博客 分布式机器学习的概念 人工智能蓬勃发展的原因&#xff1a;“大” 大数据&#xff1a;为人工智能技术的发展奠定了坚实的物质基础。 大规模机器学习模型&#xff1a;具备超强的表达能力&#xff0c;可以解决…

通过IDE和jar包运行时加载json配置文件

程序中使用了json配置文件&#xff0c;位置在$rootPath/src/main/resources/config.json, 调试时使用IDE&#xff0c;但运行时使用Jar包&#xff0c;加载config.json配置文件的代码如下&#xff1a; public ConfigParser(String configFileName) throws IOException {try{Inp…

O2066PM无线WIFI6E网卡Windows环境吞吐测试

从2023年开始&#xff0c;除手机外的无线终端设备也逐步向WIFI6/6E进行升级更新&#xff0c;基于802.11ax技术的设备能够进一步满足用户体验新一代Wi-Fi标准时获得优质的性能和覆盖范围。 用户对于WIFI模块&#xff0c;通常会关注WIFI模块的吞吐量&#xff0c;拿到样品之后&am…

Access数据库模糊查询

Access数据库模糊查询的方法 1.使通配符: 在 Access 数据库中&#xff0c;有两种通配符可供使用&#xff0c;分别是"?"和"*"。 "?"表示匹配一个字符。 "*"表示匹配任意多个字符 1例如&#xff1a;如果要查询姓氏以"王"开…

基于DNA的密码学和隐写术综述

摘要 本文全面调研了不同的脱氧核糖核酸(DNA)-基于密码学和隐写术技术。基于DNA的密码学是一个新兴领域,利用DNA分子的大规模并行性和巨大的存储容量来编码和解码信息。近年来,由于其相对传统密码学方法的潜在优势,如高存储容量、低错误率和对环境因素的抗性,该领域引起…

Linux例行性工作 at和crontab命令

1&#xff0c;例行性工作 例行性工作 —— 在某一时刻&#xff0c;必须要做的事情 —— 定时任务 &#xff08;比如&#xff1a;闹钟&#xff09; 例行性工作分为两种&#xff1a;“单一的例行性工作 at”和“循环的例行性工作 crontab” 2&#xff0c;单一执行的例行性工作 …

使用WAF防御网络上的隐蔽威胁之命令注入攻击

命令注入攻击是网络安全领域的一种严重威胁&#xff0c;它允许攻击者在易受攻击的应用程序上执行恶意命令。 这种攻击通常发生在应用程序将用户输入错误地处理为操作系统命令的情况下。 什么是命令注入攻击 定义&#xff1a;命令注入攻击发生在攻击者能够在易受攻击的应用程…

高纯气体市场调研:预计2029年将达到331亿美元

高纯气体应用领域极宽&#xff0c;在半导体工业&#xff0c;高纯氮、氢、氩、氦可作为运载气和保护气;高纯气体可作为配制混合气的底气。随着LED和半导体的发展&#xff0c;对于其原物料生产的所需要的高纯气体&#xff0c;特别是7N级别的高纯氨气的需求不断增加&#xff0c;近…

大众点评评论采集软件使用教程

导出字段&#xff1a; 店铺ID 评论ID 发布时间 人均消费 评分 详情链接 点赞数 浏览数 评论数 最后更新时间 发布平台 推荐 评论详情 原始评论 图片数 图片链接 用户等级 用户名称 用户头像 VIP 私

3dmax渲染出现马赛克该怎么办?

为什么渲染会出现马赛克问题呢&#xff0c;什么原因导致的呢&#xff0c;该如何解决呢&#xff1f; 原因一 3dmax渲染出来马赛克可能是因为勾选了 dont reder final image(不渲染最终图像)&#xff0c;所以导致3dmax渲染出来马赛克。 解决方法&#xff1a; 打开渲染器设置菜…

中级职称原来有这么多用处!

中级工程师职称是工程技术人员职称中的一个级别&#xff0c;其作用可能因行业、地区和具体情况而异。一般来说&#xff0c;中级工程师职称具有以下作用&#xff1a; 1. 职业发展&#xff1a;中级工程师职称是工程技术人员职业发展中的一个重要里程碑&#xff0c;它可以证明持证…

Express框架使用全流程

1.目的和使用场景 对于像我这样不常使用 Node.js 进行开发的人来说&#xff0c;每次开始一个新项目都意味着从头开始设置环境&#xff0c;这个过程相当繁琐。因此&#xff0c;我决定自己构建一个开箱即用的项目脚手架。我的目标是创建一个简单易用的基础框架&#xff0c;能让我…

力扣337. 打家劫舍 III(java 动态规划)

Problem: 337. 打家劫舍 III 文章目录 题目描述思路解题方法复杂度Code 题目描述 思路 1.构建多阶段决策模型&#xff1a;树形DP基于树这种数据结构上的推导&#xff0c;一般都是从上往下推&#xff0c;子节点状态推导父节点状态&#xff0c;一般都是基于后续遍历来实现。 2.定…

“一键批量处理:轻松缩小图片像素,提升工作效率“

"在忙碌的工作中&#xff0c;时间就是金钱。使用我们的图片批量处理工具&#xff0c;轻松缩小图片像素&#xff0c;让您的工作更加高效。一键操作&#xff0c;告别繁琐&#xff0c;让您有更多时间享受生活。高效工作&#xff0c;从这里开始&#xff01;" 第一步&…