[发明专利]嵌入式系统的在线调试系统及其调试方法有效
申请号: | 200710032621.8 | 申请日: | 2007-12-13 |
公开(公告)号: | CN101183330A | 公开(公告)日: | 2008-05-21 |
发明(设计)人: | 郭伟;徐云锋;张斌 | 申请(专利权)人: | 东信和平智能卡股份有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 珠海智专专利商标代理有限公司 | 代理人: | 张中;段淑华 |
地址: | 519060广东省*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 嵌入式 系统 在线 调试 及其 方法 | ||
技术领域
本发明涉及一种嵌入式系统的在线调试系统,尤其是嵌入式系统的动态在线调试系统及应用该在线调试系统的调试方法。
背景技术
随着电子技术的发展,嵌入式系统已经广泛应用在电子通信、自动控制等领域。随着嵌入式系统的发展,其运算速度越来越快,存储容量也越来越大,在嵌入式系统中运行的程序也越来越庞大且更加复杂,程序运行时出现错误或缺陷几乎是不可避免的。因此,嵌入式系统中运行的程序编写完毕后,需要进行调试,以便发现并消除缺陷。
公开号为CN1752946A的中国发明专利申请公开了名为“一种嵌入式系统的调试方法及其系统”的发明创造。该专利申请公开的嵌入式系统的调试系统包括相互连接的调试终端和嵌入式系统,嵌入式系统中包括被调试程序,并在被调试程序中添加调试模块。调试时,首先在被调试程序中预设若干个断点,并将被调试程序下载到嵌入式系统中,然后,在嵌入式系统中运行被调试程序。被调试程序运行过程中遇到预设断点时便暂停运行,等待接收调试终端发出的命令。调试终端读取被调试程序运行环境的数据,并判断被调试程序是否存在问题,以此判断是否需要继续运行被调试程序。如被调试程序无需继续运行,则中断调试并结束;若需要继续运行,则由调试模块向被调试程序发出继续运行命令,被调试程序继续运行直至遇到新的断点。被调试程序如此运行直至完毕。
上述调试方法虽然能有效地对被调试程序进行调试,但由于断点是预设在被调试程序中,因此,在对被调试程序进行时断点的个数以及断点设置的位置都已固定,不能在运行过程中再修改。调试时,被调试程序只能在预设断点处停下,无法在调试过程中添加新的断点。若需要添加新的断点,只能退出调试后,再在被调试程序中添加新的断点,这样使调试工作很不灵活,并给调试带来不便。同时,由于断点预设在被调试程序中,无法动态地实现单步运行功能。
此外,对较为复杂的被调试程序,往往需要在被调试程序中设置大量的断点。由于每一断点的设置均占用一定的存储空间,若在被调试程序中设置断点的数量过多,则需要占用嵌入式系统中大量的存储空间,而断点在被调试程序运行过程中并不起任何作用,这就造成大量存储空间的浪费。
发明内容
本发明的主要目的是提供一种可在调试过程中动态设置断点的嵌入式系统的在线调试系统;
本发明的另一目的是提供一种应用上述嵌入式系统的在线调试系统对嵌入式系统进行调试的在线调试方法。
为实现上述的主要目的,本发明提供的嵌入式系统在线调试系统包括嵌入式系统和调试终端,该嵌入式系统与调试终端通过连接设备连接。其中,该调试终端包括用户接口模块、符号处理模块和目标处理模块。用户接口模块接收和解释调试命令,并将调试命令的相关信息发送给符号处理模块,符号处理模块根据这些信息找出调试命令中相应变量或函数的地址等信息,并传送到目标处理模块。
目标处理模块包括执行模块和通信模块,其中执行模块执行用户接口模块发出的命令,并根据符号处理模块提供的地址信息向通信模块发出对嵌入式系统进行调试的具体命令信息,通信模块将该命令信息发送到连接设备。
嵌入式系统包括被调试程序和调试模块,其中被调试程序是在调试前下载到嵌入式设备上,调试模块包括通信模块、命令处理模块和上下文处理模块。通信模块用于接收连接设备发送的命令信息,并将该命令信息传送到命令处理模块,命令处理模块根据该命令信息执行相应的操作。上下文处理模块在被调试程序中断时保存被调试程序当前的运行信息,如各寄存器的值等。
当然,调试终端的目标处理模块中还可以设置栈帧分析模块,栈帧分析模块根据用户接口模块发出的信息和符号处理模块提供的相应地址信息,通过查看嵌入式系统中相应函数的地址、栈帧指针、函数返回值等信息分析某一函数的调用关系,并将该调用关系传回用户接口模块,用户接口模块将调用关系显示出来。
由于符号处理模块可以获取各变量、函数的地址等信息,目标处理模块即可实时通过嵌入式系统的调试模块对被调试程序进行修改,这样就可以动态的在被调试程序中添加新的断点,大大的方便调试人员的调试工作。并且由于可以动态添加断点,因此动态的单步运行也就可以实现。
同时,由于断点是在调试时动态添加的,因此在被调试程序中只需要设置一个默认断点即可,减少被调试程序占用的存储空间,避免造成存储空间的浪费。
为了实现上述的另一目的,本发明提供的嵌入式系统在线调试方法应用在前述的嵌入式系统在线调试系统中,该调试方法包括以下步骤:
步骤一:在被调试程序中添加默认断点,并将被调试程序下载到嵌入式系统中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东信和平智能卡股份有限公司,未经东信和平智能卡股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710032621.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种粉状水分散辣椒精的制作方法
- 下一篇:一种氯霉素滴眼剂及其制备方法