单片机 SWD 下载通信底层原理

💡 原文中文,约1800字,阅读约需5分钟。
📝

内容提要

基于Cortex-M内核的单片机,主流的下载接口是JTAG和SWD。SWD是一种不错的选择,只需要两根线。常见的Cortex-M内核处理器都集成了SWD和JTAG调试端口。SW-DP有不同的状态和内部ID代码,开发者可以对其进行编程操作。

🎯

关键要点

  • 基于Cortex-M内核的单片机主流下载接口是JTAG和SWD。
  • JTAG接口包括TDI、TDO、TCK、TMS和TRST引脚。
  • SWD接口只需要SWCLK和SWDIO两根线,适合引脚资源紧张的PCB布局。
  • SWD是ARM设计的串行线调试协议,用于微控制器编程和调试。
  • 市面上有多种支持SWD的下载器,如ST-Link、J-Link等。
  • SWDIO是双向数据引脚,需在电路板上进行上拉。
  • SWD的切换机制默认使用JTAG接口,通过特定序列切换到SW-DP。
  • SW协议序列包括数据包请求、确认响应和数据传输阶段。
  • SW-DP状态机有复位、空闲状态和ID代码等状态。
  • SW-DP寄存器用于开发者的编程操作,类似普通外设的寄存器。
➡️

继续阅读