【嵌入式开发】stm32 st-link 烧录

devtools/2025/1/21 1:45:26/

使用 ST-Link 烧录 STM32 的程序可以通过多种工具实现,例如 STM32CubeProgrammer、Keil、IAR、以及 OpenOCD。以下是通用的步骤说明:


准备工作

  1. 硬件准备

    • 确保 ST-Link 调试器与 STM32 芯片引脚正确连接:
      • SWDIO (SWD 数据线) 接至 STM32 的 SWDIO 引脚。
      • SWCLK (SWD 时钟线) 接至 STM32 的 SWCLK 引脚。
      • GND 接至 STM32 的 GND 引脚。
      • 如果使用外部供电,还需将 VCC 接至 STM32 的供电引脚。
  2. 软件准备

    • 下载并安装烧录软件,例如 STM32CubeProgrammer。
    • 安装 ST-Link 的 USB 驱动程序(随 STM32CubeProgrammer 或单独提供)。

步骤 1:连接 ST-Link 与 STM32

  1. 将 ST-Link 通过 USB 线连接到电脑。
  2. 将 ST-Link 的 SWD 接口连至 STM32 开发板(确保芯片通电)。
  3. 打开 STM32CubeProgrammer,确认设备已正确识别。
    • 在顶部选择 ST-Link 连接类型。
    • 点击 Connect 按钮,连接成功后会显示 STM32 的设备信息。

步骤 2:选择固件并烧录

  1. 加载固件文件

    • 在软件中选择 Erasing & Programming 标签。
    • 点击 Browse 按钮,选择需要烧录的 .hex.bin 文件。
  2. 配置烧录选项

    • 设置烧录的起始地址(通常默认 0x08000000,STM32 的 Flash 起始地址)。
    • 如果需要完全擦除芯片,可勾选 Full chip erase 选项。
  3. 开始烧录

    • 点击 Start Programming 按钮,软件会擦除芯片、烧录新程序并验证。

步骤 3:验证与调试

  1. 烧录完成后,可以查看程序是否正确运行(例如通过 LED 灯闪烁测试)。
  2. 如果需要调试代码,可使用支持 ST-Link 的 IDE,例如 Keil 或 IAR。

注意事项

  • 电压匹配:确保 ST-Link 的工作电压与 STM32 的供电电压匹配(通常为 3.3V)。
  • 防止接口冲突:检查是否其他工具或程序占用了 ST-Link。
  • 芯片保护:如果 STM32 的读保护开启,需要先通过 STM32CubeProgrammer 解锁芯片。

如果遇到具体问题或错误提示,可以提供详细信息,我可以帮助进一步排查问题。


http://www.ppmy.cn/devtools/152236.html

相关文章

基于Linux系统指令使用详细解析

一 Linux系统常用操作命令编辑快捷 1.1终端快捷键: Ctrl a/Home 切换到命令行开始 Ctrl e/End 切换到命令行末尾 Ctrl l 清除屏幕内容,效果等同于 clear Ctrl u 清除剪切光标之前的内容 Ctrl k 剪切清除光标之后的内容 Ctrl y 粘贴刚才所删…

swin transformer中相对位置编码解析

在论文中,作者发现相对位置编码的效果会更好一些。 代码的实现为: # get pair-wise relative position index for each token inside the windowcoords_h torch.arange(self.window_size[0])coords_w torch.arange(self.window_size[1])coords tor…

51c自动驾驶~合集48

我自己的原文哦~ https://blog.51cto.com/whaosoft/13133866 #UDMC 考虑轨迹预测的统一决策控制框架 论文:https://arxiv.org/pdf/2501.02530 代码:​​https://github.com/henryhcliu/udmc_carla.git​​ 1. 摘要 当前的自动驾驶系统常常在确…

Java 8 Stream API

文章目录 Java 8 Stream API1. Stream2. Stream 的创建3. 常见的 Stream 操作3.1 中间操作3.2 终止操作 4. Stream 的并行操作 Java 8 Stream API Java 8 引入了 Stream API,使得对集合类(如 List、Set 等)的操作变得更加简洁和直观。Stream…

gitignore忽略已经提交过的

已经在.gitignore文件中添加了过滤规则来忽略bin和obj等文件夹,但这些文件夹仍然出现在提交中,可能是因为这些文件夹在添加.gitignore规则之前已经被提交到Git仓库中了。要解决这个问题,您需要从Git的索引中移除这些文件夹,并确保…

1161 Merging Linked Lists (25)

Given two singly linked lists L1​a1​→a2​→⋯→an−1​→an​ and L2​b1​→b2​→⋯→bm−1​→bm​. If n≥2m, you are supposed to reverse and merge the shorter one into the longer one to obtain a list like a1​→a2​→bm​→a3​→a4​→bm−1​⋯. For ex…

如何用selenium来链接并打开比特浏览器进行自动化操作(1)

前言 本文是该专栏的第76篇,后面会持续分享python爬虫干货知识,记得关注。 本文,笔者将基于“比特浏览器”,通过selenium来实现链接并打开比特浏览器,进行相关的“自动化”操作。 值得一提的是,在本专栏之前,笔者有详细介绍过“使用selenium或者pyppeteer(puppeteer)…

InVideo AI技术浅析(二):自然语言处理

InVideo AI的自然语言处理(NLP)模块是整个系统中的关键部分,负责处理和分析用户输入的文本数据,以实现智能化的视频生成和编辑功能。 1. 文本解析与理解 1.1 文本解析过程 文本解析是将用户输入的自然语言文本转换为机器可理解的格式的过程。解析过程可以分为以下几个步…