STM32 ST-Link Utility 入门指南:安装、配置与使用 – wiki基地


STM32 ST-Link Utility 入门指南:安装、配置与使用

STM32 微控制器以其强大的性能和丰富的外设广泛应用于嵌入式系统开发。而 ST-Link 则是 STMicroelectronics 官方推出的,用于 STM32 微控制器程序的下载和在线调试的硬件工具。ST-Link Utility 则是配合 ST-Link 硬件使用的图形化软件,为开发者提供了便捷的烧录、擦除、读写和配置功能。

本指南将详细介绍 STM32 ST-Link Utility 的安装、基本配置和使用方法,帮助初学者快速上手。

1. 简介

ST-Link Utility 是一款免费的 Windows 平台软件,它允许用户通过 ST-Link 调试器与 STM32 微控制器进行通信。主要功能包括:

  • 程序下载(Flash Programming):将编译好的二进制文件(如 .hex, .bin, .elf)下载到 STM32 的闪存中。
  • 闪存擦除(Flash Erasing):擦除整个芯片或指定扇区的闪存内容。
  • 闪存读取(Flash Reading):从 STM32 闪存中读取内容并保存为文件。
  • Option Bytes 配置:配置芯片的保护位、看门狗、启动模式等选项字节。
  • 硬件连接检测:检测 ST-Link 调试器和目标 STM32 微控制器的连接状态。

2. 系统要求

  • 操作系统:Windows 7/8/10/11 (32位或64位)。
  • ST-Link 调试器:ST-Link/V2、ST-Link/V2-1、ST-Link/V3 等任何兼容的 ST-Link 硬件。
  • STM32 开发板/目标芯片:带有 SWD 或 JTAG 接口的 STM32 微控制器。
  • USB 端口:用于连接 ST-Link 调试器到电脑。

3. 软件安装

3.1 下载 ST-Link Utility

  1. 打开您的网络浏览器,访问 STMicroelectronics 官方网站:www.st.com
  2. 在搜索框中输入 “ST-Link Utility” 或 “STM32 ST-LINK Utility”。
  3. 找到对应的软件下载页面,通常名称为 “STM32 ST-LINK Utility” 或 “ST-LINK utility (STSW-LINK004)”。
  4. 点击下载按钮。您可能需要注册一个 ST 账户并登录才能下载。

3.2 安装步骤

下载完成后,您会得到一个安装包(通常是 .exe 文件)。

  1. 运行安装程序:双击下载的 .exe 文件启动安装向导。
  2. 同意许可协议:阅读并接受许可协议。
  3. 选择安装路径:建议使用默认安装路径,或选择一个您方便管理的路径。
  4. 安装驱动:在安装过程中,会提示您安装 ST-Link 驱动程序。请务必勾选并安装驱动,这是 ST-Link 正常工作的前提。
  5. 完成安装:按照提示完成安装。安装成功后,您可以在开始菜单中找到 “STM32 ST-LINK Utility” 应用程序。

4. 驱动程序安装(重要)

虽然安装软件时会提示安装驱动,但有时驱动安装可能不完全或出现问题。如果遇到 ST-Link 无法识别的情况,请手动检查或重新安装驱动:

  1. 检查设备管理器
    • 将 ST-Link 调试器连接到电脑的 USB 端口。
    • 右键点击 “此电脑” (或 “我的电脑”) -> “管理” -> “设备管理器”。
    • 在 “通用串行总线设备” 或 “STMicroelectronics STLink dongle” 下查看是否有 “STMicroelectronics STLink Virtual COM Port” 或类似的设备。
    • 如果没有黄色感叹号,说明驱动正常。
  2. 手动安装/更新驱动
    • 如果驱动有问题,通常可以在 ST-Link Utility 的安装目录下找到驱动文件(例如 C:\Program Files (x86)\STMicroelectronics\STM32 ST-LINK Utility\ST-LINK Driver)。
    • 在设备管理器中找到带有黄色感叹号的 ST-Link 设备,右键点击 -> “更新驱动程序” -> “浏览我的电脑以查找驱动程序软件” -> 指向上述驱动文件夹。

5. 硬件连接与配置

在开始使用 ST-Link Utility 之前,您需要正确连接 ST-Link 调试器和 STM32 目标芯片。

5.1 硬件连接

ST-Link 调试器通常支持 SWD (Serial Wire Debug) 和 JTAG 两种接口。对于大多数 STM32 开发板和芯片,SWD 是首选,因为它占用引脚少。

SWD 连接(推荐):

  • ST-Link 调试器 <=> STM32 目标芯片
  • SWDIO (或 DIO) <=> PA13 (或标有 SWDIO 的引脚)
  • SWCLK (或 CLK) <=> PA14 (或标有 SWCLK 的引脚)
  • GND <=> GND
  • VCC (或 VTref) <=> 3.3V (或目标芯片的供电电压)

注意事项:

  • 供电:确保 STM32 目标芯片已正确供电。ST-Link 调试器通常不为目标芯片供电,或只提供有限的供电能力。
  • VTrefVTref 引脚是 ST-Link 用于检测目标芯片电压的参考引脚,请务必连接到目标芯片的供电电压(通常是 3.3V)。
  • 引脚对应:仔细核对您的开发板或芯片手册,确保 SWD/JTAG 引脚连接正确。
  • 复位引脚 (NRST):虽然不是必需,但将 ST-Link 的 NRST 引脚连接到 STM32 的复位引脚可以提高连接稳定性,尤其是在烧录或调试时。

