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

相关推荐
不悔哥2 天前
开源OV-Watch:怎么做一个智能手表
单片机·开源·嵌入式
XiHongShi20162 天前
STM32F407 RTC定时器例程,建议保存
stm32·单片机·学习
优信电子2 天前
AIT1001 非接触式红外测温模块 STM32 驱动开发实战:从引脚到代码全解析
stm32·嵌入式·温度传感器·红外测温·非接触式测温·ait1001
深圳老胡2 天前
STM32F407 控制 L6470 步进电机驱动 —— 控制过程简介
笔记·stm32·单片机·嵌入式硬件·代码规范
wuyk5552 天前
《WiFi 嵌入式物联网开发全套实战》| 第 16 章 ESP32 AP+STA 双模共存原理与工程坑点
网络·stm32·物联网
女神下凡2 天前
嵌入式设计的各种存储芯片的硬件/软件设计规范,非常全面。
arm开发·单片机·嵌入式硬件
梅梅9662 天前
一款mipi转lvds的lcd调试(LT8912B)
单片机·计算机外设·电脑·显示器·pd芯片
开发笔记-阿牛2 天前
蓝牙音乐灯拆解,又一次拆到蓝牙音乐灯芯片CK6865L
人工智能·单片机·嵌入式硬件·音视频·音频
从零开始的嵌入式之旅2 天前
day47
arm开发·经验分享·笔记·嵌入式硬件
恒锐丰科技林技术员2 天前
EG1164 高压大电流升压同步整流芯片解析
经验分享·嵌入式硬件·硬件工程