问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

ARM调试接口——PART B.4 SWD协议解析

发布网友 发布时间:2024-09-05 04:36

我来回答

1个回答

热心网友 时间:2024-11-30 09:36

SWD协议解析

SWD协议,即Serial Wire Debug(串行线调试)协议,是ARM公司为调试设备开发的一套标准接口协议,主要用于点对点架构的调试连接。SWD协议分为v1和v2两个版本,v1版本为单点对点架构,只支持单个主机和单个设备的连接,而v2版本为多点架构,增加了对多个串行调试设备连接的支持,但同时也引入了*最大连接速度的trade off。

SWD协议v1中,总线传输的比特序为最低有效位优先(LSB),数据传输遵循最低位先传输的原则。SWD的传输闲置状态称为空闲周期,主机通过将SWDIO线拉低并驱动时钟来插入空闲周期。在SWD的第二个版本中,为了支持休眠状态,需要在实现中考虑与第一个版本之间的兼容问题。

在SWD中,所有数据传输遵循低位优先的原则,如OK的ACK响应数据为0b001,传输顺序为最低位1,然后是0,最后是最高位0。线路周转是指在数据传输方向变化时,需要一个时间段让主机与设备均不驱动数据线,数据线在此期间的电平状态不定。

Arm SWD接口使用一个双向数据连接线(SWDIO)和一个时钟线(SWCLK)进行数据传输。基本传输流程分为数据包请求、ACK响应和数据传输三个阶段。在数据传输阶段,ORUNDETECT标志位决定了超时检测模式的开启状态,该模式允许长时间和高吞吐量的连接,但默认禁用。在数据传输过程中,会使用偶校验进行校验,将奇偶校验位加在数据传输后,主机应只对Bits 3-34进行校验,与Bit 35比较是否一致。

每个设备需要使用一个包含4bit的实例ID(instance ID)作为唯一的设备ID(target ID),用于连接过程中的设备区分。上电后,所有设备都会被主机选中,除非预先使用设备ID进行选中,否则主机将无法与设备进行通信。

SWD v2协议在多点架构中存在一些局限性,如连接过程需要满足特定条件,调试主机无法无缝连接到先前未连接的设备,除非主动提供设备的目标ID。此外,SWD v2还对设备提出了一些要求。

SWD协议的具体操作包括成功写入操作、成功读取操作、等待操作和发生错误的操作。写入操作与读取操作的流程相似,但在数据传输阶段结束后的操作有所不同。在等待操作中,设备在无法立即响应主机请求时发出WAIT响应。发生错误时,设备发出FAULT响应。

在协议执行过程中,可能会出现协议错误,设备将不返回任何数据且不会驱动总线。当设备进入协议错误状态时,设备的行为和主机的响应也会有所不同。如果启用了超时检测功能,需要等待数据传输阶段结束才能进入协议错误状态。

SWD协议还支持写入数据缓存功能,调试端口可以缓存写入操作,以处理多个事务。当写入操作被接受后,可能会被丢弃,此时CTRL/STAT寄存器中的WDATAERR标志会被置位。

设备对于AP事务和DP事务的响应也有所区别。DP事务的访问取决于所要访问的寄存器,而AP事务的访问则取决于访问的寄存器和设备的当前状态。

最后,SWD接口使用串行同步接口,包含一个双向数据信号和一个时钟信号。物理SWD接口由双向数据引脚(SWDIO)和时钟引脚(SWCLK)组成。总线接口要求设备在SWCLK的上升沿采样数据,并在SWCLK的上升沿改变驱动状态。接口需要能够接受因为失去同步而带来的短时间竞争现象,并且时钟信号不需要与任何系统时钟同步。

为了确保在进行热插拔时不会造成意外的串行连接,需要使用线路重置序列。SWD接口并不包含复位信号线,通过将数据信号线保持高电平,持续至少50个周期,随后保持至少两个的空闲周期,即可实现线路复位。首次连接到设备时,需要进行线路重置,发生协议错误后可能也需要进行线路重置。

在进行完线路重置后,设备会进入复位状态,此时只有部分传输操作有效。在复位状态下,只有在立即对TARGETSEL寄存器进行写入才能选中或取消选中设备。如果主机在尝试读取DPIDR寄存器时没有收到预期的响应,那么主机应当再次尝试进行线路重置。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
成都汇众益智游戏学院怎么样 为什么苹果手机屏幕老是自动滚上去? roughness test什么意思 国家标准打印纸为每包500张,小雨同学家里新买—包打印 纸,她想练习... 谁知道卡布奇诺含义 卡布奇诺咖啡历史 电脑针式打印纸有哪些规格? 外籍人才招聘 接种甲肝疫苗会出现什么不良反应 中华人民共和国境内的任何人均应接种哪些疫苗 永嘉瓯北培元中学招生电话号码多少 办理低保居委会有授权委托书能查赡养人吗 志高洗衣机E4鸣叫 看说明是水位传感器 出什么问题了 ,该怎么办,短时间... 食道癌术后吃饭往上顶 家人得了肺癌,已经做过了化疗,现在状态还可以。怎么现在肩膀和手臂等处... 肿瘤患者放化疗期间的营养治疗原则 得了贲门癌,吃什么药好 淘宝兼职主播干什么的?淘宝主播主要做什么? 改一下外衣,是改肥瘦好改还是该长短好改? 翟骊的扮演者 简知App联手中国邮政,助力职场人“醒神开工” 在带团爬山过程中有一对夫妇要中途退团导游人员应如何处理?_百度... 谁用过简知书院,靠谱吗 遭遇旅游纠纷的维权途径 1·22河北秦皇岛除夕凶杀案微博通缉 刘志祥被判死缓 湖口欧臣ktv杀人9月11号 武汉社会保险比例单位和个人是多少? 第三者责任保险的保险金额分别为 职工社会保险比例单位和个人各承担多少? 点对点协议协议简介 链路层协议有哪些 薏米粉和杏仁粉一起喝的好处 还有吃薏米的好处 薏米杏仁粉的作用有哪些 怎样乘车去尖峰岭,尖峰岭好玩的景区推荐一下 尖峰岭雨林谷度假酒店酒店交通 尖峰岭国家森林公园交通 2020海南恢复客运汇总 海口汽车西站发班时间 房屋租赁合同没到期出租人是否有权提前收回房屋 合同没到期出租人有权收回房屋吗 哪些情形出租人可收回房屋 房屋出租后出租人有占有权吗,房屋出租人有哪些权利和义务? 哪些情况下私房出租人有权收回房屋 完事后怎样防止怀孕 怎么样预防怀孕 化粪池满了如何办 蛀牙需要补牙吗 蛀牙要去补牙的多长时间 蚊虫叮咬后,白斑部位能用花露水吗? 被蚊子咬了可以用花露水吗