一种基于DSS的单一DSP设备测试装置的制作方法

文档序号:27556246发布日期:2021-11-25 00:35阅读:114来源:国知局
一种基于DSS的单一DSP设备测试装置的制作方法
一种基于dss的单一dsp设备测试装置
技术领域
1.本发明属于嵌入式软件开发技术领域,具体涉及一种基于dss的单一dsp设备测试装置。


背景技术:

2.dsp是一种十分常用的处理器。嵌入式系统经常采用基于dsp芯片的设备。常用的dsp开发软件,是德州仪器公司开发的code composer studio,一般简称ccs。ccs给开发者提供了强大的开发调试功能,在仿真器的辅助下可以实现对dsp上允许的程序的暂停、断点、内存读取与修改等操作。
3.但是ccs的开发调试功能,都是需要手动操作完成的。测试运行于dsp芯片上的程序,在如模拟硬件故障等程序本身难以实现的测试环境构建时,需要利用开发调试功能去修改程序的运行环境,以期达到测试效果。但是在开发过程中如果每次需要采用手动完成此项工作,不仅不方便,而且很难保证每次操作的一致性,难以系统化、自动化地完成。
4.德州仪器公司在ccs中还配套了一组可编程的调试接口debug server scripting,简称dss。


技术实现要素:

5.(一)要解决的技术问题
6.本发明要解决的技术问题是:如何设计一种测试装置,完成对单一被测的dsp设备的更加细致完整的测试。
7.(二)技术方案
8.为了解决上述技术问题,本发明提供了一种基于dss的单一dsp设备测试装置,包括测试设备、dsp设备、软件开发计算机;
9.软件开发计算机为dsp设备上运行的软件的上位开发机,与dsp设备采用仿真器连接方式实现连接,能够对dsp设备上运行的软件进行直接控制;软件开发计算机与测试设备之间采用以太网连接,测试设备在整个装置中起控制作用,软件开发计算机被动地听从测试设备的指令,完成对dsp设备的读写。
10.优选地,所述软件开发计算机包括:
11.以太网模块:该以太网模块承担与测试设备之间的通信功能,用于实现通信内容校验、超时报警功能,将与测试设备之间的通信封装为收发接口,供指令控制模块调用;
12.指令控制模块:该指令控制模块是软件开发计算机上软件的控制部分;测试设备与软件开发计算机之间的以太网通信基于一套指令协议,包含操作码、操作数这些内容;指令控制模块用于通过以太网模块,根据协议内容解析报文,完成对测试设备的指令的收发组织;对于测试设备下发的需要做动的指令,调用其他4个基于dss的直接做动模块,完成与dsp设备的通信,所述其他4个基于dss的直接做动模块包括仿真器连接模块、内存修改模块、断点控制模块、内存读取模块;
13.仿真器连接模块:该仿真器连接模块为与dsp设备通信的模块,软件开发计算机与dsp设备通过仿真器连接的通信,都依赖该仿真器连接模块通过调用dss建立起的连接会话;该仿真器连接模块还实时监控连接会话的有效性,可供指令控制模块调用查询连接会话的状态;该仿真器连接模块能够在需要的时候正确地断开与dsp设备的连接,尽力保证可以重复连接;
14.内存修改模块:该内存修改模块用于调用dss中的内存修改接口,实现两种内存修改的模式;可对指定名称的变量或者数组进行修改;可对整段的内存地址进行修改;可通过变量的调用实现对函数的调用;
15.断点控制模块:该断点控制模块用于控制运行于dsp设备上的软件的中断,由于内存修改与读取不能在dsp设备上的软件正在运行时实现,因此需要让dsp设备上的软件暂停在合适的位置;该断点控制模块通过调用dss接口,根据指令在指定的位置设定断点或者清除断点,实现对dsp设备上的软件的运行与暂停的控制,辅助完成对内存的读取和修改。
16.内存读取模块:该内存读取模块用于调用dss中的内存读取接口,实现两种内存读取的模式;可通过对指定名称的变量或者数组进行读取;可对整段的内存地址进行读取。
17.优选地,所述测试设备与dsp设备连接。
18.优选地,所述测试设备与dsp设备连接的方式随不同的测试设备而定。
19.本发明还提供了一种利用所述的装置实现的模拟硬件故障测试方法。
20.优选地,该方法的应用场景如下:被测试的运行于dsp设备上的软件,包含一个访问外接硬件的功能,该外接硬件通过dsp设备的emif接口连接,访问形式为读写对应的地址段,被测软件做了在访问该外接硬件时发生错误的处理,需要在外接硬件本身工作正常时测试这个错误处理的功能;测试流程包括以下步骤:
21.步骤101、测试设备通知软件开发计算机,调用断点控制模块,将断点设置在读取所述外接硬件的地址段数据之后;
22.步骤102、测试设备通知dsp设备正常运行程序,执行对所述外接硬件的访问;
23.步骤103、dsp设备受到软件开发计算机控制,将程序停止在步骤102设置的断点处;
24.步骤104、测试设备通知软件开发计算机,调用内存修改模块,修改dsp设备运行的程序的内存数据,使从所述外接硬件中读取的数据错误;
25.步骤105、测试设备通知软件开发计算机,调用断点控制模块,取消步骤102设置的断点,并使dsp设备继续运行被测软件;
26.步骤106、运行于dsp设备上的被测软件,将针对外接硬件访问错误的错误处理结果发送给测试设备。
27.本发明还提供了一种利用所述的装置实现的读取额外内存信息的测试方法。
28.优选地,该方法的应用场景如下:被测试的运行于dsp设备上的软件,在正常的工作流程中,不会将所有的信息都发送给测试设备,而是会将一部分信息存储在dsp设备的内存中,累计到一定数量再发送给测试设备,现在需要测试设备以预设时间t为周期获取被测软件存储于dsp设备内存中的、未直接发送给测试设备的信息;测试流程包括以下步骤:
29.步骤201、以时间t为周期,反复执行步骤203到步骤207;
30.步骤202、测试设备通知软件开发计算机,调用断点控制模块,将断点设置在不对
测试设备与dsp设备之间通信造成影响的位置;
31.步骤203、测试设备通知dsp设备正常运行程序;
32.步骤204、dsp设备受到软件开发计算机控制,将程序停止在步骤203设置的断点处;
33.步骤205、测试设备通知软件开发计算机,调用内存读取模块,读取被测软件存储于dsp设备内存中的、未直接发送给测试设备的信息,并将读取到的信息发送给测试设备;
34.步骤206、测试设备通知软件开发计算机,调用断点控制模块,取消步骤203设置的断点,并使dsp设备继续运行被测软件。
35.本发明还提供了一种所述方法在嵌入式软件开发技术领域中的应用。
36.本发明还提供了一种所述方法在嵌入式软件开发技术领域中的应用。
37.(三)有益效果
38.本发明提供了一种基于dss的测试装置,能够在软件开发计算机和测试设备的配合下,完成对单一被测的dsp设备的更加细致完整的测试,该装置中由测试设备控制整个测试流程,通过以太网控制软件开发计算机实现对dsp设备的内存控制,可以实现对一些难以模拟的dsp设备硬件故障情况的模拟,实现更加完整的测试,并且测试过程采用全软件操作,方便测试现场的复现。
附图说明
39.图1为本发明实施例的装置基本连接关系图;
40.图2为本发明实施例中的软件开发计算机的实现原理。
具体实施方式
41.为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
42.本发明实施例的一种基于dss的dsp设备测试装置,包括测试设备、dsp设备、软件开发计算机三个部分。本发明实施例的最主要的内容在于软件开发计算机的设计。
43.以下将逐步说明运行于软件开发计算机上的基于dss的设计原理,最终联系测试设备,完成一种对单一dsp设备测试的装置。
44.如图1所示,测试设备与dsp设备之间的连接,随不同的测试设备而定,不在本发明的讨论范围内;软件开发计算机为dsp设备上运行的软件的上位开发机,与dsp设备采用仿真器连接,能够对dsp设备上运行的软件进行直接控制;软件开发计算机与测试设备之间采用以太网连接,测试设备在整个装置中起到核心控制作用,软件开发计算机被动地听从测试设备的指令,完成对dsp设备的读写。
45.软件开发计算机包括6个模块,下面将逐一说明各个模块的功能。
46.1.以太网模块:该模块承担与测试设备之间的通信功能,需要实现通信内容校验、超时报警等功能,将与测试设备之间的通信封装为简单的收发接口,供指令控制模块调用。
47.2.指令控制模块:该模块是软件开发计算机上软件的核心控制部分;测试设备与软件开发计算机之间的以太网通信需要设计一套指令协议,包含操作码、操作数等内容;指令控制模块需要通过以太网模块,根据协议内容解析报文,完成对测试设备的指令的收发
组织;对于测试设备下发的需要做动的指令,调用其他4个基于dss的直接做动模块(仿真器连接模块、内存修改模块、断点控制模块、内存读取模块),完成与dsp设备的通信。
48.3.仿真器连接模块:该模块为与dsp设备通信的基础模块,软件开发计算机与dsp设备通过仿真器连接的通信,都需要依赖该模块通过调用dss建立起的连接会话;该模块还实时监控连接会话的有效性,可以供指令控制模块调用查询连接会话的状态;该模块能够在需要的时候正确地断开与dsp设备的连接,尽力保证可以重复连接。
49.4.内存修改模块:该模块调用dss中的内存修改接口,实现两种内存修改的模式;可以对指定名称的变量或者数组进行修改;可以对整段的内存地址进行修改;可以通过变量的调用实现对函数的调用。
50.5.断点控制模块:该模块用于控制运行于dsp设备上的软件的中断,由于内存修改与读取不能在dsp设备上的软件正在运行时实现,因此需要让dsp设备上的软件暂停在合适的位置;该模块通过调用dss接口,根据指令在指定的位置设定断点或者清除断点,实现对dsp设备上的软件的运行与暂停的控制,辅助完成对内存的读取和修改。
51.6.内存读取模块:该模块调用dss中的内存读取接口,实现两种内存读取的模式;可以通过对指定名称的变量或者数组进行读取;可以对整段的内存地址进行读取。
52.下面将举两个典型的例子来说明本发明装置的工作流程。这两个例子一般都是通过手动操作仿真器实现的,而利用本发明可以实现自动化操作。
53.例1:模拟硬件故障
54.被测试的运行于dsp设备上的软件,包含一个访问外接硬件的功能。该硬件通过dsp设备的emif接口连接,访问形式为读写对应的地址段。被测软件做了在访问该外接硬件时发生错误的处理,需要在外接硬件本身工作正常时测试这个错误处理的功能。测试流程如下:
55.1.如图1完成设备连接,并启动各个设备;
56.2.测试设备通知软件开发计算机,调用断点控制模块,将断点设置在读取所述外接硬件的地址段数据之后;
57.3.测试设备通知dsp设备正常运行程序,执行对所述外接硬件的访问;
58.4.dsp设备受到软件开发计算机控制,将程序停止在步骤2设置的断点处;
59.5.测试设备通知软件开发计算机,调用内存修改模块,修改dsp设备运行的程序的内存数据,使从所述外接硬件中读取的数据错误;
60.6.测试设备通知软件开发计算机,调用断点控制模块,取消步骤2设置的断点,并使dsp设备继续运行被测软件;
61.7.运行于dsp设备上的被测软件,将针对外接硬件访问错误的错误处理结果发送给测试设备。
62.例2:读取额外内存信息
63.被测试的运行于dsp设备上的软件,在正常的工作流程中,不会将所有的信息都发送给测试设备,而是会将一部分信息存储在dsp设备的内存中,累计到一定数量再发送给测试设备。现在需要测试设备以预设时间t为周期(时间t足够长)获取被测软件存储于dsp设备内存中的、未直接发送给测试设备的信息。测试流程如下:
64.1.如图1完成设备连接,并启动各个设备;
65.2.以时间t为周期,反复执行步骤3到步骤7;
66.3.测试设备通知软件开发计算机,调用断点控制模块,将断点设置在不对测试设备与dsp设备之间通信造成影响的位置;
67.4.测试设备通知dsp设备正常运行程序;
68.5.dsp设备受到软件开发计算机控制,将程序停止在步骤3设置的断点处;
69.6.测试设备通知软件开发计算机,调用内存读取模块,读取被测软件存储于dsp设备内存中的、未直接发送给测试设备的信息,并将读取到的信息发送给测试设备;
70.7.测试设备通知软件开发计算机,调用断点控制模块,取消步骤3设置的断点,并使dsp设备继续运行被测软件。
71.可以看出,本实施例的装置由测试设备控制整个测试流程,通过以太网控制软件开发计算机实现对dsp设备的内存控制,可以实现对一些难以模拟的dsp设备硬件故障情况的模拟,实现更加完整的测试,并且测试过程采用全软件操作,方便测试现场的复现。
72.以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1