5.2 软件配置(连接到 STM32)

  1. 启动 ST-Link Utility:从开始菜单中找到并打开 “STM32 ST-LINK Utility”。
  2. 连接到目标
    • 在主界面,点击菜单栏上的 “Target” -> “Connect” (或直接点击工具栏上的连接图标)。
    • 如果连接成功,软件会显示目标 STM32 芯片的信息,例如芯片型号、Flash 大小、Option Bytes 等。
    • 如果连接失败,请检查硬件连接、驱动安装和目标芯片供电。常见的错误信息如 “Can not connect to target!”。
  3. 设置 Debug 模式
    • 点击 “Target” -> “Settings”。
    • 在 “Mode” 选项卡中,确保选择了正确的调试模式(通常是 SWD)。
    • 您可以调整 “Frequency”(频率),对于新芯片或连接不稳定的情况,可以尝试降低频率。
    • “Reset Mode” 通常选择 Hardware reset
    • 点击 “OK” 保存设置。

6. 使用 ST-Link Utility

6.1 程序下载 (Program and Verify)

这是 ST-Link Utility 最常用的功能。

  1. 连接到目标:确保已成功连接到 STM32 目标芯片。
  2. 加载固件文件
    • 点击菜单栏上的 “File” -> “Open file…” (或工具栏上的打开文件图标)。
    • 浏览并选择您要烧录的固件文件(.hex, .bin, .elf 等)。
    • 文件加载后,您可以在主界面的 “Flash memory” 区域看到文件的内容。
  3. 下载固件
    • 点击菜单栏上的 “Target” -> “Program & Verify…” (或工具栏上的烧录图标)。
    • 在弹出的窗口中,您可以确认起始地址 (Start address),通常是 0x08000000 (对于 Flash)。
    • 勾选 “Verify programming” (编程后校验) 是个好习惯,可以确保数据传输的正确性。
    • 勾选 “Run after programming” (烧录后运行) 会在烧录完成后自动运行程序。
    • 点击 “Start” 开始烧录。
    • 烧录过程会显示进度和结果。成功后会提示 “Programming complete. Verify successful.”。

6.2 擦除闪存 (Erase)

在烧录新程序或清除旧程序时,可能需要擦除闪存。

  1. 连接到目标
  2. 全片擦除
    • 点击菜单栏上的 “Target” -> “Erase Chip” (或工具栏上的擦除芯片图标)。
    • 软件会提示您确认,点击 “Yes” 即可擦除整个 STM32 芯片的闪存。
  3. 扇区擦除
    • 点击菜单栏上的 “Target” -> “Erase Sector…”。
    • 在弹出的窗口中,您可以指定要擦除的扇区范围。

6.3 读取闪存 (Read)

您可以从 STM32 芯片中读取当前烧录的程序或数据。

  1. 连接到目标
  2. 读取闪存
    • 点击菜单栏上的 “Target” -> “Read” (或工具栏上的读取图标)。
    • 软件会从芯片中读取 Flash 内容,并显示在主界面的 “Flash memory” 区域。
  3. 保存读取的内容
    • 点击菜单栏上的 “File” -> “Save file as…”。
    • 选择保存路径和文件名,以及文件格式(如 .hex, .bin)。

6.4 Option Bytes 配置

Option Bytes 存储了芯片的一些重要配置信息,如读保护、写保护、看门狗、启动模式等。

  1. 连接到目标
  2. 读取 Option Bytes
    • 点击菜单栏上的 “Target” -> “Option Bytes” (或工具栏上的 Option Bytes 图标)。
    • 弹出的窗口会显示当前的 Option Bytes 配置。
  3. 修改 Option Bytes
    • 根据您的需求,修改对应的选项。例如,如果您想启用读保护,将 RDP (Read Protection) 从 Level 0 改为 Level 1
    • 注意:修改 Option Bytes 是敏感操作,请务必了解每个选项的含义,错误的配置可能导致芯片无法正常工作或被锁死。特别是读保护,一旦启用 Level 1 或 Level 2,可能无法再读取芯片内容,甚至需要特殊方法才能解除。
  4. 编程 Option Bytes
    • 修改完成后,点击窗口底部的 “Apply” 按钮,ST-Link Utility 会将新的配置写入芯片。

7. 常见问题与故障排除

  • “Can not connect to target!”
    • 检查电源:目标 STM32 板是否已正确供电?
    • 检查连接:SWD/JTAG 引脚是否正确连接到 ST-Link?GNDVTref 是否连接?
    • 检查驱动:ST-Link 驱动是否正确安装且无冲突?在设备管理器中查看。
    • 芯片状态:芯片是否处于低功耗模式或被锁死?尝试按住目标板的复位按钮再连接。
    • 模式设置:ST-Link Utility 的 Debug 模式是否选择 SWD
    • 频率:尝试降低 ST-Link Utility 中的连接频率。
  • 下载缓慢或失败
    • USB 线缆:尝试更换 USB 线缆。
    • USB 端口:尝试连接到电脑其他 USB 端口。
    • 供电不稳定:确保目标板供电稳定。
  • 忘记密码/读保护导致无法连接
    • 如果启用了读保护 (RDP Level 1),ST-Link Utility 可能无法读取或连接。在 Option Bytes 中将其改回 Level 0 并重新编程,但这会擦除整个 Flash 内容。

8. 总结

ST-Link Utility 是 STM32 开发中不可或缺的工具。通过本指南,您应该已经掌握了其安装、配置和基本使用方法。熟练使用 ST-Link Utility 将大大提高您的开发效率。在进行任何敏感操作(如 Option Bytes 配置)时,请务必小心谨慎,并参考 STM32 芯片的数据手册以了解详细信息。


滚动至顶部