用于硬件平台所开发的应用程序的调试方法和系统的制作方法

文档序号:8380786阅读:264来源:国知局
用于硬件平台所开发的应用程序的调试方法和系统的制作方法
【技术领域】
[0001]本发明主要涉及应用程序的调试方面,涉及一种用于硬件平台所开发的应用程序的调试方法和系统。
【背景技术】
[0002]通常,硬件平台(尤其是嵌入式系统开发平台)自身的操作系统功能极为有限,没有提供可调试的支持(即,在硬件平台内不存在硬件仿真器或者硬件虚拟机),在这些硬件平台的开发操作处于一种高复杂度且低可见度的状态,为了验证所开发的程序的正确性,开发操作一般要使用硬件仿真器(也称为硬件调试器)。现有技术中,调试器(DeBugger)是作为软件维护与错误修正的一个最重要、最直接,同时也是必不可少的一种机制。在应用中,调试器一般是通过串口与上位机(即计算机)软件相连,在连接之后由上位机软件发出控制命令,通过该串口将待调试的可执行程序发送到硬件仿真器内,然后由硬件仿真器执行该可执行程序。所不同的是,硬件仿真器可以对这些程序做特定的运行,如单步、断点、更改执行地址、查看内存与寄存器状态等等来实现固件的调试。
[0003]使用硬件仿真器进行开发,首先要建立一个符合要求的硬件平台,如果该硬件平台涉及的程序比较复杂,还要搭建一个人机交流通道,例如,可以是一个简单的发光二极管、蜂鸣器或串口通讯的IXD显示屏等。然后编写一个简单的程序示例,通过此前建立的人机交流通道验证该硬件平台是否正常工作,之后再验证底层驱动程序和用户框架程序是否正常工作,然后才能对应用程序进行调试。所以,开发时搭建该硬件平台时操作过程比较复杂,而且硬件仿真器价格也较昂贵。

【发明内容】

[0004]为了解决上述问题,本发明提供一种用于硬件平台所开发的应用程序的调试方法和系统。
[0005]根据本发明的一个方面,提供了一种用于硬件平台所开发的应用程序的调试方法,其包括以下步骤:
[0006]步骤SI,确定硬件平台的1操作,用上位机系统内的1操作代码来模拟硬件平台的1操作;
[0007]步骤S2,将用于模拟的1操作代码编译为库文件,将待调试的应用程序编译为上位机的可执行程序,并将库文件与可执行程序的各执行代码分别进行初始链接;
[0008]步骤S3,通过模拟的1操作,在上位机上运行并调试可执行程序。
[0009]作为优选,硬件平台以非硬件相关的语言编写应用程序。
[0010]作为优选,库文件包括动态库文件或静态库文件。
[0011]作为优选,步骤SI进一步包括:
[0012]通过硬件平台为应用程序提供的API来确定硬件平台的1操作。
[0013]作为优选,硬件平台的1操作包括下列至少之一:
[0014]文件1操作、图形显示、时钟、硬件信息1操作、执行单元1操作。
[0015]根据本发明的另一个方面,提供了一种用于硬件平台所开发的应用程序的调试系统,其包括:
[0016]模拟模块,其配置为确定硬件平台的1操作,用上位机系统内的1操作代码来模拟硬件平台的1操作;
[0017]编译模块,其配置为将用于模拟的1操作代码编译为库文件,且将待调试的应用程序编译为上位机的可执行程序,并将库文件与可执行程序的各执行代码分别进行初始链接;
[0018]调试模块,其配置为通过模拟的1操作,在上位机上运行并调试可执行程序。
[0019]作为优选,硬件平台以非硬件相关的语言编写应用程序。
[0020]作为优选,库文件包括动态库文件或静态库文件。
[0021]作为优选,模拟模块进一步配置为通过硬件平台为应用程序提供的API来确定硬件平台的1操作。
[0022]作为优选,硬件平台的1操作包括下列至少之一:
[0023]文件1操作、图形显示、时钟、硬件信息1操作、执行单元1操作。
[0024]本发明相对于现有技术的有益效果在于:
[0025]1、本发明利用上位机的1操作代码来模拟硬件平台的主要1操作,使在上位机上进行调试的应用程序的运行逻辑以及运行效果与在硬件平台上运行时保持一致,从而使得硬件平台所开发的应用程序可以易于由上位机的调试工具进行调试从而定位该应用程序内的逻辑错误,解决了在硬件平台上开发软件时遇到的仿真操作过程复杂的问题,并且不需要硬件仿真器,因此可以降低开发成本,并且本发明的技术方案的实现不同于现有技术中的硬件虚拟机,硬件虚拟机在进行调试时需要模拟硬件指令集,而本发明的只需要模拟该硬件平台的1操作,因而所需的开发周期很短,能够实现轻量级的仿真方法;
[0026]2、适用于多种上位机系统,便于对硬件平台所开发的应用程序进行调试,并且在上位机上也不需要额外的硬件支持,仅使用其常用的开发调试工具即可。
【附图说明】
[0027]图1为根据本发明的用于硬件平台所开发的应用程序的调试方法的流程图;
[0028]图2为根据本发明的用于硬件平台所开发的应用程序的调试系统的结构框图。
【具体实施方式】
[0029]以下结合附图对本发明的进行详细描述。
[0030]根据本发明的实施例,提供了一种用于硬件平台所开发的应用程序的调试方法,其可以包括以下步骤:
[0031]步骤SI,确定硬件平台的1操作,用上位机系统内的1操作代码来模拟硬件平台的1操作。
[0032]一般硬件平台会为应用程序提供 API (Applicat1n Programming Interface),由于硬件平台的操作系统往往十分精简,其API —般都是1操作,因此可以通过利用硬件平台为应用程序提供的API来确定硬件平台的1操作。其中,硬件平台的1操作可以包括文件1操作、图形显示、时钟、硬件信息1操作、执行单元1操作等。根据对硬件平台1操作的分析可以确定该硬件平台的1操作中是否存在文件操作,该硬件平台是否有显示设备,该应用程序是否需要向显示设备显示一些信息,该平台的程序是否要向系统获取时钟等。
[0033]在一些优选实施方式中,如果上位机系统为Windows或Linux等主流操作系统,则步骤SI中的1操作代码的模拟可以包括:将文件1操作模拟为Windows或Linux平台的文件操作,将图形显示模拟为窗口显示,将时钟模拟为获取系统的时间等。其中,此类1操作一般为操作系统的系统调用。
[0034]步骤S2,将用于模拟的1操作代码编译为库文件,将待调试的应用程序编译为上位机的可执行程序,并将库文件与可执行程序的各执行代码分别进行初始链接。
[0035]由于硬件平
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1