Linux第29步_安装“Notepad++”软件

STM32CubeProgrammer脚本文件的后缀为“.tsv”,ST公司官方也叫做FlashLayout。在烧写“TF-A固件”之前,我们需要用“Notepad++”软件打开“后缀为.tsv”的脚本文件,根据需求决定哪些文件需要更新,设置好这个脚本文件。

在后期使用STM32CubeProgrammer烧写文件时,需要使用“Notepad++”软件修改“后缀为.tsv”的脚本文件,因此需要安装。

一、安装“Notepad++”软件

1、双击“npp.8.5.2.Installer.x64.exe”,得到下面的界面:

2、点击“OK”按钮

3、点击“下一步” 

4、点击“我接受”

5、点击“下一步” 

6、全部勾选,点击“下一步” 

7、勾选“Create Shortcut on Desktop”,然后点击“安装”

8、点击“完成” 。

9、点击“文件” ,找到需要打开的tf-a.tsv文件,选中后,点击打开。

 得到下图:

二、tf-a.tsv文件配置解析

1、Ot城
Opt 是第一个项,此选项通过'-’、'P’、'D’和'E’这四个字符定义操作方法,首选的是'-’和'P’。
'-’:   none,也就是空选项,分区或者设备无需修改,如果 Device 域为 none,那么 Opt强制为'-'。

'P’:向分区或者设备烧写固件。
STM32CubeProgrammer本质是通过boot来烧写系统的,也就是先把 boot加载到板子的DDR 里面并运行,然后使用 uboot 来烧写系统。uboot 会请求需要烧写的二进制文件,然后将其烧写到指定的分区或者 Falsh 设备里面。
针对“P’选项,还有另外两个可以搭配使用的小伙伴:

'E’:空分区或设备,表示对应的分区或设备不更新,相关的 d 项会被跳过
"'D’:删除分区或设备


允许的组合选项如下所示:
'-’:空选型。
'P’:更新分区或设备,也就是向分区或设备烧写固件
'PE’:不更新,也就是指定某个分区或者设备不需要烧写固件,这样我们就可以单独只更新 tf-a、uboot、kernel 或者 rootfs。
'PD’:删除并更新,也可以写作 DP。
'PDE’:删除并且保持为空,也可以写作 PED/DPE/DEP/EPD/EDP

 2、Id域
STM32CubeProgrammer 通过 Id 域来确定烧写方法,会通过 Id 域来识别下一个要烧写到设备里面的二进制文件:
ROM 或老 FSBL:二进制文件要加载到 RAM 中
SSBL(uboot):二进制文件要烧写到 Flash 中。

3、Name 域
Name 域为一段字符串,也就是目标内存段的名字;


4、Type 域

Type 域仅仅用于 uboot,用来选择需要更新的 Flash 区域:

1)、SD 卡或者 EMMC 设备对应 GPT 分区。
2)、原始的 Flash 设备,如 NAND、NOR 等对应MID 分区

STM32MP157 开发板为 EMMC 类型,所以我们只 EMMC 下的 Type 域含义:
Binary: 原始的二进制文件。
FileSystem: linux 文件系统,为 ext2/ext4/fat 格式
System: Linux 内核。

5、Device 域

Device 域指定 Uboot 设备树定义的设备和索引(从 0 开始),不同的设备其设备名字和索引不同:

mmc+索引:如mmc0、mmcl、mmc2 等,对应 SD 卡或EMMC。比如SD 卡和 EMMC分别接到MPI的 SDMMCI和 SDMMC2 接口上,那么SD 卡和EMMC 分别为mmc0 和mmcl。


nor+索引:如 nor0,对应 NOR 或者 OUADSPIFlash。

mmc+索引: 如 nand0,对应连接到 FMC 总线上的并行 NAND Flash。

spi-nand+索引:如 spi-nand0,对应连接到 OSPI 上的串行 NAND Flash。

none: RAM,也就是将固件加载到 RAM 里面,仅允许启动阶段使用,而且 Type 域要为 Binary,Offset 域要为 0,Opt 域为'-'。


ram+索引:如 ram0,烧写服务讲固件加载到 RAM 中运行。

