CN108845935A - 一种嵌入式软件测试方法及*** - Google Patents

一种嵌入式软件测试方法及*** Download PDF

Info

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
Application number
CN201810543083.7A
Other languages
English (en)
Inventor
张智雄
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan Gao Shi Da Electric Co Ltd
Original Assignee
Wuhan Gao Shi Da Electric Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wuhan Gao Shi Da Electric Co Ltd filed Critical Wuhan Gao Shi Da Electric Co Ltd
Priority to CN201810543083.7A priority Critical patent/CN108845935A/zh
Publication of CN108845935A publication Critical patent/CN108845935A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test 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所述一种嵌入式软件测试***,其特征在于,所述上位机绘制的图像为时间-幅值图像。
CN201810543083.7A 2018-05-30 2018-05-30 一种嵌入式软件测试方法及*** Pending CN108845935A (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 北京空间飞行器总体设计部 一种支持地址重定向的星载软件动态加载方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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
US20140075249A1 (en) Execution History Tracing Method
CN110764945A (zh) 一种崩溃日志处理方法、装置、设备和存储介质
CN1801155A (zh) 合并硬件设计语言的原始档案与查验资料档案的方法
US8145942B2 (en) Methods and systems for troubleshooting remote systems through recreation of remote system scenarios
CN108845935A (zh) 一种嵌入式软件测试方法及***
CN104076214B (zh) 多通道微波组件自动测试方法
US20190138432A1 (en) Test case standardization and automatic test script generation
CN101196848B (zh) 运行日志获取方法
CN110659197B (zh) 应用程序的测试用例生成方法、装置和软件测试***
CN107515803A (zh) 一种存储性能测试方法和装置
CN104360946A (zh) 一种测试缺陷的计算机实现的方法及计算机
CN106095647A (zh) 一种实时监控希捷硬盘电压的方法
US20160171038A1 (en) Tracking model element changes using change logs
CN108334443A (zh) 生成测试用例的方法、装置、设备及计算机可读存储介质
CN107145415A (zh) 一种在linux***下批量测试HDD LED的方法
CN108334453B (zh) 一种文件调试方法、装置、终端设备及存储介质
Lyle A strategy for testing hardware write block devices
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
CN107133147A (zh) 一种基于OPenPower平台redhat***下登录自检的方法
US20150106792A1 (en) Method of presenting trace data with improved efficiency by using hosted formatted output commands
CN114526925B (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