STM32 ST-LINK Utility 使用教程与下载 – wiki基地

STM32 ST-LINK Utility 使用教程与下载

1. 引言

STM32微控制器是STMicroelectronics公司基于ARM Cortex-M内核开发的一系列32位微控制器,广泛应用于嵌入式系统开发。在STM32的开发过程中,程序下载和调试是不可或缺的环节。ST-LINK是STMicroelectronics推出的一系列在线调试器和编程器,用于STM8和STM32微控制器的烧录与调试。而ST-LINK Utility,顾名思义,是STMicroelectronics官方提供的一款图形用户界面(GUI)工具,用于配合ST-LINK硬件对STM32芯片进行程序烧录、擦除、读保护、写保护等操作,极大地简化了开发流程。

2. 什么是ST-LINK Utility?

ST-LINK Utility是STMicroelectronics开发的一款免费软件,它允许用户通过ST-LINK调试器与STM32微控制器进行通信。它提供了一个直观的界面,用于管理微控制器的闪存(Flash)内容,包括:

  • 程序下载(Program Download):将编译好的固件(通常是.hex, .bin, .elf文件)烧录到STM32的内部闪存中。
  • 芯片擦除(Chip Erase):擦除整个芯片的闪存内容。
  • 扇区擦除(Sector Erase):擦除指定区域的闪存内容。
  • 读取闪存内容(Read Flash):将芯片内的程序读取出来并保存为文件。
  • 校验(Verify):检查烧录到芯片中的程序是否与源文件一致。
  • 读保护与写保护(Read/Write Protection):设置芯片的保护级别,防止代码被非法读取或修改。
  • 选项字节配置(Option Bytes Configuration):配置芯片的一些特殊功能,如启动模式、看门狗等。

3. ST-LINK Utility 的主要功能

  • 直观的用户界面:易于上手,功能分区明确。
  • 支持多种固件格式:支持.hex, .bin, .elf等常见的固件文件格式。
  • 全面的闪存操作:提供下载、上传、擦除、校验等全套闪存管理功能。
  • 安全保护功能:读保护和写保护功能确保代码安全。
  • 选项字节配置:方便用户根据需求配置芯片行为。
  • 支持多种ST-LINK版本:兼容ST-LINK/V1, ST-LINK/V2, ST-LINK/V2-1, ST-LINK/V3等。
  • 实时状态显示:显示连接状态、芯片信息、操作进度等。

4. ST-LINK Utility 下载

ST-LINK Utility是STMicroelectronics官方免费提供的软件。下载步骤如下:

  1. 访问STMicroelectronics官方网站
    通常,您可以在ST官方网站的产品页面或软件工具页面找到它。在搜索引擎中搜索“ST-LINK Utility”或“STM32CubeProgrammer”(较新版本ST-LINK Utility功能已整合到STM32CubeProgrammer中)。
  2. 查找并下载软件
    如果您需要的是旧版的ST-LINK Utility,通常其名称为“ST-LINK Utility”。但STMicroelectronics目前更推荐使用功能更强大的STM32CubeProgrammer,它包含了ST-LINK Utility的所有功能并提供了更多高级特性。

    • 推荐下载STM32CubeProgrammer:在ST官网搜索 “STM32CubeProgrammer”,进入其产品页面,找到“Get Software”或“Download”按钮。您可能需要注册一个ST账户才能下载。
    • 直接下载链接示例(可能会更新,请以官网为准)
      前往 www.st.com,在搜索框中输入 “STM32CubeProgrammer”,找到对应的软件页面,点击下载按钮。

下载的文件通常是一个安装包(例如 .exe 文件)。

5. ST-LINK Utility (或STM32CubeProgrammer) 安装步骤

以Windows系统为例,安装过程通常非常直接:

  1. 运行安装程序:双击下载的安装包文件(例如 st-stm32cubeprog-win.exe)。
  2. 接受许可协议:阅读并同意STMicroelectronics的软件许可协议。
  3. 选择安装路径:可以选择默认安装路径或自定义安装路径。
  4. 安装驱动程序:安装程序会提示您安装ST-LINK驱动程序。这是非常关键的一步,请务必勾选并安装,否则您的电脑将无法识别ST-LINK调试器。
  5. 完成安装:按照安装向导的指示完成安装。

安装完成后,您可以在开始菜单或桌面找到“STM32CubeProgrammer”或“ST-LINK Utility”的快捷方式。

6. 使用ST-LINK Utility (以STM32CubeProgrammer为例)

由于STM32CubeProgrammer是ST-LINK Utility的增强版,我们以其为例进行说明。操作流程基本一致。

