使用命令行工具备份 STM32 固件

Posted

技术标签:

【中文标题】使用命令行工具备份 STM32 固件【英文标题】:Backup STM32 firmware using command line tools 【发布时间】:2019-01-30 21:43:03 【问题描述】:

我有一个控制台 STM32 ST-LINK 实用程序。它能够将固件转储到 bin 文件。但问题在于参数。 GUI 版本在上方的“内存显示”组框中显示地址和大小。但是如果没有 GUI ST-LINK 实用程序,我怎么知道内存大小参数呢?以下是控制台版本的参数列表: -Dump<Address> <Memory_Size> <File_Path>

【问题讨论】:

你知道你的微型模型是什么,所以你知道闪存的大小。有什么问题? 我的固件文件大小约为 20 KB。闪存大小为 1 兆字节。这意味着我必须创建具有冗余常量大小的备份(如果我使用相同的模型)? 【参考方案1】:

因为您知道您的微型模型,所以您知道闪存的大小和布局。 ST-LINK 实用程序不提供任何芯片识别方法

您可以通过先重置目标并将输出保存到文件来解决此问题:

ST-LINK_CLI.exe -Rst 

STM32 ST-LINK CLI v3.2.0.0
STM32 ST-LINK Command Line Interface

ST-LINK SN : 0670FF485550755187194938
ST-LINK Firmware version : V2J29M18
Connected via SWD.
SWD Frequency = 4000K.

然后你可以调用另一个程序(自己编写的)来解析结果并得到uC模型和内存大小。然后您可以使用计算出的参数执行 ST-LINK_CLI。 目标电压 = 3.3 V。 连接方式:正常。 设备 ID:0x449 设备闪存大小:1024 KB 器件系列:STM32F74x/F75x MCU 复位。

【讨论】:

我的固件文件大小约为 20 KB。闪存大小为 1 兆字节。这意味着我必须创建具有冗余常量大小的备份(如果我使用相同的模型)?

以上是关于使用命令行工具备份 STM32 固件的主要内容,如果未能解决你的问题,请参考以下文章

STM32 Nr shell 命令行移植

STM32 Nr shell 命令行移植

STM32加密保护工具 | STM32Trust生成SFI和SMI加密固件

GO实现简单(命令行)工具:sftp,文檔压解,RDS备份,RDS备份下载

VSCode 搭建 STM32 开发环境

VSCode 搭建 STM32 开发环境