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

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

.tsv是文本格式的,很容易阅读。关于.tsv 语法的详细讲解,请参考:

https://wiki.st.com/stm32mpu/wiki/STM32CubeProgrammer flashlayout

一、安装"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文件,选中后,点击打开。

10、打开"C:\Program Files\STMicroelectronics\images"目录下的tf-a.tsv,得到下图:

11、点击"视图",再点击"显示符号",最后点击"显示空格与制表符",得到下图:

得到下图:

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

1、Opt域

Opt是第一个项,此选项可以设置为"-"、"P"、"D"或"E",通常使用"-"或"P"。

"-":表示分区或者设备无需修改,如果Device域为 none,那么Opt强制为"-"。

"P": 表示需要向"分区"或者"设备"烧写固件。

STM32CubeProgrammer本质是通过boot来烧写系统的,也就是先把boot加载到板子的DDR里面并运行,然后使用uboot来烧写系统。uboot会请求需要烧写的二进制文件,然后将其烧写到"指定的分区"或者"指定的Falsh设备"里面。

"D":删除"指定的分区"或"指定的设备"。

"E":表示不更新"指定的分区"或"指定的设备",相关的"Id 项"会被跳过。

"P"还可以和"D"或"E"搭配使用:

"PE":不用更新程序,即"指定的分区"或"指定的设备"不需要烧写固件,这样,我们就可以单独更新tf-a、uboot、kernel或者rootfs。

"PD":删除并更新,也可以写作"DP"。

"PDE":删除并且保持为空,也可以写作 PED/DPE/DEP/EPD/EDP。

2、Id域

STM32CubeProgrammer通过"Id域"来确定烧写方法,使用它来识别下载到设备的"下一个二进制文件":

ROM 或者FSBL:二进制文件要加载到RAM中。

SSBL(uboot):二进制文件要烧写到Flash中。

默认的Id含义:

3、Name域

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

4、Type域

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

1)、SD卡或者EMMC设备对应的"GPT分区"。

2)、原始的Flash设备,如 NAND、NOR 等对应的MID分区。

SD/EMMC和NAND/NOR所支持的"Type类型":

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的SDMMC1和SDMMC2接口上,那么SD卡和EMMC 分别为mmc0 和mmcl。

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

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

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

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

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

6、Offset域

Offset 就是偏移,支持的值如下:

1)、boot1:EMMC的第1个启动区域分区。

2):boot2:EMMC的第2个启动区域分区。

3):数字:具体的偏移值,单位为字节。

7、Binary域

STM32CubeProgrammer软件要使用的二进制文件。

相关推荐
云飞云共享云桌面2 小时前
8位机械工程师如何共享一台图形工作站算力?
linux·服务器·网络
Peter_chq2 小时前
【操作系统】基于环形队列的生产消费模型
linux·c语言·开发语言·c++·后端
一坨阿亮3 小时前
Linux 使用中的问题
linux·运维
dsywws4 小时前
Linux学习笔记之vim入门
linux·笔记·学习
幺零九零零5 小时前
【C++】socket套接字编程
linux·服务器·网络·c++
小林熬夜学编程6 小时前
【Linux系统编程】第四十一弹---线程深度解析:从地址空间到多线程实践
linux·c语言·开发语言·c++·算法
做网站建设制作设计小程序推广7 小时前
如何建购物网站提升用户体验
经验分享
程思扬7 小时前
为什么Uptime+Kuma本地部署与远程使用是网站监控新选择?
linux·服务器·网络·经验分享·后端·网络协议·1024程序员节
sun0077007 小时前
拷贝 cp -rdp 和 cp -a
linux·运维·服务器
wowocpp7 小时前
ubuntu 22.04 server 安装 anaconda3
linux·运维·ubuntu