芯片的调试方法、存储介质、相关装置和系统与流程

文档序号:29089277发布日期:2022-03-02 02:17阅读:360来源:国知局
芯片的调试方法、存储介质、相关装置和系统与流程

1.本技术涉及测试领域,尤其涉及一种芯片的调试方法、存储介质、相关装置和系统。


背景技术:

2.目前的调试器一般使用swd(serialwire debug,串口线调试)协议,调试器内置stm32f103(32位arm微控制器),这种框架使得调试器与目标芯片的通信协议固定化。该通信协议大多只适用于arm内核的芯片,因此无法调试risc(reduced instruction set computing,精简指令集计算机)内核的芯片和8051内核的芯片。由此可见目前的调试器的兼容性较差,无法对各种型号的芯片进行调试。


技术实现要素:

3.本技术实施例提供了一种芯片的调试方法、装置、存储介质及调试设备,可以解决相关技术中调试器的兼容性不足的问题。所述技术方案如下:
4.第一方面,本技术实施例提供了一种芯片的调试方法,所述方法包括:
5.向调试器发送连接请求;
6.接收所述调试器发送的连接成功响应后,与所述调试器建立通信连接;
7.确定目标芯片的芯片型号,以及获取与所述芯片型号关联的动态配置文件;
8.将所述动态配置文件通过所述通信连接发送给所述调试器;
9.接收来自所述调试器的传输成功响应后,指示所述调试器对所述目标芯片进行调试。
10.第二方面,本技术实施例提供了一种芯片的调试装置,包括:
11.向调试器发送连接请求;
12.接收所述调试器发送的连接成功响应后,与所述调试器建立通信连接;
13.确定目标芯片的芯片型号,以及获取与所述芯片型号关联的动态配置文件;
14.将所述动态配置文件通过所述通信连接发送给所述调试器;
15.接收来自所述调试器的传输成功响应后,指示所述调试器对所述目标芯片进行调试。
16.第三方面,本技术实施例提供了一种芯片调试系统,包括:测试主机、调试器和目标芯片;
17.其中,所述测试主机,用于向所述调试器发送连接请求;接收所述调试器发送的连接成功响应后,与所述调试器建立通信连接;确定所述目标芯片的芯片型号,以及获取与所述芯片型号关联的动态配置文件;将所述动态配置文件通过所述通信连接发送给所述调试器;接收来自所述调试器的传输成功响应后,指示所述调试器对所述目标芯片进行调试;
18.所述调试器,用于上电成功后获取固定配置文件进行配置;配置成功后,接收来自所述测试主机的连接请求;对所述连接请求鉴权通过后,向所述测试主机发送连接成功响
应;接收来自所述测试主机的动态配置文件;根据所述动态配置文件进行配置;配置成功后,向所述测试主机发送传输成功响应;接收来自测试主机的调试指令,基于调试指令调用所述动态配置文件对所述目标芯片进行调试。
19.第四方面,本技术实施例提供一种计算机存储介质,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行上述的方法步骤。
20.第五方面,本技术实施例提供一种测试主机,可包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行上述的方法步骤。
21.本技术一些实施例提供的技术方案带来的有益效果至少包括:
22.在对目标芯片进行调试时,调试器加载固定配置文件进行配置,根据固定配置文件接收来自测试主机的动态配置文件,动态配置文件是测试主机根据目标芯片的型号获取的,调试器根据动态配置文件进行配置目标芯片的调试功能,以实现目标芯片的调试。由于不同型号的芯片在功能设计上存在差异,动态配置文件根据差异进行相应的调整,可以增加调试器的灵活性和扩展性;另外实现能在不更换调试器的情况下,支持自定义的通信协议。
附图说明
23.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
24.图1是本技术实施例提供的网络结构图;
25.图2是本技术实施例提供的一种芯片的调试方法的流程示意图;
26.图3是本技术实施例提供的一种芯片的调试装置的结构示意图;
27.图4是本技术实施例提供的一种测试主机的结构示意图。
具体实施方式
28.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施例方式作进一步地详细描述。
29.下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
30.在本技术的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本技术中的具体含义。此外,在本技术的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
31.参见图1,为本技术实施例提供的一种网络架构图,本技术的网络架构包括:测试主机11、调试器12和目标芯片13。调试器12的数量可以是多个,测试主机11可以批量地对多个控制板同时进行在线调试或离线调试。
32.其中,本技术的测试主机11具有显示装置,包括但不限于:台式电脑、笔记本电脑、平板电脑或手机等;调试器12具有一个或多个微控制器,微控制器包括用于存储应用程序代码的只读存储器。测试主机11和调试器12之间的通信的方式可以是有线通信方式或无线通信方式,有线通信方式包括但不限于usb线缆、urat线缆、网线、同轴电缆或其他线缆等,无线通信方式包括但不限于:蜂窝数据网络、蓝牙网络或wifi网络等,例如:调试设备和控制板内置有蜂窝网络数据模块,基于蜂窝网络与控制板之间进行通信,例如:蜂窝网络包括但不限于2g、3g、4g、5g或下一代网络。
33.其中,本技术中的测试主机11、调试器12和目标芯片13之间的交互流程包括:测试主机11向调试器12发送连接请求;接收调试器12发送的连接成功响应后,与调试器12建立通信连接;确定目标芯片13的芯片型号,以及获取与芯片型号关联的动态配置文件;将动态配置文件通过通信连接发送给调试器12;接收来自调试器12的传输成功响应后,指示调试器12对目标芯片13进行调试。
34.调试器12上电成功后在只读存储器中获取固定配置文件进行配置;配置成功后,接收来自测试主机11的连接请求;对连接请求鉴权通过后,向测试主机11发送连接成功响应;接收来自测试主机11的动态配置文件;根据动态配置文件进行配置;配置成功后,向测试主机11发送传输成功响应;接收来自测试主机11的调试指令,基于调试指令11调用动态配置文件对目标芯片13进行调试。本技术的调试设备12同时支持两种调试模式,可以灵活的满足不同控制板的调试需求,提高调试效率。
35.基于图1的网络架构,请参见图2,为本技术实施例提供的一种芯片的调试方法的流程示意图。如图2所示,本技术实施例的所述方法可以包括以下步骤:
36.s201、执行上电流程。
37.其中,用户打开测试主机和调试器的开关,测试主机和调试器执行上电流程。
38.s202、加载固定配置文件进行配置。
39.其中,固定配置文件是调试器在出厂前下载到存储器中的代码,固定配置文件一般称为固件,调试器从rom中获取固定配置文件,然后记载固定配置文件,固定配置文件用于执行固定不变的功能。调试器支持多种不同的芯片型号,固定配置文件为多个芯片型号的公共功能,公共功能指多个不同型号的芯片共有的功能,例如:查询调试版本信息、查询调试器id、更新动态配置文件等功能。
40.s203、测试主机向调试器发送连接请求,调试器接收来自测试主机的连接请求。
41.其中,测试主机在成功上电后向调试器发送连接请求,连接请求用于建立通信连接,连接请求可以携带测试主机的设备id,设备id可以是测试主机的mac地址。测试主机和调试器之间可以基于有线方式或无线方式进行通信,本实施例不作限制。
42.s204、调试器对连接请求进行鉴权。
43.其中,调试器接收到来自测试主机的连接请求后,解析该连接请求得到测试主机的设备id,调试器预存储有设备白名单,判断连接请求中的设备id是否在设备白名单中,若为是,鉴权通过;若为否,鉴权不通过。
44.s205、调试器向测试主机发送连接成功响应。
45.其中,在鉴权通过时调试器向测试主机发送连接成功响应;在鉴权不通过时,调试器向测试主机发送连接失败响应。
46.s206、测试主机和调试器之间建立通信连接。
47.其中,测试主机在接收到来自调试器的连接成功响应时,与调试器之间建立通信连接,后续可以通过该通信连接传输数据。若测试主机接收到来自调试器的连接失败响应时,显示错误提示消息,错误提示消息包括连接失败的原因。
48.另外,测试主机可以在发送连接请求后启动计时器进行计时,若在预设时长内接收来自来自调试器的连接成功响应,则测试主机和调试器之间建立通信连接;若在预设时长内未接收到来自调试器的连接成功响应,则测试主机和调试器之间无法建立通信连接,测试主机显示错误提示消息,该错误提示消息表示测试主机和调试器之间未成功建立通信连接。预设时长的大小可以进行实际需求而定,本技术不作限制,例如:预设时长为3秒。
49.s207、确定目标芯片的芯片型号。
50.其中,目标芯片与调试器连接,目标芯片为调试器待调试的芯片。
51.测试主机确定目标芯片的芯片型号的方法可以是:
52.方法一:测试主机通过显示装置显示芯片型号列表;用户通过输入装置针对芯片型号列表触发选择指令,测试主机将选择指令所选择的芯片型号作为目标芯片的芯片型号。
53.方法二、目标芯片和调试器建立通信连接的情况下,例如:目标芯片插入到调试器的芯片插槽中,调试器可以读取目标芯片的芯片信号,然后根据s206的通信连接将目标芯片的芯片信号发送给测试主机,测试主机由此确定目标芯片的芯片型号。
54.s208、获取芯片型号关联的动态配置文件。
55.其中,测试主机预存储有芯片信号和动态配置文件的映射关系,动态配置文件用于执行芯片的差异功能,差异功能即相对于其他芯片不同的功能,即不同的芯片型号对应不同的动态配置文件。动态配置文件主要执行程序下载功能和在线调试功能。程序下载功能包括全篇擦除(chip erase)、扇区擦除(sector erase)、程序下载(code program)和程序校验(code verify)。在线调试功能包括运行(run)、停止(stop)、单步(step)、设置断点(set breakpoint)、读取内存(read memory)、编程内存(write memory)等。
56.s209、测试主机向调试器发送动态配置文件,调试器接收来自测试主机的动态配置文件。
57.其中,测试主机获取到动态配置文件后,向调试器发送动态配置文件,测试主机可以将动态配置文件分割为多个数据帧,每个数据帧包括帧头和帧头,帧头包括帧序号、总帧数和校验位。总帧数表示动态配置文件分割成的多个数据帧的数量;校验位用于校验数据帧的完整性,例如:该校验位为循环校验码;帧序号表示数据帧的序号,帧序号可以从1开始编号,以1为步长进行递增。
58.s210、调试器向测试主机发送传输成功响应,测试主机接收来自调试器的传输成功响应。
59.其中,调试器成功接收来自测试主机的动态配置文件时,向测试主机发送传输成功响应,调试器接收动态配置文件的过程可以是:调试器接收到一个数据帧时,解析数据帧
的帧头得到帧序号、总帧数和校验位,首先根据校验位校验该数据帧的完整性,校验通过后,根据帧序号和总帧数判断该数据帧是否为最后一个数据帧,若帧序号等于总帧数,那么判定该数据帧为动态配置文件的最后一个数据帧,调试器向测试主机发送传输成功响应;若该数据帧不为最后一个数据帧,则继续等待接收下一个数据帧。
60.s211、加载动态配置文件进行配置。
61.其中,调试器加载动态配置文件进行差异功能的配置。
62.s212、执行调试流程。
63.其中,测试主机发送调试指令和数据给调试器,调试器调用动态配置文件,基于调试指令和数据对目标芯片进行调试,调试指令用于执行执行程序下载功能和在线调试功能。程序下载功能包括全篇擦除(chip erase)、扇区擦除(sector erase)、程序下载(code program)和程序校验(code verify)。在线调试功能包括运行(run)、停止(stop)、单步(step)、设置断点(set breakpoint)、读取内存(read memory)、编程内存(write memory)等。在执行调试流程时,调试器将调试结果返回给测试主机,测试主机显示调试结果。
64.本技术的有益效果包括:在对目标芯片进行调试时,调试器加载固定配置文件进行配置,根据固定配置文件接收来自测试主机的动态配置文件,动态配置文件是测试主机根据目标芯片的型号获取的,调试器根据动态配置文件进行配置目标芯片的调试功能,以实现目标芯片的调试。由于不同型号的芯片在功能设计上存在差异,动态配置文件根据差异进行相应的调整,可以增加调试器的灵活性和扩展性。
65.下述为本技术装置实施例,可以用于执行本技术方法实施例。对于本技术装置实施例中未披露的细节,请参照本技术方法实施例。
66.请参见图3,其示出了本技术一个示例性实施例提供的芯片的调试装置的结构示意图,以下简称装置3。该装置3可以通过软件、硬件或者两者的结合实现成为测试主机的全部或一部分。装置3包括:收发单元301、连接单元302、获取单元303和调试单元304。
67.收发单元301,用于向调试器发送连接请求;
68.连接单元302,用于接收所述调试器发送的连接成功响应后,与所述调试器建立通信连接;
69.获取单元303,用于确定目标芯片的芯片型号,以及获取与所述芯片型号关联的动态配置文件;
70.所述收发单元301,还用于将所述动态配置文件通过所述通信连接发送给所述调试器;
71.调试单元304,用于接收来自所述调试器的传输成功响应后,指示所述调试器对所述目标芯片进行调试。
72.在一个或多个可能的实施例中,所述确定目标芯片的芯片型号包括:
73.通过显示装置显示芯片型号列表;
74.接收用户针对所述芯片型号列表的选择指令;
75.将所述选择指令所选择的芯片型号作为所述目标芯片的芯片型号;或
76.通过所述通信连接向所述调试器发送芯片型号查询请求;
77.接收所述调试器发送的携带所述目标芯片的芯片型号的芯片型号查询响应。
78.在一个或多个可能的实施例中,所述将所述动态配置文件通过所述通信连接发送
给所述调试器,包括:
79.将所述动态配置文件分割为多个数据帧;
80.将所述多个数据帧通过所述通信连接依次发送给所述调试器;其中,所述数据帧包括帧头和帧体,所述帧头包括帧序号、总帧数和校验位。
81.在一个或多个可能的实施例中,所述指示所述调试器对所述目标芯片进行调试,包括:
82.向所述调试器发送调试指令;其中,所述调试指令指示所述调试器调用所述动态配置文件对所述目标芯片进行调试,以及向测试主机发送调试结果;
83.接收来自所述调试器的调试结果以及通过显示装置显示所述调试结果。
84.在一个或多个可能的实施例中,测试主机和调试器之间基于usb协议进行通信。
85.在一个或多个可能的实施例中,连接单元还用于:
86.在发送所述连接请求后启动定时器;
87.若在预设时长内未接收到来自所述调试器的连接成功响应,显示连接失败消息。
88.需要说明的是,上述实施例提供的装置3在执行芯片的调试方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的芯片的调试装置与芯片的调试方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。
89.上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
90.本技术实施例还提供了一种计算机存储介质,所述计算机存储介质可以存储有多条指令,所述指令适于由处理器加载并执行如上述图2所示实施例的方法步骤,具体执行过程可以参见图2所示实施例的具体说明,在此不进行赘述。
91.本技术还提供了一种计算机程序产品,该计算机程序产品存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现如上各个实施例所述的芯片的调试方法。
92.请参见图4,为本技术实施例提供了一种测试主机的结构示意图。如图4所示,所述测试主机400可以包括:至少一个处理器401,至少一个网络接口404,用户接口403,存储器405,至少一个通信总线402。
93.其中,通信总线402用于实现这些组件之间的连接通信。
94.其中,用户接口403可以包括显示屏(display)、摄像头(camera),可选用户接口403还可以包括标准的有线接口、无线接口。
95.其中,网络接口404可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。
96.其中,处理器401可以包括一个或者多个处理核心。处理器401利用各种借口和线路连接整个终端400内的各个部分,通过运行或执行存储在存储器405内的指令、程序、代码集或指令集,以及调用存储在存储器405内的数据,执行终端400的各种功能和处理数据。可选的,处理器401可以采用数字信号处理(digital signal processing,dsp)、现场可编程门阵列(field-programmable gate array,fpga)、可编程逻辑阵列(programmable logicarray,pla)中的至少一种硬件形式来实现。处理器401可集成中央处理器(central processing unit,cpu)、图像处理器(graphics processing unit,gpu)和调制解调器等中
的一种或几种的组合。其中,cpu主要处理操作系统、用户界面和应用程序等;gpu用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器401中,单独通过一块芯片进行实现。
97.其中,存储器405可以包括随机存储器(random access memory,ram),也可以包括只读存储器(read-only memory)。可选的,该存储器405包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器405可用于存储指令、程序、代码、代码集或指令集。存储器405可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方法实施例中涉及到的数据等。存储器405可选的还可以是至少一个位于远离前述处理器401的存储装置。如图4所示,作为一种计算机存储介质的存储器405中可以包括操作系统、网络通信模块、用户接口模块以及应用程序。
98.在图4所示的测试主机400中,用户接口403主要用于为用户提供输入的接口,获取用户输入的数据;而处理器401可以用于调用存储器405中存储的应用程序,并具体执行如图2所示的方法,具体过程可参照图2所示,此处不再赘述。
99.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体或随机存储记忆体等。
100.以上所揭露的仅为本技术较佳实施例而已,当然不能以此来限定本技术之权利范围,因此依本技术权利要求所作的等同变化,仍属本技术所涵盖的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1