6.1 硬件连接

  1. 连接ST-LINK到电脑:使用USB线将ST-LINK调试器连接到您的电脑。
  2. 连接ST-LINK到STM32板:通过SWD(Serial Wire Debug)或JTAG接口将ST-LINK连接到您的STM32开发板。
    • SWD接口通常需要VCC、GND、SWDIO、SWCLK这四根线。
    • 确保电源正确连接,STM32板子已经上电。

6.2 启动软件并连接

  1. 打开STM32CubeProgrammer:启动安装好的软件。
  2. 选择ST-LINK连接方式
    在软件界面的右上角,找到“Connect”按钮旁边的下拉菜单。确保选择了“ST-LINK”。
    STM32CubeProgrammer Connect Interface
  3. 点击“Connect”按钮:软件将尝试连接到您的STM32微控制器。如果连接成功,界面会显示芯片的详细信息,如闪存大小、芯片ID等。
    • 如果连接失败,请检查硬件连接、驱动安装、STM32板子供电以及芯片是否处于正常工作模式。

6.3 烧录程序(Program)

  1. 加载固件文件
    在左侧菜单栏中选择“Open file”图标(通常是一个文件夹图标),然后浏览并选择您要烧录的固件文件(.hex, .bin, .elf等)。
    STM32CubeProgrammer Load File
  2. 配置烧录选项
    • Start address:如果您的固件是.bin文件,需要手动指定烧录的起始地址,通常是0x08000000(STM32内部闪存的起始地址)。.hex.elf文件通常包含地址信息,无需手动指定。
    • Erase programming:勾选此选项会在烧录前自动擦除扇区。
    • Verify programming:勾选此选项会在烧录后自动校验。
  3. 开始烧录
    点击“Download”或“Start Programming”按钮。软件将显示烧录进度。
    STM32CubeProgrammer Program Button
  4. 等待完成:烧录完成后,软件会显示“Programming complete”或类似信息。

6.4 擦除芯片(Erase Chip)

  1. 保持连接:确保已成功连接到STM32芯片。
  2. 选择擦除选项
    在左侧菜单栏中找到“Erase”选项卡或图标。

    • Full chip erase:擦除整个闪存。
    • Sector erase:擦除指定地址范围的闪存。
  3. 执行擦除:点击相应的擦除按钮。

6.5 读取闪存内容(Read Flash)

  1. 保持连接:确保已成功连接到STM32芯片。
  2. 选择读取选项
    在左侧菜单栏中找到“Read”选项卡或图标。

    • 指定读取的起始地址和大小。
  3. 保存文件:选择保存路径和文件名,然后点击“Read”按钮。芯片中的程序将被读取并保存为指定文件。

6.6 配置选项字节(Option Bytes)

  1. 保持连接:确保已成功连接到STM32芯片。
  2. 进入Option Bytes界面
    在左侧菜单栏中选择“Option Bytes”选项卡。
  3. 修改配置
    根据需要修改读保护(RDP)、看门狗、启动模式等选项。
  4. 应用更改
    点击“Apply”或“Program Option Bytes”按钮,将更改写入芯片。

7. 常见问题与故障排除

  • “Can not connect to target!” 或连接失败
    • 检查硬件连接:VCC、GND、SWDIO、SWCLK是否正确连接,ST-LINK是否与电脑连接。
    • 检查电源:STM32开发板是否已正确供电。
    • 驱动问题:确认ST-LINK驱动程序已正确安装。可以在设备管理器中查看。
    • 复位芯片:尝试在连接前或连接时复位STM32芯片。
    • 低功耗模式/代码卡死:如果芯片运行的程序使SWD/JTAG引脚进入复用功能或低功耗模式,可能导致ST-LINK无法连接。尝试按住复位键不放,然后点击连接,或者在连接前选择“Connect Under Reset”选项(如果软件提供)。
    • 保护级别:如果芯片设置了高级读保护(Level 2),ST-LINK可能无法连接或需要先进行全面擦除才能重新连接。
  • 烧录速度慢
    • 确保USB线质量良好。
    • 检查ST-LINK固件是否为最新版本(STM32CubeProgrammer通常会提示更新)。
  • 烧录后程序不运行
    • 启动地址:检查.bin文件烧录的起始地址是否正确(0x08000000)。
    • 复位:烧录完成后,手动复位STM32板子。
    • 代码问题:检查您的程序代码是否存在问题,例如时钟配置、中断设置等。

8. 总结

ST-LINK Utility(或其现代替代品STM32CubeProgrammer)是STM32开发中不可或缺的工具。它提供了一个强大而用户友好的界面,用于管理STM32微控制器的闪存。通过熟练掌握其下载、安装和使用方法,可以大大提高STM32开发的效率和便捷性。在使用过程中,遇到问题时,请仔细检查硬件连接、驱动安装和软件配置,通常可以解决大部分连接和烧录问题。

滚动至顶部