提高移动手持设备软件底层调试效率的方法技术

技术编号:2851863 阅读:253 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种提高移动手持设备软件底层调试效率的方法,根据CPU的相关文档,编写基于操作系统的上层程序,程序中有若干根据CPU寄存器功能划分的功能模块,所述模块可对CPU的寄存器进行读写,控制寄存器的函数,并将寄存器状态在输出设备显示;判断可能出现的问题,根据判断结果调用所需的功能模块并运行,通过对显示内容的分析,查找驱动存在的问题。本发明专利技术利用上层应用程序,直接对底层硬件状态(GPIO,各硬件状态寄存器等)进行读取,以直观的方式显示在屏幕上,帮助调试者进行判断;上层应用程序的更换,避免了烧录整个环境,大大提高调试效率;采用集成的方式,可根据调试需要添加所需模块,可扩展性强,通用性强。

【技术实现步骤摘要】

本专利技术涉及一种提高软件调试效率的方法,尤其是一种。
技术介绍
在PDA(个人数字助理)等手持式设备的开发过程中,由于一些GPIO(通用输入输出接口)的引脚设置不当或由于某些代码的不完善而误操作,导致很多驱动程序的BUG(程序错误),如关机之后同步按钮失效等等。传统的解决方法只能在整个环境中加入一些专门的跟踪代码或状态输出语句来获得当前各个相关设备的工作状态。但是由于事先并不完全清楚引发BUG的程序位置,因此需要通过反复跟踪反复调试逐渐发现错误并解决,参见图1。然而每一次DEBUG(查错)代码的修改,都需要对整个环境进行重新烧录,耗费大量时间,这造成此类BUG的修正极其耗时。同时,对于一些不易重现的BUG,更是缺乏有效的解决办法,成为DEBUG过程中的难题。
技术实现思路
本专利技术所要解决的技术问题是提供一种利用上层应用程序,利用上层应用程序,直接对底层硬件状态(GPIO,各硬件状态寄存器等)进行读取,以直观的方式显示在屏幕上,帮助调试者进行判断,提高调试效率。为解决上述技术问题,本专利技术的技术方案是,根据CPU(中央处理器)的相关文档,编写基于操作系统的上层程序,程序中集成有若干根据CPU寄存器功能划分的功能模块,所述功能模块可对CPU的寄存器进行读写,以改变基于相关寄存器的系统功能,并将寄存器状态在输出设备显示;判断可能出现的问题,根据判断结果调用相应的功能模块并运行,通过对显示内容的分析,查找底层驱动存在的问题。本专利技术利用上层应用程序,直接对底层硬件状态(GPIO,各硬件状态寄存器等)进行读取,以直观的方式显示在屏幕上,帮助调试者进行判断。上层应用程序的更换,避免了烧录整个环境,大大提高调试效率。对于不易重现的外围设备BUG,可用各种方法将此程序安装至目的机器运行,在不破坏其BUG环境的情况下立即察看底层硬件工作状态,利于调试者判断BUG的起因,并能做一些直接的底层调试设置,方便了调试者。本专利技术采用集成的方式,可根据调试需要添加所需模块,可扩展性强,通用性强。附图说明下面结合附图和实施例对本专利技术作进一步描述图1为现有技术驱动调试流程图;图2为本专利技术调试流程图。具体实施例方式,包括根据CPU的相关文档,编写基于操作系统的上层程序,程序中有若干根据CPU寄存器和I/O功能划分的功能模块,所述模块可对CPU的寄存器进行读写,并将寄存器状态在输出设备显示;判断可能出现的问题,根据判断结果调用所需的功能模块并运行,通过对显示内容的分析,查找底层驱动存在的问题。如图2所示,在发现BUG之后,添加相应的软件模块到程序,再将程序安装或发送到机器,然后查看GPIO或相应的硬件状态,并进行分析,如果没找出BUG的原因,根据分析结果,选择再添加其它硬件模块并按刚才的步骤再次执行,或者继续查看GPIO或相应的硬件状态,进行分析。由于系统底层驱动的BUG,多数与系统GPIO状态和设置有关。对一些重要GPIO的操作,需要进行适当的保护措施,否则会导致系统瘫痪,无法继续调试。例如CPU的reset pin(复位引脚),如果设置不当,将导致整个机器无法复位,只能拆开外壳并拔掉电池。保护重要GPIO的方法有几种对于会导致系统崩溃的GPIO,可以采用只能读取其状态,不能进行修改设置的方法;对于一些需要进行修改调试,但修改之后可能导致系统对用户输入无响应的GPIO,可以在程序中设定自动恢复功能,以最大限度保证系统可用性,提高调试效率。对于除GPIO外其它调试所需寄存器的读写功能,可以针对不同的BUG进行动态添加,并随时通过同步或发送等多种方法安装到目标机器中,实时获取所需数据。比如调试电池模块时,在程序中加入ADC(模数转换)取样函数(模块),随时将不同电压下系统ADC采样原始数据显示到屏幕,并可以增加直接由调试者输入数据设置参考电压等参数的功能。本专利技术提供了一种及时获得底层硬件工作状态的途径,避免以前使用调试跟踪代码甚至示波器分析的麻烦,使一些BUG难题快速解决成为可能。本方法在一些不易重现BUG或者重新烧录整个环境就会破坏BUG现场的情况下更加方便有效。例如,在环境测试中发现,部分机器Bluetooth(蓝牙)功能失效,此时测量波形发现某控制引脚状态异常,使用该程序立刻就可以观察到此时CPU的相关GPIO寄存器软件设置和工作状态是否正确,从而判断是由软件引起机器工作异常还是由于硬件问题导致程序对硬件控制失效。本文档来自技高网...

【技术保护点】
提高移动手持设备软件底层调试效率的方法,其特征在于,编写基于操作系统的上层程序,程序中集成有若干根据CPU寄存器及I/O功能划分的功能模块,所述功能模块可对CPU的寄存器进行读写,改变基于寄存器的系统功能,并将寄存器状态在输出设备显示;判断可能出现的问题,根据判断结果调用相应的功能模块并运行,通过对显示内容的分析,查找底层驱动存在的问题。

【技术特征摘要】
1.提高移动手持设备软件底层调试效率的方法,其特征在于,编写基于操作系统的上层程序,程序中集成有若干根据CPU寄存器及I/O功能划分的功能模块,所述功能模块可对CPU的寄存器进行读写,改变基于寄存器的系统功能,并将寄存器状态在输出设备显示;判断可能出现的问题,根据判断结果调用相应的功能模块并运行,通过对显示内容的分析,查找底层驱动存在的问题。2.根据权利要求1所述的提高移动手持设备软件底层调试效率的方法...

【专利技术属性】
技术研发人员:李贇何代水
申请(专利权)人:英华达上海电子有限公司
类型:发明
国别省市:31[中国|上海]

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

1