6、Offset 城
Offset 就是偏移,支持的值如下:
1)、boot1:EMMC 的第一个启动区域分区。
2):boot2: EMMC 的第二个启动区域分区。
3):数字:具体的偏移值,单位为字节。

7、Binary 城
STM32CubeProgrammer 软件要使用的二进制文件。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

AnyText多语言文字生成与编辑

AnyText图文融合 近年来,随着AIGC的爆火,图片生成技术得到飞速发展,当前AI生成的图片已达到真假难辨的高保真度。不过,当合成图片中出现文字内容时,仍能够使AI露出马脚,因为当前主流方法尚无法在图片中生成…

一个程序员“玩”出来的网站:每月成本仅 350 元,如今赚了 16.4 万元

很难想象:一个每月运行成本不到 50 美元(约人民币 358 元)的网站. 是如何做到收入 2.3 万美元(约人民币 16.4 万元)的? ** 如果你也对网站开发感兴趣? ** 首先,这个网站只有创始…

【动态规划】【滑动窗口】【C++算法】 629K 个逆序对数组

作者推荐 【矩阵快速幂】封装类及测试用例及样例 本文涉及知识点 动态规划 C算法&#xff1a;滑动窗口总结 LeetCode629: K 个逆序对数组 逆序对的定义如下&#xff1a;对于数组 nums 的第 i 个和第 j 个元素&#xff0c;如果满足 0 < i < j < nums.length 且 nu…

【架构】docker实现集群主从扩容【案例3/4】

实现集群主从扩容 当整个集群扛不住流量的情况时&#xff0c;需要给集群扩容增加设备&#xff0c;由3主3从&#xff0c;扩为4主4从。实现&#xff1a; 示意图如下&#xff1a; 第一步&#xff1a;新创建两个节点&#xff08;redis-node-7&#xff0c;端口6387和 redis-node…

「云渲染科普」3dmax vray动画渲染参数如何设置

动画渲染一直都是占用时间最多的地方&#xff0c;动画帧数通常 1 秒在 25 帧或者以上&#xff0c;电脑通常需要对每一帧的画面分批渲染&#xff0c;通常本地电脑由于配置上的限制&#xff0c;往往无法在短时间内快速的完成渲染任务。这时“云渲染”则成为了动画渲染的主要方案&…

USB Cable导致连接识别不良

2根USB线&#xff0c;连接USB2RS232芯片&#xff0c;有根线能够识别&#xff0c;另外一根不能识别。 好的线识别如下&#xff1a; 另外一根就不能识别

josef 约瑟抗干扰中间继电器 UEG/F-4H 四常开 导轨安装

系列型号 UEG/F-2H2D抗干扰中间继电器;UEG/F-1H1D抗干扰中间继电器; UEG/F-10H-L抗干扰中间继电器;UEG/F-10H-L2抗干扰中间继电器; UEG/F-10HS抗干扰中间继电器;UEG/F-2DPDT抗干扰中间继电器; UEG/F-4DPDT抗干扰中间继电器;UEG/F-8DPDT抗干扰中间继电器; UEG/F-2H抗干扰中间继…

(六)深入理解Bluez协议栈之“GATT Client Profile”

前言: 本章节我们继续介绍GATT Client Profile的实现,参考的程序是tools\btgatt-client.c,需要注意的一点,在./configure时,需要添加 --enable-test --enable-testing才会编译该c文件,编译完成后,生成的可执行程序为btgatt-client。本文主要以btgatt-client运行时可能会…

【Python数据可视化】matplotlib之绘制常用图形:折线图、柱状图(条形图)、饼图和直方图

文章传送门 Python 数据可视化matplotlib之绘制常用图形&#xff1a;折线图、柱状图&#xff08;条形图&#xff09;、饼图和直方图matplotlib之设置坐标&#xff1a;添加坐标轴名字、设置坐标范围、设置主次刻度、坐标轴文字旋转并标出坐标值matplotlib之增加图形内容&#x…

Angular系列教程之管道

