嵌入式控制系统变量初始化的测试方法与流程

文档序号:12363512阅读:526来源:国知局

本发明涉及变量初始化的测试方法,特别涉及一种嵌入式控制系统变量初始化的测试方法。



背景技术:

一般现有的方案是通过编译器本身自带的检测工具(或者是代码静态分析工具)对代码进行静态的逻辑分析,查找出可能未被初始化的变量;这种方法依赖于编译器和所用的工具,如果是用编译器一般无法做到完整的检测,而用工具检测毕竟是逻辑分析,与实际情况还是有一定差别的。



技术实现要素:

本发明的目的为了解决现有技术问题,提供方法,具体实现方案如下:

一种嵌入式控制系统变量初始化的测试方法,其特征在于,包括如下步骤:

步骤S1:嵌入式系统程序植入测试程序;

步骤S2:上位机载入嵌入式系统程序的内存分配文件,并从所述内存分配文件获取嵌入式系统程序声明的系统变量在内存的存储空间信息;

步骤S3:上位机运行,将嵌入式系统的内存分区信息、相应的填充码和填充指令发送给嵌入式系统;

步骤S4:嵌入式系统接收到上述信息,对内存进行填充;

步骤S5:上位机下发查询指令给嵌入式系统,所述查询指令为查询内存数据;

步骤S6:嵌入式系统根据当前内存区域进行读取,并将读取数据传输至上位机;

步骤S7:上位机接收嵌入式系统发送的数据并存储;将数据暂存在上位机端;

步骤S8:上位机判断嵌入式系统的内存是否为第一次填充,若是,则返回步骤S3,否则,进入步骤S9;

步骤S9:上位机比较第一次填充后读回的内存数据和第二次填充后读回的内存数据,若第一次读回的内存数据与第二次读回的内存数据相等,则表示所处的内存单元已初始化,否则表示所处的内存单元未初始化。

在本发明一实施例中,对内存的第一次填充的填充码和对内存的第二次的填充码不相同。

在本发明一实施例中,所述存储空间信息包括系统变量在内存的起始地址及所占空间大小。

在本发明一实施例中,所述内存分区信息包括嵌入式系统的内存分区数目以及分区的起始地址和结束地址。

在本发明一实施例中,步骤S1还包括嵌入式系统程序植入测试程序后,嵌入式系统上电,并执行相应的测试程序。

在本发明一实施例中,所述测试方法,是运行在嵌入式系统的应用程序执行之前。

在本发明一实施例中,所述嵌入式控制系统为控制程序存储在只读存储器中的嵌入式处理器控制板。

与现有技术相比具有的有益效果如下:本发明的嵌入式控制系统变量的初始化变量测试能够自动化完成,不需要对编译器有特殊的要求,能够广泛适应各种嵌入式平台。克服了编译器(或代码静态分析工具)无法准确查找和实用性比较低等情况,有效地节约人力投入,提高软件测试效率,具备高效、准确的特点。

附图说明

图1为本发明的原理流程图。

具体实施方式

下面结合附图和具体实施例对本发明做进一步说明。

嵌入式系统是一个控制程序存储在只读存储器(ROM)中的嵌入式处理器控制板,通常由单个程序实现整个控制逻辑,系统启动运行前需要对程序使用的变量进行初始化。所谓的变量初始化,是对变量进行声明后,对其进行初始化赋值,程序运行时对变量进行引用才能得到预期结果,若未对其初始化,运行结果将是不可预料的。

一种嵌入式控制系统变量初始化的测试方法,其包括如下步骤:

步骤S1:嵌入式系统程序植入测试程序;

步骤S2:上位机载入嵌入式系统程序的内存分配文件,并从所述内存分配文件获取嵌入式系统程序声明的系统变量在内存的存储空间信息;步骤S3:上位机运行,将嵌入式系统的内存分区信息、相应的填充码和填充指令发送给嵌入式系统;填充码指的是对某个内存单元所写入的一个数值,用于标记内存的初始状态。

步骤S4:嵌入式系统接收到上述信息,对内存进行填充;

步骤S5:上位机下发查询指令给嵌入式系统,所述查询指令为查询内存数据;

步骤S6:嵌入式系统根据当前内存区域进行读取,并将读取数据传输至上位机;

步骤S7:上位机接收嵌入式系统发送的数据并存储;将数据暂存在上位机端;

步骤S8:上位机判断嵌入式系统的内存是否为第一次填充,若是,则返回步骤S3,否则,进入步骤S9;

步骤S9:上位机比较第一次填充后读回的内存数据和第二次填充后读回的内存数据,若第一次读回的内存数据与第二次读回的内存数据相等,则表示所处的内存单元已初始化,否则表示所处的内存单元未初始化。其中读取数据指的是读取一段内存单元的数值.

进一步地,对内存的第一次填充的填充码和对内存的第二次填充的填充码不相同,若上位机第一次读取回的内存数据与第一次的填充码相等且上位机第二次读取回的内存数据与第二次的填充码相等,则表示所处的内存单元未初始化,若第一次填充后读回的内存数据与第二次填充后读回的内存数据相等,则所处的内存单元已初始化。

进一步地,所述存储空间信息包括系统变量在内存的起始地址及所占空间大小。

进一步地,所述内存分区信息包括嵌入式系统的内存分区数目以及分区的起始地址和结束地址。

进一步地,步骤S1还包括嵌入式系统程序植入脚本程序后,嵌入式系统上电。

进一步地,所述测试方法,是运行在嵌入式系统的应用程序执行之前。

进一步地,所述嵌入式控制系统为控制程序存储在只读存储器中的嵌入式处理器控制板。

上列较佳实施例,对本发明的目的、技术方案和优点进行了进一步详细说明,所应理解的是,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1