
ST-LINK Utility是ST一款经典的编程下载工具,至今仍有很多工程师在使用。 该工具在 2020.10 进行了一次版本更新,目前最新版本为V4.6.0。# x2 J! \- g, v x 1 ST-LINK Utility介绍STM32 ST-LINK Utility是针对STM32全系芯片进行编程(读、写、擦除、选项字)的一款工具。
ST-LINK Utility不仅提供图形化界面(GUI),也提供命令行命令行界面(CLI)。 8 t' N( U" `1 G. R9 |& B 1.支持格式
2.支持操作/功能
5 {0 e5 \6 H4 n% e 3.其他特征
4.和STVP差异 而ST-LINK Utility只支持ST-Link(多个版本)的下载调试器,支持的芯片只有STM32。 1 u8 [' m2 w3 R* B7 y8 r 5.拓展描述 STM32 ST-LINK Utility 的别名叫 STSW-LINK004,在官方的命名中有这么一个规则:STSW-LINK编号 比如:
2 ST-LINK Utility下载6 j; a |6 ^1 b+ c6 u# M3 ST-LINK Utility安装1.安装环境 官网下载的安装包是exe文件,也就是说只支持Windows,不支持Linux、 Mac等操作系统。2.安装过程Windows的安装基本都是一路Next下去,根据提示选择安装就行了,下面针对初学者,把过程分享出来。 ![]() ![]() ![]() ![]() ![]() ![]() 提示: 可能你电脑系统的环境与我有差异,过程中可能有一些差异,一般来说问题不大。 4 ST-LINK Utility使用ST-LINK Utility作为一个编程工具,包含常规的读、写(下载/编程)、擦除,选项字节编程等。 + V4 W* r3 z; C" n 我们这里以 STM32F411、以图形化界面(GUI)为例来描述一下:
1.硬件连接,打开工具,点击“连接”。 ![]() X4 S. W4 u7 L; M0 n5 P 2.如果出现类似下图信息,说明连接正常( C% k1 v. g8 c7 {0 U, \) g ![]() # @$ s# ~! Q- T 3.编程(下载):打开文件,点击“下载”。 ![]() ![]() ![]() ![]() 1 k6 F0 C2 i& S5 B 4.读取# q( X6 `& b( p 可设置读取的起始地址、大小、宽度,读取其实就是连接芯片之后,自动读取。 ![]() 5.擦除 ![]() 5 拓展下载文件:hex、bin在上面下载界面,大家可能看到了“起始地址”,这里就牵涉到文件格式的问题。这里讲述一下bin和hex差异,以及Keil MDK、 IAR EWARM如何生成hex、bin. 3 M0 X4 F+ B8 Z2 c" u9 c 1.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. - t% Y$ Z( R- z. ~: D 简单来说:Hex是由Intel制定的一种十六进制标准文件格式,是由编译器转换而成的一种用于下载带处理器里面的文件。 5 n5 c0 p7 c2 K; Q% S x$ L Hex文件格式是由一行一行的十六进制数据组成,每行包含:开始、长度、数据、类型、校验和等重要信息。
Hex文件是有一定格式的,而Bin文件就是一种没有格式的程序文件,只是包含了程序数据。所以,我们下载bin文件时需要指定起始地址,如果起始地址不对,你的程序就不能正常运行。 ( S) l# }% c& N$ j, g* S7 k k+ E1 M3.Keil生成hex配置Project ->Options for Target -> Output 勾选上“Create HEX File”(如下图) ![]() 4.IAR生成hex配置Project ->Options -> Output Coverter -> 勾选上“Generate additional output”、选择输出格式为“Intel extended”,再次设置输出名称就配置好了(如下图)。 8 P& B. l1 r) G# ^9 U4 M9 s, G: W0 I: _( w. k4 X# | ![]() 转载自:strongerHuang |
OpenBLT移植到STM32F405开发板
为什么要先开启STM32外设时钟?
【STM32MP157】从ST官方例程中分析RPMsg-TTY/SDB核间通信的使用方法
【经验分享】STM32实例-RTC实时时钟实验④-获取RTC时间函数与中断服务函数
STM32 以太网 MAC Loopback 的实现
STM32功能安全设计包,助力产品功能安全认证
基于STM32启动过程startup_xxxx.s文件经验分享
HRTIM 指南
ST 微控制器电磁兼容性 (EMC) 设计指南
适用于STM32微控制器的ΣΔ数字接口入门