文章目录 管道的基本概念使用内置管道创建自定义管道总结 在Angular中&#xff0c;管道&#xff08;Pipe&#xff09;是一个非常重要的概念。它们允许我们对数据进行转换、格式化和显示&#xff0c;并且可以轻松地在模板中使用。本篇文章将介绍Angular中的管道概念&#xff0c;…

golang文件相对路径问题

目录结构 2.具体代码&#xff1a; const dataFile "../data/data.json"_, fileName, _, _ : runtime.Caller(1)dataPath : path.Join(path.Dir(fileName), dataFile)fmt.Println(dataPath)// open filefile, err : os.Open(dataPath)if err ! nil {log.Fatalln(err…

AI扩展手写数字识别应用(二)

理解代码 输入处理 在新应用的代码部分&#xff0c;和我们在手写数字识别课程介绍的代码比起来&#xff0c;差别最大的地方就在于如何处理输入。在上个案例中&#xff0c;我们只需要简单地将正方形区域中的图像格式调整一下&#xff0c;即可用作MNIST模型的输入。而在本文的案…

【运维】安装双系统之后,如何删除主硬盘的Linux的引导,图文教程

前置条件&#xff1a;已经安装了windows10系统和Linux系统&#xff0c;而且windows10系统是C盘主要盘&#xff0c;Linux系统是安装在别的硬盘上&#xff0c;这个时候C盘主要盘里面的引导分区里是由Linux的引导的&#xff0c;所以打开电脑之后才能让你选是使用windows系统还是使…

一文了解Spring线程池(超详细+干货满满)

Spring默认线程池 simpleAsyncTaskExecutor Spring异步线程池的接口类是TaskExecutor &#xff0c;本质还是 java.util.concurrent.Executor&#xff0c;没有配置的情况下&#xff0c;默认使用的是 simpleAsyncTaskExecutor Component EnableAsync public class ScheduleTask…

josef约瑟 漏电继电器 LLJ-400F Φ100 分体式结构,导轨安装

LLJ-400F AC660V漏电继电器是一种检测线路触&#xff08;漏&#xff09;电&#xff0c;并发出一个机械开闭信号至控制电路装置。它可与各种规格的低压断路器或交流接触器组成组合式剩余电流动作保护器。在如今已实现了较为完善的农村低压电网分级&#xff08;二级或三级&#x…

Linux-->进程概念

文章目录 进程进程概念操作系统管理进程描述进程-PCB组织进程task_strcut 查看Linux下进程信息通过系统文件查看通过命令查看 通过系统调用获取进程标示符通过系统调用frok创建进程fork的使用进程状态运行阻塞挂起Linux下具体的进程状态 前台进程和后台进程kill僵尸进程孤儿进程…

两个方法实现echarts散点图的高光圆点

一、效果图&#xff1a; 二、代码 方法一&#xff1a;通过series的itemStyle进行设置&#xff0c;type为scatter 在 ECharts 中&#xff0c;要在二维散点图上实现看似 3D 的高光圆点效果&#xff0c;可以通过自定义散点图的 itemStyle 属性来实现。虽然无法直接创建真正的 3D…

【备战蓝桥杯】Python 内置模块datetime的介绍和应用

&#x1f308;个人主页: Aileen_0v0 &#x1f525;热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 ​&#x1f4ab;个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-0TPX3guDWuSzAs1X {font-family:"trebuchet ms",verdana,arial,sans-serif;font-siz…

架构篇02-架构设计的历史背景

文章目录 机器语言&#xff08;1940 年之前&#xff09;汇编语言&#xff08;20 世纪 40 年代&#xff09;高级语言&#xff08;20 世纪 50 年代&#xff09;第一次软件危机与结构化程序设计&#xff08;20 世纪 60 年代~20 世纪 70 年代&#xff09;第二次软件危机与面向对象&…

设计模式——一文即可

对常用设计模式的总结&#xff0c;也是对设计模式专栏的总结 简单工厂模式 简单工厂模式&#xff08;Simple Factory Pattern&#xff09;是一种创建型设计模式&#xff0c;它提供了一种创建对象的最佳方式&#xff0c;通过将对象的创建逻辑封装在一个工厂类中&#xff0c;客…