单片机 SWD 下载通信底层原理_第1页
单片机 SWD 下载通信底层原理_第2页
单片机 SWD 下载通信底层原理_第3页
单片机 SWD 下载通信底层原理_第4页
单片机 SWD 下载通信底层原理_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于Cortex-M内核的单片机,目前主流的下载接口就是JTAG和SWD。

SWD和JTAG引脚区别:JTAG:TDI:TestDataIn。串行输入引脚TDO:TestDataOut,串行输出引脚TCK:TestClock,时钟引脚TMS:TestModeSelect,模式选择(控制信号)引脚TRST:TestReset,复位引脚SWD:SWDIO:SerialWireDataInputOutput,串行数据输入输出引脚SWCLK:SerialWireClock,串行线时钟引脚其中SWD只需要两根线(SWCLK和SWDIO),在PCB布局有限、引脚资源紧张的情况下,SWD算是一种不错的选择。SWD简介SWD:SerialWireDebug,代表串行线调试,是ARM设计的协议,用于对其微控制器进行编程和调试。

市面上支持SWD调试接口的下载器很多,比如:ST-Link、J-Link、 e-Link、GD-Link等市面上绝大部分用于Cortex-M内核处理器的下载器都支持。

对于SWDIO,是双向(输入输出)数据引脚,必须在电路板上对线路进行上拉(ARM建议采用100K)。

每次在协议中更改SWDIO的方向时,都会插入转换时间,此时线路即不受主机驱动也不受目标驱动。默认情况下,此转换时间为一位时间,但可以通过配置SWCLK频率来调整。调试接口常见的Cortex-M内核处理器都集成了SWD和JTAG调试端口,在SWJ-DP中,SW-DP的2个JTAG引脚与JTAG-DP的5个JTAG引脚中的部分引脚复用。

JTAG与SWD的切换机制:默认调试接口是JTAG接口,如果调试工具想要切换到SW-DP,它必须在TMS/TCK(分别映射到SWDIO和SWCLK)上提供专用的JTAG序列,用于禁止JTAG-DP并使能SW-DP。这样便可仅使用SWCLK和SWDIO引脚来激活SWDP。该序列为:1.输出超过50个TCK周期的TMS(SWDIO)=1信号2.输出16个TMS(SWDIO)信号0111100111100111(MSB)3.输出超过50个TCK周期的TMS(SWDIO)=1信号SW协议序列每个序列包括三个阶段:主机发送的数据包请求(8位)目标发送的确认响应(3位)主机或目标发送的数据传输阶段(33位)数据包请求(8位):

ACK响应(3位):

DATA传输(33位)

这种类似于寄存器的一些Bit位操作,底层的一些原理与普通的通信协议也有类似之处。。SW-DP状态SW-DP的状态机有一个用于标识SW-DP的内部ID代码,其中主要包含的状态:复位、空闲状态、ID代码等。在上电复位后、DP从JTAG切换到SWD后或者线路处于高电平超过50个周期后,SW-DP状态机处于复位状态。如果在复位状态后线路处于低电平至少两个周期,SW-DP状态机处于空闲状态。复位状态后,该状态机必须首先进入空闲状态,然后对DP-SWIDCODE寄存器执行读访问。否则,目标将在另一个事务上发出FAULT确认响应。SW-DP状态机的更多详细信息,可以参看

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论