一种嵌入式软件调测方法技术

技术编号:20025388 阅读:32 留言:0更新日期:2019-01-06 04:22
本发明专利技术提供一种嵌入式软件调测方法,包括:步骤A,预先确定调试用的宏,在宏内定义与bsp层函数及系统软件层声明相同的假函数;步骤B,针对嵌入式软件的代码,编写两份编译文件A和文件B,编译文件A用于在PC上调试使用,编译文件B用作正常生成可在嵌入式设备运行的可执行程序使用;步骤C,利用编译文件A生成在PC上运行的可执行程序,通过PC上的软件开发环境中自带的调测功能对代码进行初步调试;步骤D,经过步骤C调试后,利用编译文件B生成可在嵌入式设备上运行的可执行程序,支持对程序bsp层做进一步调试。本发明专利技术能够有效提高软件调测效率并能区分软硬件故障。

【技术实现步骤摘要】
一种嵌入式软件调测方法
本专利技术涉及软件调测
,具体涉及一种嵌入式软件调测方法。
技术介绍
嵌入式系统是指针对特定的应用而构建的硬件和软件高度集成的计算机系统,以特定应用为目的,以计算机技术为基础,支持软硬件裁减,对功能、可靠性、体积、功耗有着严格的要求。一般而言,嵌入式系统由硬件层、中间层、系统软件层和应用软件层四部分组成,实现对被控对象的控制、监视或管理等功能。硬件层包含嵌入式微处理器、存储器、通用设备接口和I/O接口(A/D、D/A、I/O等),系统软件和应用软件都可以固化在板上存储器中;硬件层与软件层之间为中间层,也称为板级支持包(BoardSupportPackage,BSP),该层将系统上层软件与底层硬件分离开来,使系统的底层驱动程序与硬件无关,该层一般包含相关底层硬件的初始化、数据的输入/输出操作和硬件设备的配置功能;系统软件层包括实时多任务操作系统(RTOS)、文件系统、图形用户接口、网络系统及通用组件模块组,主要负责嵌入式系统的软件、硬件的资源分配、任务调度、控制协调;应用软件层用来实现对被控对象的控制功能,由所开发的应用程序组成,又称为嵌入式软件。目前,实时嵌入式操作系统已经被广泛地应用于军事、工业和民用,其实时性和微内核等特点使其在很多领域具有不可替代的作用。随着嵌入式系统的广泛应用,嵌入式软件的开发显得十分重要,而调试作为软件开发过程中必不可少的环节,对其进行系统研究是很有必要的。软件调试就是为了发现并排除软件程序中的错误,而通过某种方法控制被调试程序的执行过程,以便随时查看和修改被调试程序执行状态的方法。目前常用的嵌入式软件调测方法是交叉调试法。交叉调试法在软件调试时采用的是在宿主机和目标机之间的交叉调试,软件调试工具运行在宿主机的通用操作系统之上,但被调试的软件却运行在基于特定硬件平台的嵌入式操作系统中,软件调试工具通过串口或者网络与之进行通信。在利用交叉调试法对嵌入式软件进行调试时需要搭建相应的硬件环境,每次修改代码后还需要重新对设备升级程序才能进行下次调试。搭建环境、拷贝代码和设备的重新启动所浪费的时间在整个调试过程所需时间中占用了极大比例,而且这种调试方法不能有效区分软硬件故障,这都极大降低了嵌入式软件的调试效率。还有一些调测方法是代码开发者自己研究的调测方法,但都需要为调试工作重新编写复杂的调试代码,这极大增加了调测成本。因此,提供一种能够有效提高软件调测效率并能区分软硬件故障的嵌入式软件调测方法成为本领域技术人员目前需要解决的技术问题。
技术实现思路
本专利技术的目的是提供一种能够有效提高软件调测效率并能区分软硬件故障的嵌入式软件调测方法。本专利技术的技术方案提供一种嵌入式软件调测方法,包括如下步骤:步骤A,预先确定调试用的宏,在宏内定义与bsp层函数及系统软件层声明相同的假函数;步骤B,针对嵌入式软件的代码,编写两份编译文件A和文件B,编译文件A用于在PC上调试使用,编译文件B用作正常生成可在嵌入式设备运行的可执行程序使用;步骤C,利用编译文件A生成在PC上运行的可执行程序,通过PC上的软件开发环境中自带的调测功能对代码进行初步调试;步骤D,经过步骤C调试后,利用编译文件B生成可在嵌入式设备上运行的可执行程序,支持对程序bsp层做进一步调试。而且,步骤A中在调试宏内定义的与bsp层函数声明相同的假函数的实现部分可以根据调试需求任意定义,不必考虑底层的具体实现。而且,步骤A中在调试宏内定义的与系统软件层函数声明相同的假函数的实现部分需要利用所在调试环境的操作系统的系统函数替换使用。而且,步骤B中的编译文件A应对步骤A中的调试宏进行定义,而编译文件B不能对步骤A中的调试宏进行定义。而且,步骤C中在PC上调测程序时,其所用到的运行环境能够采用MicrosoftVisualStudio或者eclipse,但不限于这两种开发环境。而且,步骤C中,在宏内定义不同测试条件以完成不同测试目的。而且,步骤C中,通过直接修改bsp成假函数中的不同实现完成多输入条件或者多输出条件的代码测试,增强代码健壮性。而且,利用编译文件B生成的可执行程序不会包含任何与调试代码有关的信息,不会因为源代码中增加调试用的假函数而影响最终使用的可执行程序的大小。而且,步骤C中,进行初步调试不需要引入其他的交叉调试工具,支持在PC上直接调试,但需要利用宏将调试部分与源代码分割。而且,步骤D中,利用其他调试工具对程序做进一步调试。本专利技术的有益效果是:利用假函数中的不同实现可以完成多输入条件或者多输出条件的代码测试,增强代码健壮性;利用编译文件B生成的可执行程序不会包含任何与调试代码有关的信息,不会因为源代码中增加调试用的假函数而影响最终使用的可执行程序的大小;调试用的代码与最后实际使用的代码为一套代码,方便代码管理;与交叉调试相比,该调试过程前期不需要引入其他的调试工具,直接在PC进行调试,不需要将代码拷贝到设备上,节省环境搭建时间、程序拷贝时间和设备重启时间,而这些时间恰恰在调试初期所占比例最多,这就极大提高了调试效率;由于bsp层为假函数,使用该专利技术能更有效的定位软硬件故障;虽然该专利技术强调,调试后期仍需要用交叉调试对整个调试过程进行补充,但该专利技术在前期的调试工作已经清除了很大部分的障碍,对于那些整个调试过程都用交叉调试的方法而言,使用该专利技术在工作效率上有明显优势;对于其他调试方法而言,使用本专利技术提供的技术方案以后,用户的整个调试过程不需要重新研究用于调试的代码编写,利用简单的编程知识即可实现,这可以使调试者将更大精力放到调测工作上,是一种更简单高效的方法。附图说明图1为本专利技术实施例的调测方法过程示意图。具体实施方式为了使本
的人员更好地理解本专利技术方案,下面结合附图和实施例对本专利技术作进一步的详细说明。本专利技术的核心是提供一种提高软件调测效率的嵌入式软件调测方法,该方法利用宏将代码分为调试用代码和实际使用代码,通过在宏内对bsp层函数和系统软件层函数重新定义及编写包含宏定义的编译文件和不包含宏定义的编译文件的方法,生成用于调试和实际使用的可执行程序,使得在调试初期避免使用额外的交叉调试工具,节约了搭建环境、向设备中拷贝程序和设备重启所浪费的时间,同时能有效区分软硬件故障。本专利技术实施例包括以下步骤:步骤A.预先确定调试用的宏,在宏内定义与bsp层函数及系统软件层声明相同的假函数。具体实施时,为了在嵌入式设备上运行程序,就需要先编写相应的程序代码,然后编写编译文件,用编译文件对代码进行编译链接,生成可执行文件,将可执行文件下载到设备上,设备才可以运行。用不同的编译文件对程序代码编译可以生成不同的可执行文件。本专利技术设定:编译文件A内定义了调试用的宏,对软件编译后生成的可执行文件包含了程序中宏内定义的假函数。编译文件B没有定义调试用的宏,对软件编译后生成的可执行文件包含了所有的正常使用的真实函数。编译文件A和编译文件B唯一的区别就是是否定义了编译用的宏。这个宏决定了编译出来的可执行程序为了调试使用还是正常在设备上使用。例如,编写嵌入式软件代码前先确定调试用的宏XXXX,用户编写软件代码时,可以利用C语言提供的条件编译标识符#ifdefXXXX……#endif在宏内定义与bsp层函数机及系统软件层声明相同的本文档来自技高网
...

