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软件要使用的二进制文件。

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-20 00:44:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-20 00:44:02       101 阅读
  3. 在Django里面运行非项目文件

    2024-01-20 00:44:02       82 阅读
  4. Python语言-面向对象

    2024-01-20 00:44:02       91 阅读

热门阅读

  1. es-删除字段-实测

    2024-01-20 00:44:02       46 阅读
  2. 2024年华数杯国际赛文心一言解题思路B题 光伏电

    2024-01-20 00:44:02       52 阅读
  3. 我的创作纪念日

    2024-01-20 00:44:02       59 阅读
  4. 基于强化学习的航线规划算法

    2024-01-20 00:44:02       61 阅读
  5. springboot minio 工具类,一站式解决

    2024-01-20 00:44:02       56 阅读
  6. 黑马C++125-关系运算符重载-==

    2024-01-20 00:44:02       56 阅读
  7. OpenHarmony—Linux之系统调用

    2024-01-20 00:44:02       48 阅读
  8. linux上面hadoop配置集群

    2024-01-20 00:44:02       51 阅读
  9. 【MySQL】更改表的主键报错及解决办法

    2024-01-20 00:44:02       58 阅读