【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 "[email protected]" "#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)

相关推荐
天月风沙18 分钟前
PX4 | 无人机关闭磁力计罗盘飞行(yaw estimate error报错解决方法)
单片机·嵌入式硬件·mcu·无人机
计蒙不吃鱼3 小时前
星闪开发之Server-Client 指令交互控制红灯亮灭案例解析(SLE_LED详解)
嵌入式硬件·物联网·iot·星闪·星闪开发
想搞嵌入式的小白4 小时前
STM32 NVIC中断控制器
stm32·单片机·嵌入式硬件·nvic
A-花开堪折4 小时前
Android7 Input(十)View 处理Input事件pipeline
android·嵌入式硬件
深圳市尚想信息技术有限公司5 小时前
【深尚想】OPA855QDSGRQ1运算放大器IC德州仪器TI汽车级高速8GHz增益带宽的全面解析
单片机·嵌入式硬件
陕西艾瑞科惯性技术有限公司6 小时前
让飞行姿态 “可感知”:为什么无人机需要三轴陀螺仪?
嵌入式硬件·机器学习·机器人·无人机·pcb工艺
代码总长两年半6 小时前
STM32----IAP远程升级
stm32·单片机·嵌入式硬件
广药门徒6 小时前
STM32手册上标称的18MHz GPIO翻转速度和你实际测量到的速度之间的差异是预期之内且合理的
单片机·嵌入式硬件
广药门徒6 小时前
在使用一些不用驱动大电流的设备就可以用stm32的自己的上下拉但是本身上下拉不就是给iicspi这些他通信给信号的吗中怎么还跟驱动能力扯上了有什么场景嘛
stm32·单片机·fpga开发
jz_ddk7 小时前
[zynq] Zynq Linux 环境下 AXI BRAM 控制器驱动方法详解(代码示例)
linux·运维·c语言·网络·嵌入式硬件