查看原文
其他

STM32下载编程工具 | ST-LINK Utility介绍、下载、安装和使用教程

strongerHuang 嵌入式专栏 2022-05-20

关注+星标公众,不错过精彩内容

作者 | strongerHuang

微信公众号 | 嵌入式专栏


ST-LINK Utility是ST一款经典的编程下载工具,至今有很多工程师在使用。


之前分享的一篇文章《全面认识STM32Cube生态系统》我以为官方停止了对 ST-LINK Utility 的更新,事后我才发现, ST-LINK Utility 就在前不久(2020.10)进行了一次版本更新。目前最新版本为V4.6.0。

所以说,目前(2020.10)ST-LINK Utility 依然有很多人在使用,下面就对ST-LINK Utility 进行详细介绍、下载、安装和使用描述:


1

ST-LINK Utility介绍

STM32 ST-LINK Utility是针对STM32全系芯片进行编程(读、写、擦除、选项字)的一款工具。


ST-LINK Utility不仅提供图形化界面(GUI),也提供命令行命令行界面(CLI)。


1.支持格式

  • Motorola S19

  • bin

  • hex


2.支持操作/功能

  • 擦除

  • 编程(下载/写入)

  • 读取

  • 验证

  • 配置选项字节

  • 比较文件与目标内存

  • 对外部存储器进行编程\擦除和验证

  • 可加载、编辑和保存可执行文件和数据文件

  • 支持实时更新模式下的内存和核心状态视图

  • 一次性自动化编程(擦除、验证、编程、配置选项字节、计算校验和)


3.其他特征
  • 免费软件

  • 提供命令行界面(CLI)

  • ST-LINK / V2固件升级


4.和STVP差异

前面给大家分享过文章《STVP介绍、下载、安装和使用教程》,你会发现STVP支持的下载调试器和支持的器件(芯片)更多。


而ST-LINK Utility只支持ST-Link(多个版本)的下载调试器,支持的芯片只有STM32。


5.拓展描述

STM32 ST-LINK Utility 的别名叫 STSW-LINK004,在官方的命名中有这么一个规则:STSW-LINK编号


比如:

  • STSW-LINK004

  • STSW-LINK007

  • STSW-LINK008

  • STSW-LINK009


这些描述是什么呢?你可以关注我的微信公众号,在后台回复“ST-Link”查看我的系列教程中《ST-Link资料06》。


6.更新描述

我以为ST在发力搞STM32CubeProgmmer,就会“抛弃”ST-LINK Utility 这款工具,事实说明,官方并没有放弃它。原因很简单,目前该工具使用的工程师还比较多。


这次从V4.5.0升级到V4.6.0应该只是一次小改动,官方没有提供更新说明文档,从版本信息可以看得出来,主要更新了:


目前还没有深入研究更新细节,后面使用之后再给大家描述。


2

ST-LINK Utility下载

1.官网地址:

https://www.st.com/en/development-tools/stsw-link004.html

(公号不支持外链接,请复制链接到浏览器打开)


2.网盘地址:

官方需要账号或填写相关信息才能下载,也可以在我网盘下载,后台回复“ST工具下载链接”获取网盘下载地址。


3

ST-LINK Utility安装

1.安装环境

官网下载的安装包是exe文件,也就是说只支持Windows,不支持Linux、 Mac等操作系统。

2.安装过程
Windows的安装基本都是一路Next下去,根据提示选择安装就行了,下面针对初学者,把过程分享出来。


提示:

可能你电脑系统的环境与我有差异,过程中可能有一些差异,一般来说问题不大。


4

ST-LINK Utility使用

ST-LINK Utility作为一个编程工具,包含常规的读、写(下载/编程)、擦除,选项字节编程等。


我们这里以 STM32F411、以图形化界面(GUI)为例来描述一下:


1.硬件连接,打开工具,点击“连接”。


2.如果出现类似下图信息,说明连接正常


3.编程(下载):打开文件,点击“下载”。



4.读取

可设置读取的起始地址、大小、宽度,读取其实就是连接芯片之后,自动读取。


5.擦除


ST-LINK Utility工具图形化界面(GUI)的操作比较简单,还有一种命令行(CLI)后面抽时间给大家描述。


5

拓展下载文件:hex、bin

在上面下载界面,大家可能看到了“起始地址”,这里就牵涉到文件格式的问题。这里讲述一下bin和hex差异,以及Keil MDK、 IAR EWARM如何生成hex、bin.


1.hex文件

https://en.wikipedia.org/wiki/Intel_HEX

Intel HEX is a file format that conveys binary information in ASCII text form. It is commonly used for programming microcontrollers, EPROMs, and other types of programmable logic devices. In a typical application, a compiler or assembler converts a program's source code (such as in C or assembly language) to machine code and outputs it into a HEX file. The HEX file is then imported by a programmer to "burn" the machine code into a ROM, or is transferred to the target system for loading and execution.


简单来说:Hex是由Intel制定的一种十六进制标准文件格式,是由编译器转换而成的一种用于下载带处理器里面的文件。


Hex文件格式是由一行一行的十六进制数据组成,每行包含:开始、长度、数据、类型、校验和等重要信息


2.bin文件

Hex文件是有一定格式的,而Bin文件就是一种没有格式的程序文件,只是包含了程序数据。所以,我们下载bin文件时需要指定起始地址,如果起始地址不对,你的程序就不能正常运行。


3.Keil生成hex配置
Project ->Options for Target -> Output 勾选上“Create HEX File”(如下图)


4.IAR生成hex配置
Project ->Options -> Output Coverter -> 勾选上“Generate additional output”、选择输出格式为“Intel extended”,再次设置输出名称就配置好了(如下图)。

本文就分享到这里,如果对你有帮助,希望帮忙转发分享一下,感谢


------------ END ------------


后台回复『ST工具』『下载编程工具』阅读更多相关文章。


关注微信公众号『嵌入式专栏』,底部菜单查看更多内容,回复“加群”按规则加入技术交流群。


点击“阅读原文”查看更多分享,欢迎点分享、收藏、点赞、在看。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存