当前位置: 首页 > news >正文

深入解析:STM32 几种烧录方式

目录

  • 串口(UART)烧录
    • 基本介绍
      • 连接方式:
      • Boot 引脚设置:
      • 适用场景:
  • JLINK =JTAG+SWD debug调试起来顺畅无比
    • JTAG
      • 核心定位:
    • SWD
      • 核心定位:
  • CMSIS-DAP Debug调试和蜗牛一样慢
    • 接线图
  • USB DFU(Device Firmware Upgrade)​
    • 基本介绍
      • 连接方式:
      • Boot 引脚设置:
      • 适用场景
  • summary
    • Bootloader mode
    • SWD mode


串口(UART)烧录

在这里插入图片描述

基本介绍

通过 ​USART(串口)​ 烧录程序,需进入 ​Bootloader 模式,适用于无调试器的情况。

连接方式:

USB-TTL 转接器(如 CH340、CP2102):
TX → PA10(STM32 RX)
RX → PA9(STM32 TX)
GND → GND

Boot 引脚设置:

BOOT0 = 1(接 3.3V)
BOOT1 = 0(接 GND)
复位芯片​(进入 Bootloader)
在这里插入图片描述
在这里插入图片描述

烧录后,还要把BOOT0 和BOOT1 再次设置为0, 并且按reset, 程序开始运行。

适用场景:

​量产烧录
​无调试需求
​低成本方案

JLINK =JTAG+SWD debug调试起来顺畅无比

BILIBILI教程:STM32使用Jlink下载视频教程_哔哩哔哩_bilibili
拼多多:
jlink驱动 到百度网盘下载哟!
链接: https://pan.baidu.com/s/1IyDMrk3BYAW7QVbkoEljCA 提取码: qgzs
接线图:
由于有防呆设计,所以很好接线
在这里插入图片描述
在这里插入图片描述

下图检测是否检测到 【我的电脑】->右键管理:
在这里插入图片描述
在这里插入图片描述
Keil 魔术棒Debug设置:
在这里插入图片描述
如果识别不到device, 问卖家要驱动,大概率是驱动不匹配:
在这里插入图片描述

JTAG

(IEEE 1149.1 标准)——“全功能通用调试接口”
在这里插入图片描述
Keil 魔术棒选择 :
在这里插入图片描述
在这里插入图片描述

选择算法
在这里插入图片描述

核心定位:

最经典的通用调试接口,支持 “调试 + 程序下载” 双功能,是跨架构(如 Cortex-M/R/A、FPGA、DSP、部分工业芯片)的 “万能接口”。
关键特点:
引脚:通常需 4 根核心引脚(TCK 时钟、TMS 模式选择、TDI 数据输入、TDO 材料输出),部分场景加 TRST 复位引脚(共 5 根);不包括供电的vcc和接地的gnd;包括就7条。
优势:支持 “多芯片级联调试”(如一块电路板上多个芯片通过 JTAG 链串联,用一个调试器同时调试),功能全面(断点、寄存器 / 内存查看、代码单步执行等);
不足:引脚数量相对多,对 PCB 布线时序要求稍高(高速场景下需控制阻抗)。
主流应用:32 位 MCU 复杂项目(如 STM32H7、NXP i.MX 系列)、FPGA 开发(如 Xilinx、Altera 芯片)、工业控制芯片调试 —— 只要芯片帮助 JTAG,几乎能兼容所有主流 IDE(Keil、IAR、VS Code+GDB)。

SWD

(Serial Wire Debug)——“精简高效调试接口”
在这里插入图片描述

核心定位:

ARM 针对 Cortex-M 系列 MCU 推出的 “精简版调试接口”,是目前 32 位 MCU(尤其是中小规模计划)的绝对主流。
关键特点:
引脚:仅需 2 根(SWCLK 时钟、SWDIO 双向数据),不包括供电的vcc和接地的gnd;包括就4跟;可复用芯片的 GPIO 引脚(部分开发板甚至省略专用调试座,直接从 GPIO 引出);
优势:
引脚少(节省 PCB 空间和芯片引脚资源)、传输效率与 JTAG 相当、抗干扰性更强(双向单线数据传输,减少布线干扰);
不足:仅支持 “单芯片调试”(不支持级联),且主要适配 ARM Cortex-M 架构(少数其他架构芯片兼容)。
主流应用:STM32(如 F1/F4/L4 系列)、Nordic nRF52、TI MSP430(部分型号)等 32 位 MCU 的开发 —— 几乎所有针对 Cortex-M 的开发板(如 STM32 Nucleo、Arduino Portenta)都默认采用 SWD 接口,搭配 ST-Link、DAPLink 调试器即可快速使用.

CMSIS-DAP Debug调试和蜗牛一样慢

