1.SWD协议分析(附SWD离线源码)
SWD协议分析(附SWD离线源码)
SWD协议分析内容
SWD协议的源码基本信息比特序,即数据传输顺序为最低有效位优先,源码先传输低位数据,源码后传输高位数据。源码例如,源码对OK的源码电脑编程源码编辑ACK响应数据为0b,先传输低位1,源码再传输高位0。源码
SWD的源码传输闲置状态为空闲周期,主机通过将SWDCLK时钟拉低来代表空闲时期。源码
ARM SWD采用单条双向数据连接线(SWDIO),源码为了防止主机与设备间的源码竞争,在传输方向变化时需要线路周转,源码c 下载网站源码此期间主机与设备均不驱动数据线,源码数据线状态不确定。源码周转时间长度由DLCR寄存器的TURNROUND位控制,默认为一个时钟周期。
在数据传输过程中,SWD使用偶校验,dp协议栈源码传输数据中为1的个数为偶数则结果为0,否则为1。
数据基本传输流程包括数据传输方向和开始条件。ORUNDETECT标志位代表超时检测模式,该模式允许长时间高吞吐量连接,上电后默认禁用。漂亮个人网站源码数据传输步骤包括写请求和读请求,写请求在ACK阶段和数据传输阶段有一个周转期,读请求在数据传输阶段后存在周转期。
数据包请求后始终为转换时间,此时主机和目标均不驱动线路。ACK响应包含转换时间,新闻文章系统源码仅在发生READ事务或接受WAIT或FAULT确认时需要。DATA传输包含转换时间,仅在READ事务中存在。
数据传输完毕后,主机需进行操作。SWD寄存器介绍包括SW-DP状态机、SW-DP寄存器和SW-AP寄存器。状态机有内部ID代码,目标读取前状态机不工作。APnDP值决定访问这些寄存器。
AHB-AP具有位AHB-DP寄存器,地址宽度为6位,最多达字节或字节。
SWD协议的操作包括成功写入和读取操作。写入操作在主机接收到OK的ACK响应后立即开始数据传输,无需周转期。读取操作在数据传输完毕后存在周转期。
从JTAG切换到SWD操作涉及位JTAG到SWD选择序列,包括读取芯片ID、清除错误标志位和使能AP调试。读取MCU任意寄存器需发送两次读操作或一次读操作后发送一次读RDBUFF寄存器操作。写入MCU任意寄存器需参考相关文档。
具体操作流程和更多细节可参阅相关文档资料和源码。附件包含ARM调试接口架构规范和DAPProg源码。