一种基于单线的SWD调试系统及方法技术方案

技术编号:37865143 阅读:11 留言:0更新日期:2023-06-15 20:54
本发明专利技术提供一种基于单线的SWD调试系统及方法,包括调试器和调试目标;调试目标包括单线模块和调试内核;调试器用于基于接收到的调试指令生成基于SWD调试协议的数据帧,并基于单线发送至单线模块;数据帧的帧头的start、stop和park取值为101时,表示所述数据帧为调试数据帧;当帧头的start、stop和park取值为010时,表示数据帧为单线模块数据帧;单线模块用于在接收到的数据帧为调试数据帧时,将数据帧发送至调试内核;在接收到的数据帧为单线模块数据帧时,对数据帧进行读写处理;调试内核用于基于接收到的数据帧进行调试处理。本发明专利技术的基于单线的SWD调试系统及方法能够基于一个管脚实现调试器与调试目标之间的单线调试,从而减少调试期间对管脚资源的占用。而减少调试期间对管脚资源的占用。而减少调试期间对管脚资源的占用。

【技术实现步骤摘要】
一种基于单线的SWD调试系统及方法


[0001]本专利技术涉及一种调试系统及方法,特别是涉及一种基于单线的SWD调试系统及方法。

技术介绍

[0002](Serial Wire Debug,SWD)是ARM公司的一种双线同步调试接口。其中,ADI5.0 to ADI5.2的SWD调试协议描述SWD为一根数据线(SWDIO)和一根时钟线(SWCLK)组成的同步通讯接口,此接口可以对以ARM为核心的微控制单元(Microcontroller Unit,MCU)进行调试。
[0003]SWD调试协议规定SWD的数据帧都由主机发起,从机被动响应,主机发起的通讯行为只有读、写两种。所述SWD的数据帧由3个部分组成,读写数据帧分别如图1和图2所示。其中,header为数据帧头,ack为从机给主机的响应,wdata为主机对从机写数据,rdata为主机对从机读数据。header共包含8个bit,结构如图3所示,各个bit位的含义如表1所示。
[0004]表1、SWD协议的基本操作说明
[0005][0006]SWD调试协议规定header中的start、stop和park的取值固定为1、0和1。ack响应为3个bit,真值表如表2所示。
[0007]表2、ack响应的真值表
[0008][0009][0010]如图4所示,现有技术中基于ARM SWD协议的调试系统通常由调试目标、调试器和
上位机组成。通常调试目标为MCU;调试器采用通用调试器,如JLINK、ULINK、DP

LINK等。其中,上位机作为主机,调试目标作为从机。在调试时,调试器是主机和从机之间的软件协议桥梁。优选地,上位机和调试器之间采用USB通讯,调试器解析上位机通过USB发送的满足USB协议的数据,将解析得到的数据基于SWD调试协议通过SWCLK和SWDIO对从机进行调试控制、状态监测以及程序下载等操作。
[0011]上述的基于SWD调试协议的调试方法采用MCU的两个管脚作为调试接口。对于MCU通常采用,尤其是小封装的MCU,其管脚数目非常少,而用户对MCU的GPIO和功能管脚数量要求又很高。因此,基于SWD调试协议进行调试时,挤占了用户可使用的管脚资源,影响了MCU的有效运行。

技术实现思路

