【STM32 ST-LINK Utility】工具使用和如何编译HEX和BIN文件

  • [一、STM32 ST-LINK Utility](#一、STM32 ST-LINK Utility)
    • [STM32 ST-LINK Utility简介](#STM32 ST-LINK Utility简介)
    • [STM32 ST-LINK Utility作用](#STM32 ST-LINK Utility作用)
  • 二、KEIL生成HEX和BIN文件
    • [1. 生成HEX文件](#1. 生成HEX文件)
    • [2. 生成BIN文件](#2. 生成BIN文件)
  • [三、STM32 ST-LINK Utility烧录](#三、STM32 ST-LINK Utility烧录)
    • [1. 硬件连接(connect)和 读取](#1. 硬件连接(connect)和 读取)
    • [2. 打开hex程序文件](#2. 打开hex程序文件)
    • [3. 下载烧录程序](#3. 下载烧录程序)
    • [4. 擦除(Erase)](#4. 擦除(Erase))

ST官网下载 STSW-LINK004 - STM32 ST-LINK utility (replaced by STM32CubeProgrammer) - STMicroelectronics

STM32 ST-LINK Utility 是一款由意法半导体(STMicroelectronics)提供的软件工具,用于配合ST-LINK编程器/调试器硬件设备,以实现对STM32系列微控制器的编程和调试。这款工具类似于J-Link工具对于J-Link编程器的作用。

功能概述:

  • 代码烧写:可以直接下载HEX文件或BIN文件到STM32微控制器的闪存中。
  • 代码加密:可以对下载的代码进行读保护,防止未经授权的读取。
  • 批量生产:在产品批量生产阶段,可以快速高效地进行代码烧写。
  • 数据读取:可以读取STM32微控制器中的闪存数据,这对于调试和故障排查非常有用。
  • 设备识别:可以读取STM32芯片的型号、ID、版本等信息,有助于确认目标设备的详细规格。
  • 量产工具:在产品批量生产时,使用STM32 ST-LINK Utility可以直接下载HEX或BIN文件,而无需每次重新编译整个工程。
  • 快速编程:可以快速地将新的固件版本烧写到多个STM32芯片中,大大加快了产品的生产流程。
  • 读取芯片信息:可以读取STM32芯片的型号、ID、版本等信息,有助于快速识别目标设备。
  • 故障诊断:在调试阶段,可以读取STM32芯片的闪存数据,有助于定位和解决潜在的问题。
  • 免驱动安装:安装STM32 ST-LINK Utility软件后,ST-LINK编程器的驱动也会被安装,这意味着ST-LINK可以在其他开发环境中(如Keil、IAR等IDE)直接使用,无需单独安装驱动。

使用场景:

  • 开发阶段:在开发过程中,可以使用STM32 ST-LINK Utility快速测试不同版本的代码。
  • 测试阶段:在测试阶段,可以读取芯片信息和闪存数据,以确保代码的正确性和完整性。
  • 生产阶段:在批量生产阶段,可以快速高效地将最终版本的固件下载到大量STM32芯片中。

STM32 ST-LINK Utility是一款非常实用的工具,不仅适用于STM32产品的开发和调试阶段,也非常适合产品的批量生产阶段。

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

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

二、KEIL生成HEX和BIN文件

1. 生成HEX文件

Project→点击魔术棒"Options for Target" → Output →勾选Create HEX File选择输出文件路径和文件名

2. 生成BIN文件

点击魔术棒"Options for Target" → User → 勾选 Run#2,输入命令

点击"Build"编译后就可以在"Objects"文件夹找到生成的Bin / Hex文件了

bash 复制代码
fromelf --bin -o "$L@L.bin" "#L
.\HexBin.bat $K !L @L $L

1. 硬件连接(connect)和 读取

读取STM32内部FLASH及芯片信息 【读取FLASH信息的前提是没有添加读保护】

使用ST-Link连接硬件(STM32芯片),打开STM32 ST-LINK Utility软件,连接芯片:Tarage → connect或直接点击连接快捷按钮(如下图)。

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

2. 打开hex程序文件

在上一步连接好芯片,并正确识别芯片之后,打开需要下载的程序(hex)文件。打开hex文件可以从菜单栏(File → Open File)打开,也可以直接讲hex文件拖动到FLASH区域(就像从电脑复制文件到U盘一样)。

3. 下载烧录程序

在上一步打开hex文件完成之后,点击"下载"(可以Taraget → Program,也可以直接点击下载快捷按钮,如下图)

弹出信息确认窗口,如hex文件路径、验证方式等,确认信息无误后点击"Start"开始下载程序。

下载过程时间长短与程序大小有关,一般都很快,出现"Verification...OK",说明下载成功。

4. 擦除(Erase)

相关推荐
电子设计师11 分钟前
20 基于STM32的温度、电流、电压检测proteus仿真系统(OLED、DHT11、继电器、电机)
嵌入式硬件·51单片机·智能家居
QQ19284999062 小时前
基于单片机巡迹避障智能小车系统
单片机·嵌入式硬件
北京迅为2 小时前
【北京迅为】《STM32MP157开发板使用手册》-第四十三章 软件定时器实验
单片机·嵌入式硬件
驰骋的码农2 小时前
STM32之串口通信
stm32·单片机
DS陈工2 小时前
【STM32】定时器
stm32·单片机·嵌入式硬件
白天看海2 小时前
20 基于STM32的温度、电流、电压检测proteus仿真系统(OLED、DHT11、继电器、电机)
stm32·单片机·嵌入式硬件
每天的积累3 小时前
面试知识点总结篇一
单片机·嵌入式硬件·面试·应用层
无际单片机项目4 小时前
单片机学到什么程度才可以去工作?
java·stm32·单片机·嵌入式硬件·物联网
爱桥代码的程序媛5 小时前
鸿蒙OpenHarmony【轻量系统内核(异常调测)】子系统开发
嵌入式硬件·内核·harmonyos·鸿蒙·openharmony·鸿蒙开发·子系统开发