[发明专利]电路板固件命令行调试(测试)工具无效
申请号: | 201110307097.7 | 申请日: | 2011-10-12 |
公开(公告)号: | CN102402480A | 公开(公告)日: | 2012-04-04 |
发明(设计)人: | 吴华中 | 申请(专利权)人: | 吴华中 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100041 北京市石景*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 电路板 命令行 调试 测试 工具 | ||
技术领域
本发明涉及用于对电路板固件的调试,跟踪以及测试。并且,电路板及其固件正式发布以后,通过本发明的实施例,仍然可使电路板固件程序从任意指定的起始地址开始执行。例如,通过本发明,可直接指定固件源代码(C/C++)的函数或者全局变量作为命令执行。
背景技术
通常,电路板固件工程师在固件研发过程中,最常用的调试工具就是调试仿真器(ICE)。尽管调试仿真器(ICE)的调试功能强大,但是,它存在以下局限:
固件的目标程序在编译时,必须编译链接debug信息
固件必须通过调试仿真器(ICE)连接启动。
调试仿真器(ICE)设备以及配套的调试软件价格昂贵。
正是因为以上局限,再加上,研发人员在做固件研发时,通常并不是每次都需要进行单步调试,而更多的是做单元测试,即,编码过程中,使刚刚完成的子函数或者子程序在一个足够简单的环境里运行,以检查执行结果与研发人员的预期是否一致。
本发明所提供的方案就是在电路板固件中,能够提供这样一个简单的环境,并且使这个简单的运行环境实现成一个通用的环境:操作人员可以通过“上位机命令行”程序执行任意的固件函数、子程序、或者全局变量以检测其实现的结果。
电路板固件完成最终发布以后,仍然可通过本发明所提供的方案,以及固件内部本身提供的各种应用程序接口,查看固件内部各进程,线程,内存,设备,等信息。
虽然美国风河公司(WindRiver)的Tornado产品也具备上述功能特征,但是Tornado产品仅能用于风河公司(WindRiver)自己的嵌入式操作系统VxWorks。
对于本发明,发明人所公开的技术方案是将该功能特征应用于所有的嵌入式操作系统,包括Linux、ThreadX、等,当然也包括风河公司(WindRiver)的VxWorks。
发明内容
本发明的目的在于,实现一种方法,使电路板固件(或者软件)研发人员,测试人员,或者电路板产品的最终用户能够通过所输入的命令,实现固件(或者软件)从指定的代码地址(通常为C/C++函数指针)开始执行,然后通过输出的调试日志信息了解当前电路板硬件,固件,进程,内存,堆栈等信息状态。例如,假设某一款手机电路板系统中使用了本发明的实施例,那么手机使用者则可以通过本发明实施例的“上位机命令行”程序通过USB或者WIFI通信接口与之连接,查询手机当前进程的运行状况,内存使用情况,等等。
为了实现这种目的,本发明在目标电路板固件中增加一个模块,在此,发明人将该模块命名为“电路板调试模块”。同时,安排“上位机命令行”程序与“电路板调试模块”通过USB,网络等通信接口连接。
“上位机命令行”程序为应用程序,通常运行在PC机上,或者笔记本电脑上,或者其他电脑设备上,比如平板电脑。“上位机命令行”程序通过通信接口接收目标电路板产生的调试日志信息,并输出到显示屏上。“上位机命令行”程序负责将操作人员所输入的命令传送至目标电路板的“电路板调试模块”。如果对“上位机命令行”程序指定目标电路板的“固件代码标识映射表”数据,操作人员可将固件源代码(C/C++)中任意函数名或者全局变量名作为输入命令,“电路板调试模块”将执行该函数或者输出全局变量的数值,函数的执行结果和所输出的数值均以调试日志信息回传至“上位机命令行”程序。
本发明的这种方案可以很容易的帮助电路板固件研发工程师或者测试人员实现调试或者测试功能的扩展。比如,可以增加定义以下函数实现相应功能扩展:
定义一个函数:列出系统当前所有的内存总大小,已使用的大小,空闲的大小,空闲最大块的大小,内存使用的峰值等等。
定义一个函数:列出系统当前所有驻留内存的进程,包括进程名,进程标识(Task Identification),进程入口地址,进程优先级,进程状态,CPU时间占用比例等等。定义一个函数:将进程标识(Task Identification)或者进程句柄作为参数,列出该进程执行的堆栈信息。即从进程当前正在执行的函数,到该进程的入口函数,列出所有函数调用层次关系。对于固件研发工程师来讲,这是一个非常有用的函数命令,因为当固件有异常发生,只要系统还没有彻底崩溃,就可以通过该命令准确的定位到异常所发生的代码行。
定义一个函数:并且定义函数参数为数据地址,数据长度,文件名。通过该函数命令,将目标电路板系统指定地址的数据以及长度下载到上位机,以指定的文件名保存。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于吴华中,未经吴华中许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110307097.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种铝合金框架玻璃隔断墙结构
- 下一篇:结构改良的型钢锁扣