[0012]鉴于以上所述现有技术的缺点,本专利技术的目的在于提供一种基于单线的SWD调试系统及方法,能够基于一个管脚实现调试器与调试目标之间的单线调试,从而减少调试期间对管脚资源的占用。
[0013]为实现上述目的及其他相关目的,本专利技术提供一种基于单线的SWD调试系统,包括调试器和调试目标;所述调试目标包括单线模块和调试内核;所述调试器用于基于接收到的调试指令生成基于SWD调试协议的数据帧,并基于单线发送至所述单线模块;所述数据帧的帧头的start、stop和park取值为101时,表示所述数据帧为调试数据帧;当所述帧头的start、stop和park取值为010时,表示所述数据帧为单线模块数据帧;所述单线模块用于在接收到的数据帧为所述调试数据帧时,将所述数据帧发送至所述调试内核;在接收到的数据帧为单线模块数据帧时,对所述数据帧进行读写处理;所述调试内核用于基于接收到的数据帧进行调试处理。
[0014]于本专利技术一实施例中,所述数据帧的帧头包括8个bit,分别为start、RnW、a[0:2]、partiy、stop和park;其中RnW为读写识别位,a[0:2]为单线模块寄存器地址位,parity为RnW和a[0:2]的奇偶校验位。
[0015]于本专利技术一实施例中,所述单线模块还用于在接收到所述数据帧的帧头后,发送ACK响应至所述调试器;当所述ACK响应为100时,表示接收正确;当所述ACK响应为011时,表示奇偶校验位错误。
[0016]于本专利技术一实施例中,所述数据帧的读数据和写数据满足SWD调试协议。
[0017]于本专利技术一实施例中,还包括上位机,所述上位机用于发送所述调试指令至所述调试器。
[0018]本专利技术提供一种基于单线的SWD调试方法,包括以下步骤:
[0019]调试器基于接收到的调试指令生成基于SWD调试协议的数据帧,并基于单线发送至调试目标的单线模块;所述数据帧的帧头的start、stop和park取值为101时,表示所述数据帧为调试数据帧;当所述帧头的start、stop和park取值为010时,表示所述数据帧为单线模块数据帧;
[0020]所述单线模块在接收到的数据帧为所述调试数据帧时,将所述数据帧发送至所述调试目标的调试内核,以使所述调试内核基于接收到的数据帧进行调试处理;在接收到的数据帧为单线模块数据帧时,对所述数据帧进行读写处理。
[0021]于本专利技术一实施例中,所述数据帧的帧头包括8个bit,分别为start、RnW、a[0:2]、partiy、stop和park;其中RnW为读写识别位,a[0:2]为单线模块寄存器地址位,parity为RnW和a[0:2]的奇偶校验位。
[0022]于本专利技术一实施例中,所述单线模块还用于在接收到所述数据帧的帧头后,发送ACK响应至所述调试器;当所述ACK响应为100时,表示接收正确;当所述ACK响应为011时,表示奇偶校验位错误。
[0023]于本专利技术一实施例中,所述数据帧的读数据和写数据满足SWD调试协议。
[0024]于本专利技术一实施例中,还包括上位机用于发送调试指令至所述调试器。
[0025]如上所述,本专利技术的基于单线的SWD调试系统及方法,具有以下有益效果:
[0026](1)能够基于一个管脚实现调试器与调试目标之间的单线调试,从而减少调试期间对管脚资源的占用;
[0027](2)调试管脚还可以提供测试、通讯等功能,提升了调试目标的管脚资源的利用率,极大地提升了调试目标的应用灵活性。
附图说明
[0028]图1显示为现有技术中SWD调试协议下读数据帧于一实施例中的结构示意图;
[0029]图2显示为现有技术中SWD调试协议下写数据帧于一实施例中的结构示意图;
[0030]图3显示为图1和图2中的数据帧的帧头于一实施例中的结构示意图;
[0031]图4显示为现有技术中基于ARM SWD协议的调试系统于一实施例中的结构示意图;
[0032]图5显示为本专利技术的基于ARM SWD协议的调试系统于一实施例中的结构示意图;
[0033]图6显示为本专利技术的数据帧的帧头于一实施例中的结构示意图;
[0034]图7显示为本专利技术的单线模块于一实施例中的框架示意图;
[0035]图8显示为本专利技术的基于ARM SWD协议的调试方法于一实施例中的流程图。
具体实施方式
[0036]以下通过特定的具体实例说明本专利技术的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本专利技术的其他优点与功效。本专利技术还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于单线的SWD调试系统,包括调试器和调试目标;所述调试目标包括单线模块和调试内核;所述调试器用于基于接收到的调试指令生成基于SWD调试协议的数据帧,并基于单线发送至所述单线模块;所述数据帧的帧头的start、stop和park取值为101时,表示所述数据帧为调试数据帧;当所述帧头的start、stop和park取值为010时,表示所述数据帧为单线模块数据帧;所述单线模块用于在接收到的数据帧为所述调试数据帧时,将所述数据帧发送至所述调试内核;在接收到的数据帧为单线模块数据帧时,对所述数据帧进行读写处理;所述调试内核用于基于接收到的数据帧进行调试处理。2.根据权利要求1所述的基于单线的SWD调试系统,其特征在于:所述数据帧的帧头包括8个bit,分别为start、RnW、a[0:2]、partiy、stop和park;其中RnW为读写识别位,a[0:2]为单线模块寄存器地址位,parity为RnW和a[0:2]的奇偶校验位。3.根据权利要求1所述的基于单线的SWD调试系统,其特征在于:所述单线模块还用于在接收到所述数据帧的帧头后,发送ACK响应至所述调试器;当所述ACK响应为100时,表示接收正确;当所述ACK响应为011时,表示奇偶校验位错误。4.根据权利要求1所述的基于单线的SWD调试系统,其特征在于:所述数据帧的读数据和写数据满足SWD调试协议。5.根据权利要求1所述的基于单线的SWD调试系统,其特征在于:还包括上位机,所述上位机用于发送所述调...

【专利技术属性】
技术研发人员:肖安兵
申请(专利权)人:华大半导体有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1