CN108845935A - 一种嵌入式软件测试方法及系统 - Google Patents
一种嵌入式软件测试方法及系统 Download PDFInfo
- Publication number
- CN108845935A CN108845935A CN201810543083.7A CN201810543083A CN108845935A CN 108845935 A CN108845935 A CN 108845935A CN 201810543083 A CN201810543083 A CN 201810543083A CN 108845935 A CN108845935 A CN 108845935A
- Authority
- CN
- China
- Prior art keywords
- file
- host computer
- controller chip
- embedded software
- chip
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及一种嵌入式软件测试方法及系统,系统包括上位机、控制器芯片、采样芯片,上位机在编写控制程序时,将需要监控的数据定义为全局变量,编译生成输出文件和对应的.map文件;然后将生成的输出文件烧写到控制器芯片中,烧写完成后控制器芯片运行程序,驱动设备工作,并采集设备工作产生的数据信息;上位机提取所述.map文件中存储的全局变量和对应的存储地址;根据需要监控的全局变量的存储地址,接收设备工作产生的相应的数据信息,并进行处理,画出图像。通过本发明,可以有效解决现有嵌入式测试技术在现场测试时存在的不方便、不安全等缺点。
Description
技术领域
本发明涉及一种软件测试的方法,具体涉及一种嵌入式软件测试方法及系统。
背景技术
黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个完全不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。
在研发阶段,嵌入式软件测试一般采用连接JLINK仿真器,直接进行DEBUG测试。但是在工业现场测试时,因为嵌入式板卡已经安装在工作平台上与外界环境的相连接,此种方法很不方便,且具有一定的危险性。
发明内容
本发明为了解决现有嵌入式测试技术在现场测试时存在的不方便、不安全等缺点,提供了一种嵌入式软件测试方法及系统。
本发明解决上述技术问题的技术方案如下:
一方面,本发明提供一种嵌入式软件测试方法,包括以下步骤:
步骤1,在编写控制程序时,将需要监控的数据定义为全局变量,编译生成输出文件和对应的.map文件;
步骤2,将生成的输出文件烧写到控制器芯片中,烧写完成后控制器芯片运行程序,驱动设备工作,并采集设备工作产生的数据信息;
步骤3,提取所述.map文件中存储的全局变量和对应的存储地址;
步骤4,根据需要监控的全局变量的存储地址,接收设备工作产生的相应的数据信息,并进行处理,画出图像。
进一步,所述输出文件包括在keil编译的arm工程下的.hex文件或在ccs编译的dsp工程下的.out文件。
进一步,所述.map文件为软件编译后产生的有关系统中用到所有程序、数据及IO空间的一种映射文件,所述.map文件包括文件头、内存配置、段映射、全局符号四部分,所述全局变量在所述全局符号部分对应列出分配的内存地址。
进一步,步骤4中所述的图像为时间-幅值图像。
另一方面,本发明提供一种嵌入式软件测试系统,包括上位机、控制器芯片、采样芯片;
所述上位机用于将需要监控的数据定义为全局变量,编译生成输出文件和对应的.map文件;用于将生成的输出文件烧写到控制器芯片中;用于根据所述控制器芯片上传的数据信息绘制图像;
所述控制器芯片用于与上位机以及工作设备进行通信,用于接收上位机烧写的文件、控制设备工作、上传设备工作产生的数据信息;
所述采样芯片用于采集设备工作产生的数据信息,并发送给所述控制器芯片。
进一步,所述上位机产生的.map文件为软件编译后产生的有关系统中用到所有程序、数据及IO空间的一种映射文件,所述.map文件包括文件头、内存配置、段映射、全局符号四部分,所述全局变量在所述全局符号部分对应列出分配的内存地址。
进一步,所述采样芯片为AD采样芯片,用于采集设备工作产生的模拟信号,并转换成数字信号,发送给所述控制器芯片。
进一步,所述上位机编译生成的输出文件包括在keil编译的arm工程下的.hex文件或在ccs编译的dsp工程下的.out文件。
进一步,所述上位机绘制的图像为时间-幅值图像。
本发明的有益效果是:通过本发明,可以有效解决现有嵌入式测试技术在现场测试时存在的不方便、不安全等缺点。
附图说明
图1为本发明方法流程图;
图2为本发明系统结构图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
一方面,本发明提供一种嵌入式软件测试方法,如图1所示,包括以下步骤:
步骤1,在编写控制程序时,将需要监控的数据定义为全局变量,编译生成输出文件和对应的.map文件;
全局变量采用静态存储方式,变量定义成全局变量后,会在控制芯片内存中分配一个静态存储空间,在.map文件中可以进行查询。而局部变量在栈里分配存储空间,没有固定的地址,使用完即被释放。
在keil编译的arm工程下,.map文件在…\Project\keil目录下;在ccs编译的dsp工程下,.map文件在…\FLASH目录下。
.map文件为软件编译后产生的有关系统中用到所有程序、数据及IO空间的一种映射文件。.map文件大概分为文件头、内存配置、段映射、全局符号四部分。我们定义的全局变量会在全局符号部分对应列出其分配的内存地址。
一般全局变量存放在数据区,局部变量存放在栈区。因此需要监控的数据一定要定义为全局变量。
步骤2,将生成的输出文件烧写到控制器芯片中,烧写完成后控制器芯片运行程序,驱动设备工作,并采集设备工作产生的数据信息;
步骤3,通过软件或者人工方式,提取所述.map文件中存储的全局变量和对应的存储地址;此地址下存放的即是程序运行过程中对应的全局变量的值
步骤4,根据需要监控的全局变量的存储地址,接收设备工作产生的相应的数据信息,并进行处理,画出时间-幅值图像,即实现了软件示波器的功能。
控制器芯片发送的数据是数据在芯片内部的数据安排格式,在上位机中需对其进行按需求解码,例如,待监测的数据为float型,在上位机接收到数据后,即把数据按float型进行解码。
另一方面,本发明提供一种嵌入式软件测试系统,如图2所示,包括上位机、控制器芯片、采样芯片;
所述上位机用于将需要监控的数据定义为全局变量,编译生成输出文件和对应的.map文件;用于将生成的输出文件烧写到控制器芯片中;用于根据所述控制器芯片上传的数据信息绘制图像;
所述控制器芯片用于与上位机以及工作设备进行通信,用于接收上位机烧写的文件、控制设备工作、上传设备工作产生的数据信息;
所述采样芯片用于采集设备工作产生的数据信息,并发送给所述控制器芯片。
进一步,所述上位机产生的.map文件为软件编译后产生的有关系统中用到所有程序、数据及IO空间的一种映射文件,所述.map文件包括文件头、内存配置、段映射、全局符号四部分,所述全局变量在所述全局符号部分对应列出分配的内存地址。
进一步,所述采样芯片为AD采样芯片,用于采集设备工作产生的模拟信号,并转换成数字信号,发送给所述控制器芯片。
进一步,所述上位机编译生成的输出文件包括在keil编译的arm工程下的.hex文件或在ccs编译的dsp工程下的.out文件。
进一步,所述上位机绘制的图像为时间-幅值图像。
本发明的有益效果是:通过本发明,可以有效解决现有嵌入式测试技术在现场测试时存在的不方便、不安全等缺点。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种嵌入式软件测试方法,其特征在于,包括以下步骤:
步骤1,在编写控制程序时,将需要监控的数据定义为全局变量,编译生成输出文件和对应的.map文件;
步骤2,将生成的输出文件烧写到控制器芯片中,烧写完成后控制器芯片运行程序,驱动设备工作,并采集设备工作产生的数据信息;
步骤3,提取所述.map文件中存储的全局变量和对应的存储地址;
步骤4,根据需要监控的全局变量的存储地址,接收设备工作产生的相应的数据信息,并进行处理,画出图像。
2.根据权利要求1所述一种嵌入式软件测试方法,其特征在于,所述输出文件包括在keil编译的arm工程下的.hex文件或在ccs编译的dsp工程下的.out文件。
3.根据权利要求1所述一种嵌入式软件测试方法,其特征在于,所述.map文件为软件编译后产生的有关系统中用到所有程序、数据及IO空间的一种映射文件,所述.map文件包括文件头、内存配置、段映射、全局符号四部分,所述全局变量在所述全局符号部分对应列出分配的内存地址。
4.根据权利要求1所述一种嵌入式软件测试方法,其特征在于,步骤4中所述的图像为时间-幅值图像。
5.一种嵌入式软件测试系统,其特征在于,包括上位机、控制器芯片、采样芯片;
所述上位机用于将需要监控的数据定义为全局变量,编译生成输出文件和对应的.map文件;用于将生成的输出文件烧写到控制器芯片中;用于根据所述控制器芯片上传的数据信息绘制图像;
所述控制器芯片用于与上位机以及工作设备进行通信,用于接收上位机烧写的文件、控制设备工作、上传设备工作产生的数据信息;
所述采样芯片用于采集设备工作产生的数据信息,并发送给所述控制器芯片。
6.根据权利要求5所述一种嵌入式软件测试系统,其特征在于,所述上位机产生的.map文件为软件编译后产生的有关系统中用到所有程序、数据及IO空间的一种映射文件,所述.map文件包括文件头、内存配置、段映射、全局符号四部分,所述全局变量在所述全局符号部分对应列出分配的内存地址。
7.根据权利要求5所述一种嵌入式软件测试系统,其特征在于,所述采样芯片为AD采样芯片,用于采集设备工作产生的模拟信号,并转换成数字信号,发送给所述控制器芯片。
8.根据权利要求5所述一种嵌入式软件测试系统,其特征在于,所述上位机编译生成的输出文件包括在keil编译的arm工程下的.hex文件或在ccs编译的dsp工程下的.out文件。
9.根据权利要求5所述一种嵌入式软件测试系统,其特征在于,所述上位机绘制的图像为时间-幅值图像。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810543083.7A CN108845935A (zh) | 2018-05-30 | 2018-05-30 | 一种嵌入式软件测试方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810543083.7A CN108845935A (zh) | 2018-05-30 | 2018-05-30 | 一种嵌入式软件测试方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108845935A true CN108845935A (zh) | 2018-11-20 |
Family
ID=64210004
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810543083.7A Pending CN108845935A (zh) | 2018-05-30 | 2018-05-30 | 一种嵌入式软件测试方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108845935A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112269579A (zh) * | 2020-11-02 | 2021-01-26 | 中电凯杰科技有限公司 | 一种基于stm32处理器的编译型plc控制器系统及实现方法 |
CN112527279A (zh) * | 2020-12-16 | 2021-03-19 | 四川长虹空调有限公司 | 一种控制系统软件设计方法和更改方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101042646A (zh) * | 2007-04-10 | 2007-09-26 | 中兴通讯股份有限公司 | 一种在嵌入式软件中记录版本信息的方法 |
CN101661397A (zh) * | 2008-08-29 | 2010-03-03 | 宇龙计算机通信科技(深圳)有限公司 | 实现程序动态加载的方法和生成映射文件的方法及设备 |
CN103116522A (zh) * | 2013-01-31 | 2013-05-22 | 广州海格通信集团股份有限公司 | Dsp芯片的内核动态切换方法及控制系统 |
CN105302618A (zh) * | 2015-12-05 | 2016-02-03 | 中国航空工业集团公司洛阳电光设备研究所 | 一种asaac标准数字信号处理模块快速烧写方法 |
CN107729085A (zh) * | 2017-10-19 | 2018-02-23 | 北京空间飞行器总体设计部 | 一种支持地址重定向的星载软件动态加载方法 |
-
2018
- 2018-05-30 CN CN201810543083.7A patent/CN108845935A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101042646A (zh) * | 2007-04-10 | 2007-09-26 | 中兴通讯股份有限公司 | 一种在嵌入式软件中记录版本信息的方法 |
CN100462916C (zh) * | 2007-04-10 | 2009-02-18 | 中兴通讯股份有限公司 | 一种在嵌入式软件中记录版本信息的方法 |
CN101661397A (zh) * | 2008-08-29 | 2010-03-03 | 宇龙计算机通信科技(深圳)有限公司 | 实现程序动态加载的方法和生成映射文件的方法及设备 |
CN103116522A (zh) * | 2013-01-31 | 2013-05-22 | 广州海格通信集团股份有限公司 | Dsp芯片的内核动态切换方法及控制系统 |
CN105302618A (zh) * | 2015-12-05 | 2016-02-03 | 中国航空工业集团公司洛阳电光设备研究所 | 一种asaac标准数字信号处理模块快速烧写方法 |
CN107729085A (zh) * | 2017-10-19 | 2018-02-23 | 北京空间飞行器总体设计部 | 一种支持地址重定向的星载软件动态加载方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112269579A (zh) * | 2020-11-02 | 2021-01-26 | 中电凯杰科技有限公司 | 一种基于stm32处理器的编译型plc控制器系统及实现方法 |
CN112527279A (zh) * | 2020-12-16 | 2021-03-19 | 四川长虹空调有限公司 | 一种控制系统软件设计方法和更改方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7613954B2 (en) | Test executive with stack corruption detection | |
US8935573B2 (en) | Reliable unit testing through cached mocking | |
CN110764945A (zh) | 一种崩溃日志处理方法、装置、设备和存储介质 | |
CN1801155A (zh) | 合并硬件设计语言的原始档案与查验资料档案的方法 | |
US8145942B2 (en) | Methods and systems for troubleshooting remote systems through recreation of remote system scenarios | |
CN112181854B (zh) | 一种生成流程自动化脚本的方法、装置、设备及存储介质 | |
CN108845935A (zh) | 一种嵌入式软件测试方法及系统 | |
CN104076214B (zh) | 多通道微波组件自动测试方法 | |
CN110659197B (zh) | 应用程序的测试用例生成方法、装置和软件测试系统 | |
CN108334443A (zh) | 生成测试用例的方法、装置、设备及计算机可读存储介质 | |
CN107515803A (zh) | 一种存储性能测试方法和装置 | |
CN106095647A (zh) | 一种实时监控希捷硬盘电压的方法 | |
CN107145415A (zh) | 一种在linux系统下批量测试HDD LED的方法 | |
CN108334453B (zh) | 一种文件调试方法、装置、终端设备及存储介质 | |
US9165007B2 (en) | Log message optimization to ignore or identify redundant log messages | |
US20050043913A1 (en) | Method of determining the level of structural coverage testing of test cases which are written for a program that does not provide for structural coverage testing | |
US20090172368A1 (en) | Hardware Based Runtime Error Detection | |
JP6812637B2 (ja) | プログラマブルコントローラシステム、その開発支援装置、ターゲット装置 | |
CN107133147A (zh) | 一种基于OPenPower平台redhat系统下登录自检的方法 | |
US20150106792A1 (en) | Method of presenting trace data with improved efficiency by using hosted formatted output commands | |
CN114526925B (zh) | 一种车辆的下线检测方法、装置、电子设备及存储介质 | |
CN101546268B (zh) | 数字信号处理器可执行文件的加载方法与装置 | |
CN106557422A (zh) | 一种实现单元测试的方法 | |
US20110246838A1 (en) | Device for use in inspecting a cpu and method thereof | |
CN117092927A (zh) | 仿真调试方法、装置、电子设备和介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181120 |
|
RJ01 | Rejection of invention patent application after publication |