【技术保护点】
1.一种嵌入式软件调测方法,其特征在于,包括如下步骤:步骤A,预先确定调试用的宏,在宏内定义与bsp层函数及系统软件层声明相同的假函数;步骤B,针对嵌入式软件的代码,编写两份编译文件A和文件B,编译文件A用于在PC上调试使用,编译文件B用作正常生成可在嵌入式设备运行的可执行程序使用;步骤C,利用编译文件A生成在PC上运行的可执行程序,通过PC上的软件开发环境中自带的调测功能对代码进行初步调试;步骤D,经过步骤C调试后,利用编译文件B生成可在嵌入式设备上运行的可执行程序,支持对程序bsp层做进一步调试。

【技术特征摘要】
1.一种嵌入式软件调测方法,其特征在于,包括如下步骤:步骤A,预先确定调试用的宏,在宏内定义与bsp层函数及系统软件层声明相同的假函数;步骤B,针对嵌入式软件的代码,编写两份编译文件A和文件B,编译文件A用于在PC上调试使用,编译文件B用作正常生成可在嵌入式设备运行的可执行程序使用;步骤C,利用编译文件A生成在PC上运行的可执行程序,通过PC上的软件开发环境中自带的调测功能对代码进行初步调试;步骤D,经过步骤C调试后,利用编译文件B生成可在嵌入式设备上运行的可执行程序,支持对程序bsp层做进一步调试。2.根据权利要求1所述的一种嵌入式软件调测方法,其特征在于:步骤A中在调试宏内定义的与bsp层函数声明相同的假函数的实现部分可以根据调试需求任意定义,不必考虑底层的具体实现。3.根据权利要求1所述的一种嵌入式软件调测方法,其特征在于:步骤A中在调试宏内定义的与系统软件层函数声明相同的假函数的实现部分需要利用所在调试环境的操作系统的系统函数替换使用。4.根据权利要求1所述的一种嵌入式软件调测方法,其特征在于:步骤B中的编译文件A应对步骤A中的调试宏进行定义,而编译文件B不能对步骤A中的调试宏进行定...

【专利技术属性】
技术研发人员:王彩云马焱炜欧文军陈辉
申请(专利权)人:武汉虹信通信技术有限责任公司
类型:发明
国别省市:湖北,42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1