拼多多:
DAPLINK下载器资料:https://pan.baidu.com/s/1-jA8HkMfo1ZZ6czyR6Q5lw 提取码:1234

接线图

在这里插入图片描述
在这里插入图片描述
链接USB后出现下面串口:
注意:要是识别不到大概率是USB不支持数据传输:
在这里插入图片描述
Keil 魔术棒->Debug->CMSIS-DAP debugger->Settings出现下面图:
在这里插入图片描述
在这里插入图片描述

USB DFU(Device Firmware Upgrade)​

在这里插入图片描述

基本介绍

通过 ​USB 接口 直接烧录程序,适用于无串口或调试器的情况。

连接方式:

USB 数据线​(D+、D-):
PA11(DM)→ USB D-
PA12(DP)→ USB D+

Boot 引脚设置:

BOOT0 = 1(接 3.3V)
BOOT1 = 0(接 GND)
复位芯片​(进入 DFU 模式)

适用场景

无串口/USB-TTL 时
STM32 带 USB 接口的型号(如 F103、F407)​

summary

swd方式。就是上面的烧录方式分为两种,一种是通过bootloader方式,另外一种

Bootloader mode

串口(UART)烧录和USB DFU(Device Firmware Upgrade)​ 属于bootloader 模式,需要bootloader来进行辅助,不能用来调试,只能用来烧录。
Bootloader 模式是“芯片自己启动后,运行一段脚本来接收新应用”,所以需 BOOT 引脚告诉芯片“启动哪段程序(Bootloader 还是用户程序).

SWD mode

ARM Cortex-M 内核(包括 STM32)专用的调试与编程接口,仅需 2 根线(SWCLK 时钟线、SWDIO 数据线)即可完成:就是SWD 模式是“外部调试器(如 ST-Link)直接‘接管’芯片的硬件资源”,不需芯片先启动任何程序——调试器可直接向芯片内核发送指令,控制 Flash 擦除/写入,自然不需要 BOOT 引脚的“路径选择”。SWD
(1)对芯片 Flash 进在线编程”(烧录程序);
(2)实时调试(设置断点、查看寄存器/内存、单步执行);
(3)读取芯片信息(如型号、Flash 大小)。
它的核心作用是与芯片内核直接通信,绕过了芯片正常启动时的BOOT 引脚路径选择逻辑——这是它不需设置 BOOT 引脚的根本原因。

http://www.jsqmd.com/news/78943/

相关文章:

  • 决策树模型实战指南:避免过拟合、欠拟合与无关特征
  • 2025年最后一个月,公司需要注意什么?
  • 可信数据空间:驱动社会高质量发展的“数字基石”,必要性无可替代
  • YashanDB数据库的读写分离策略分析
  • 3步搭建量化投资自动化分析系统:告别Excel手动操作
  • HarmonyOS 5 极致动效实验室:给 UI 注入“物理动效”
  • 自动驾驶汽车与利益相关者互动的功能安全与网络安全分析高效的方法
  • 基于Web的低代码系统的研究与实现中期检查
  • Airflow - AirflowSkipException
  • 2023马士兵Java后端工程师
  • 如何快速实现离线人脸识别:FaceAISDK完整指南
  • springboot基于vue的比亚迪新能源汽车销售系统的设计与实现_1061pdmq
  • springboot基于vue的拜泉县房屋拆迁安置信息管理系统设计与实现_yt2m39o4
  • Nextcloud文件压缩下载实用指南:轻松管理云端文件
  • springboot基于vue的故宫博物馆文创网店商城系统的设计与实现_oj61901i
  • 什么是UUID,怎么组成的?
  • 基于web的电影交流分享平台的设计与实现开题报告
  • YashanDB数据库的多活架构设计及实施要点.
  • Simple Form性能优化完整指南:5个实用技巧让Rails表单快如闪电
  • 基于WEB的多媒体素材管理库的开发与应用任务书
  • springboot基于vue的教师绩效考核系统 年度优秀单位组织评选系统设计与实现_a30c2x4o
  • GPT-5.2 成为“元宇宙”的创世神:虚拟世界的灵魂与下一代沉浸式计算
  • 内网渗透之横向移动持久化远程控制篇——利用ipc、sc、schtasks、AT,远程连接的winrm,wmic的使用和定时任务的创建
  • Vue Flow与Pinia状态管理实战指南:构建高效可视化应用
  • 为什么你的滑动窗口总是写不对?
  • 基于web的二手书交易平台设计与实开题报告
  • Android高斯模糊终极指南:Blurry库完全解析
  • YashanDB数据库的多活架构设计与实施经验分享
  • 计算机毕业设计springboot基于Java的游乐园管理系统设计与实现 基于Spring Boot框架的Java游乐园综合管理系统开发与应用 Java技术驱动的Spring Boot游乐园运营管理系
  • springboot基于vue的春节物资购买平台的设计与实现_88a5r046