一种处理器自动测试控制平台、控制方法及操作方法与流程

文档序号:30507151发布日期:2022-06-25 00:42阅读:121来源:国知局
一种处理器自动测试控制平台、控制方法及操作方法与流程

1.本发明涉及元器件功能测试领域,尤其涉及一种处理器自动测试控制平台、控制方法及操作方法。


背景技术:

2.本发明基于一款32位risc-v内核的国产自主可控处理器芯片,包含uart、timer、can、spi、gpio等多种外设接口。处理器全功能批量自动测试平台主要用于实现该处理器芯片出厂前覆盖全功能的自动测试,包括自动进行测试记录、测试结果分析、测试报告生成,有助于降低时间成本,提高测试效率。平台组成如图2所示。目前通用的测试方法是,将嵌入式测试程序一次性烧录进处理器内,再由上位机测试平台软件通过与处理器通讯,发送控制指令并接收测试结果与状态,最终达到自动控制测试流程的目的。
3.由于处理器出厂前需进行的全功能测试覆盖的测试项较多,功能较复杂,导致需烧写至处理器中的嵌入式测试程序可执行文件占用空间较大。同时,由于处理器内存受限,无法将全功能测试程序整体存储,也就无法一次性完成全功能测试。为解决该问题,可将全功能测试程序按照测试功能拆分,形成占用空间较小、可完成一项或多项功能测试的嵌入式测试子程序,并将测试子程序分多次向处理器进行烧写,最终由测试子程序完成全功能测试覆盖。
4.若要实现上述测试子程序分多次向处理器进行烧写的方案,处理器全功能批量自动测试上位机软件则需具备处理器芯片测试程序自动烧写的功能,而处理器芯片烧写要共同控制调试器连接软件c-skydebugserver和下载调试软件cdk来完成。整个操作流程如下:首先,调试器连接软件c-skydebugserver与处理器芯片功能测试板通过jtag调试器建立连接通信;其次,调试器连接软件c-skydebugserver与下载调试软件cdk建立局部通信网络,实现下载调试软件与处理器芯片功能测试板通信的完整链路;最后,通过下载调试软件cdk向处理器芯片烧写程序。
5.但由于上述两款软件没有sdk和输出文件,使得处理器全功能批量自动测试上位机软件无法使用常规的软件控制方法,来完成复杂的程序烧写操作流程,另一方面也无法判断这两款软件反馈的处理器芯片的连接状态和下载状态。因此,对这两款第三方软件的进行软件控制和运行结果判断,成为处理器全功能批量自动测试任务所要解决的关键问题。


技术实现要素:

6.本发明提供了一种处理器自动测试控制平台、控制方法及操作方法,用以解决处理器全功能批量自动测试内存受限的技术问题,通过拆分全功能测试程序,开发具有控制第三方软件自动烧写功能的处理器全功能批量自动测试上位机软件,另配合可扩展的测试通信协议,可有效解决处理器内存受限的问题,完成处理器全功能批量自动测试,具有较强
的实用性。
7.为了实现本发明的目的,拟采用以下技术:本发明提供了一种处理器自动测试控制平台,包括上位机与芯片功能测试板;上位机包括通过屏幕控制的处理器全功能批量自动测试上位机软件、调试器连接软件c-skydebugserver及下载调试软件cdk;芯片功能测试板包括单片机、待测处理器及fpga;其中,处理器全功能批量自动测试上位机软件通过串口连接于程控电源上,程控电源用于芯片功能测试板的供电;处理器全功能批量自动测试上位机软件通过串口连接于待测处理器上;处理器全功能批量自动测试上位机软件还通过usbcan-e-mini连接于待测处理器;处理器全功能批量自动测试上位机软件通过串口连接于单片机上;调试器连接软件c-skydebugserver通过jtag连接于待测处理器上;调试器连接软件c-skydebugserver通过虚拟网口连接于下载调试软件cdk。
8.本发明还提供了一种处理器自动测试控制平台的控制方法,通过处理器自动测试控制平台实现,包括步骤:步骤1,将芯片功能测试板待测处理器上的嵌入式软件按照测试功能拆分为小于处理器内存的测试子集,且每个测试子集对应一个id;步骤2,通过可扩展的测试通信协议进行处理器全功能批量自动测试上位机软件控制;步骤3,通过屏幕控制的方式对调试器连接软件c-skydebugserver与下载调试软件cdk进行调用和控制;步骤4,通过图像处理技术对调试器连接软件c-skydebugserver连接成功与否、或者下载调试软件cdk下载成功与否进行判断;步骤5,返回调试器连接软件c-skydebugserver连接结果、或者返回下载调试软件cdk下载结果。
9.进一步地,可扩展的测试通信协议中的控制指令、测试结果以及测试状态数据的有效数据长度均为可变长度。
10.进一步地,可扩展的测试通信协议的格式均由帧头、帧计数、帧长、命令类型、指令标识、有效数据、帧尾以及校验组成。
11.进一步地,命令类型显示当前传输内容为控制指令、测试结果及测试状态数据。
12.进一步地,指令标识与有效数据中的必要字节构成测试项子集的id;且有效数据中的必要字节长度可扩展,以使其覆盖全部测试项子集。
13.进一步地,步骤3中调试器连接软件c-skydebugserver与下载调试软件cdk进行调用和控制的步骤为:步骤3.1,对程序烧写中每一操作流程环节中的调试器连接软件c-skydebugserver和下载调试软件cdk软件界面按钮操作点进行定位,将多个人为操作动作转化为与其各自对应的定位坐标;
步骤3.2,建立单独的操作线程,模拟鼠标移动及点击,代替用户操作,实现调试器连接软件c-skydebugserver和下载调试软件cdk的切换和程序烧写流程中的按钮点击;步骤3.3,模拟鼠标操作后等待一定时间,通过截取屏幕的方式,获取调试器连接软件c-skydebugserver和下载调试软件cdk的界面图像,并通过图像处理技术对软件运行结果进行判断,根据调试器连接软件c-skydebugserver和下载调试软件cdk操作结果的成功或者失败;当调试器连接软件c-skydebugserver和下载调试软件cdk操作结果为成功时将进行程序烧写,当调试器连接软件c-skydebugserver和下载调试软件cdk操作结果为失败时将进行重试;步骤3.4,重复步骤3.2和步骤3.3,直至由计算机完成jtag连接、局部通信网络建立及程序烧写。
14.进一步地,步骤4中通过图像处理技术对调试器连接软件c-skydebugserver连接成功与否、或者下载调试软件cdk下载成功与否进行判断步骤为:步骤4.1,利用图像处理技术的感兴趣区域方法来获取图像中软件界面上的运行状态和符号区域的局部图像;步骤4.2,去除图像中的噪声和冗余信息;步骤4.3,利用轮廓查找方法,获取处理后的局部图像中的轮廓信息和几何信息;步骤4.4,通过局部图像中的轮廓信息和几何信息,将图像上的差异转变为调试器连接软件c-skydebugserver的连接状态结果,及下载调试软件cdk下载状态结果。
15.本发明还提供了一种处理器自动测试控制平台的操作方法,通过处理器自动测试控制平台实现,包括步骤:步骤a,打开调试器连接软件c-skydebugserver与下载调试软件cdk;步骤b,打开全功能批量自动测试上位机软件,并开始处理器芯片的自动测试;步骤c,全功能批量自动测试上位机软件开启线程;步骤d,操作控制调试器连接软件c-skydebugserver进行连接或者下载调试软件cdk进行下载;步骤e,对步骤4中调试器连接软件c-skydebugserver或者下载调试软件cdk的状态进行截图;步骤f,对步骤5中所得的调试器连接软件c-skydebugserver或者下载调试软件cdk的状态截图图像进行处理,并获取符号图像的几何和轮廓信息,并分析运行状态;步骤g,对调试器连接软件c-skydebugserver或者下载调试软件cdk的状态进行判断;步骤h,若当调试器连接软件c-skydebugserver或者下载调试软件cdk为成功状态时,将返回连接成功或者下载成功装态;若当调试器连接软件c-skydebugserver或者下载调试软件cdk为不成功状态时,将返回连接失败或者下载失败状态。
16.上述技术方案的优点在于:(1)本发明可突破处理器内存限制,实现复杂的全功能批量自动测试,有效降低时间成本,大大提高测试效率,并且可推广至其他内存受限的处理器,具有较强的实用性。
17.(2)本发明采用的功能拆分及可扩展的测试通信协议技术,可方便随时调整测试功能项,无需修改平台硬件设计及上位机软件。
18.(3)本发明采用的对调试器连接软件c-skydebugserver的控制和下载调试软件cdk运行结果判断技术,可普遍适用于无法获得sdk(软件开发工具包)和输出文件的第三方软件,可推广至其他测试限制。
附图说明
19.为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明做进一步的详细描述。
20.图1示出了用以解决处理器全功能批量自动测试内存受限的控制平台的组成框图。
21.图2示出了处理器全功能批量自动测试平台组成框图。
22.图3示出了用以解决处理器全功能批量自动测试内存受限的控制操作方法流程图。
23.图4示出了可扩展的测试通信协议格式。
具体实施方式
24.实施例1如图1所示,该实施例提供了一种处理器自动测试控制平台,用以解决处理器全功能批量自动测试内存受限的技术问题,其包括上位机与芯片功能测试板。
25.上位机包括通过屏幕控制的处理器全功能批量自动测试上位机软件、调试器连接软件c-skydebugserver及下载调试软件cdk。芯片功能测试板包括单片机、待测处理器及fpga。
26.其中,处理器全功能批量自动测试上位机软件通过串口连接于程控电源上,程控电源用于芯片功能测试板的供电。处理器全功能批量自动测试上位机软件通过串口连接于待测处理器上。处理器全功能批量自动测试上位机软件还通过usbcan-e-mini连接于待测处理器。处理器全功能批量自动测试上位机软件通过串口连接于单片机上。调试器连接软件c-skydebugserver通过jtag连接于待测处理器上。调试器连接软件c-skydebugserver通过虚拟网口连接于下载调试软件cdk。
27.实施例2该实施例提供了一种处理器自动测试控制方法,通过处理器自动测试控制平台实现,包括步骤:步骤1,将芯片功能测试板待测处理器上的嵌入式软件按照测试功能拆分为小于处理器内存的测试子集,且每个测试子集对应一个id。由于处理器内存受限,而全功能测试嵌入式软件可执行程序过大,无法一次性完成烧写存储,故考虑将全功能测试嵌入式软件按照测试功能拆分为小于处理器内存的测试子集,每个测试子集只需完成单一测试项或多个简单的测试项,测试子集中的测试项最终覆盖处理器的待测功能全集。而全部测试子集中的每个测试项都拥有唯一的id,以便于处理器全功能批量自动测试上位机软件通过可扩展的测试通信协议进行控制。其中,将芯片功能测试板待测处理器上的嵌入式软件测试功
能拆分为小于处理器内存的测试子集,目的是得到具有独立测试功能且能够烧写进处理器的测试工程,例如:待测处理器上的嵌入式软件需完成的测试功能包括coremark、dhrystone、cache、uart、timer、gpio等功能,但由于集成的测试功能过多导致测试程序占用空间超过处理器内存,最终无法进行集成测试。按照功能将集成测试工程拆分为测试子集,即单独的形成coremark工程、dhrystone工程、cache工程、uart工程、timer工程、gpio工程等,单独的测试工程空间小于处理器内存,可以进行下载测试。测试子集中的工程进行统一的id编号,如上例中coremark工程id号0x01,dhrystone工程id号0x02,cache工程id号0x03、uart工程id号0x04、timer工程id号0x05、gpio工程id号0x06等。测试子集id编号与可扩展的测试通信协议中1字节的命令类型对应,以便于处理器全功能批量自动测试上位机软件对测试项的区分与控制。
28.步骤2,通过可扩展的测试通信协议进行控制处理器全功能批量自动测试上位机软件,可扩展的测试通信协议中的控制指令、测试结果以及测试状态数据的有效数据长度均为可变长度,可扩展的测试通信协议的格式均由4字节的帧头、2字节的帧计数、2字节的帧长、1字节的命令类型、1字节的指令标识、max20字节的有效数据、4字节的帧尾以及1字节的校验组成(如图4所示)。命令类型显示当前传输内容为控制指令、测试结果及测试状态数据。指令标识与有效数据中的必要字节构成测试项子集的id;且有效数据中的必要字节长度可扩展,以使其覆盖全部测试项子集。
29.步骤3,由于处理器全功能批量自动测试上位机软件和调试器连接软件c-skydebugserver、下载调试软件cdk安装于上位机上,因此可通过屏幕控制的方式对调试器连接软件c-skydebugserver与下载调试软件cdk进行调用和控制。
30.其中调试器连接软件c-skydebugserver与下载调试软件cdk进行调用和控制的步骤为:步骤3.1,对程序烧写中每一操作流程环节中的调试器连接软件c-skydebugserver和下载调试软件cdk软件界面按钮操作点进行定位,将多个人为操作动作转化为与其各自对应的定位坐标;步骤3.2,建立单独的操作线程,模拟鼠标移动及点击,代替用户操作,实现调试器连接软件c-skydebugserver和下载调试软件cdk的切换和程序烧写流程中的按钮点击;步骤3.3,模拟鼠标操作后等待一定时间,通过截取屏幕的方式,获取调试器连接软件c-skydebugserver和下载调试软件cdk的界面图像,并通过图像处理技术对软件运行结果进行判断,根据调试器连接软件c-skydebugserver和下载调试软件cdk操作结果的成功或者失败;当调试器连接软件c-skydebugserver和下载调试软件cdk操作结果为成功时将进行程序烧写,当调试器连接软件c-skydebugserver和下载调试软件cdk操作结果为失败时将进行重试;步骤3.4,重复步骤3.2和步骤3.3,直至由计算机完成jtag连接、局部通信网络建立及程序烧写。
31.步骤4,由于调试器连接软件c-skydebugserver与下载调试软件cdk没有sdk(软件开发工具包)和输出文件,因此通过图像处理技术对调试器连接软件c-skydebugserver连接成功与否、或者下载调试软件cdk下载成功与否进行判断。通过对比发现,调试器连接软件c-skydebugserver与下载调试软件cdk在处理器芯片连接成功和连接失败、程序烧写成功和程序烧写失败时,在各自软件界面上的运行状态和符号信息存在较大的差异。
32.通过图像处理技术对调试器连接软件c-skydebugserver连接成功与否、或者下载调试软件cdk下载成功与否进行判断步骤为:步骤4.1,利用图像处理技术的感兴趣区域方
法来获取图像中软件界面上的运行状态和符号区域的局部图像;步骤4.2,并使用图像去噪和二值化方法、处理局部图像,去除图像中的噪声和冗余信息;步骤4.3,利用轮廓查找方法,获取处理后的局部图像中的轮廓信息和几何信息;步骤4.4,通过局部图像中的轮廓信息和几何信息,将图像上的差异转变为调试器连接软件c-skydebugserver的连接状态结果,及下载调试软件cdk下载状态结果。
33.步骤5,返回调试器连接软件c-skydebugserver连接结果、或者返回下载调试软件cdk下载结果。
34.实施例3如图3所示,一种处理器自动测试操作方法,依托于处理器自动测试控制平台实现,包括步骤:步骤a,打开调试器连接软件c-skydebugserver与下载调试软件cdk;步骤b,打开全功能批量自动测试上位机软件,并开始处理器芯片的自动测试;步骤c,全功能批量自动测试上位机软件开启线程;步骤d,操作控制调试器连接软件c-skydebugserver进行连接或者下载调试软件cdk进行下载;步骤e,对步骤4中调试器连接软件c-skydebugserver或者下载调试软件cdk的状态进行截图;步骤f,对步骤5中所得的调试器连接软件c-skydebugserver或者下载调试软件cdk的状态截图图像进行处理,并获取符号图像的几何和轮廓信息,并分析运行状态;步骤g,对调试器连接软件c-skydebugserver或者下载调试软件cdk的状态进行判断;步骤h,若当调试器连接软件c-skydebugserver或者下载调试软件cdk为成功状态时,将返回连接成功或者下载成功装态;若当调试器连接软件c-skydebugserver或者下载调试软件cdk为不成功状态时,将返回连接失败或者下载失败状态。
35.以上所述仅为本发明的优选实施例,并不用于限制本发明,显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1