单片机 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寄存器用于开发者的编程操作,类似普通外设的寄存器。
➡️