【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)

相关推荐
Aczone281 小时前
硬件(六)arm指令
开发语言·汇编·arm开发·嵌入式硬件·算法
EkihzniY8 小时前
OCR 证件识别:驱动澳门酒店自助入住智能化
嵌入式硬件·ocr
好家伙VCC8 小时前
数学建模模型 全网最全 数学建模常见算法汇总 含代码分析讲解
大数据·嵌入式硬件·算法·数学建模
伴杯猫8 小时前
【ESP32-IDF】基础外设开发2:系统中断矩阵
c语言·单片机·嵌入式硬件·mcu·物联网·github
搬砖的小码农_Sky8 小时前
常见的显示器接口技术
嵌入式硬件·计算机外设·显示器
茯苓gao8 小时前
STM32G4 速度环开环,电流环闭环 IF模式建模
笔记·stm32·单片机·嵌入式硬件·学习
点灯小铭10 小时前
基于STM32单片机的智能粮仓温湿度检测蓝牙手机APP设计
stm32·单片机·智能手机·毕业设计·课程设计
沐欣工作室_lvyiyi10 小时前
基于单片机的智能路灯(论文+源码)
单片机·嵌入式硬件·毕业设计
Yyq1302086968210 小时前
SIT1050 5V 供电,±40V 接口耐压,1Mbps 高速 CAN 总线收发器
单片机·嵌入式硬件
生擒小朵拉10 小时前
STM32添加库函数
java·javascript·stm32