实时嵌入式系统追踪调试技术研究

实时嵌入式系统追踪调试技术研究

ID:20624766

大小:1.84 MB

页数:62页

时间:2018-10-14

实时嵌入式系统追踪调试技术研究_第1页
实时嵌入式系统追踪调试技术研究_第2页
实时嵌入式系统追踪调试技术研究_第3页
实时嵌入式系统追踪调试技术研究_第4页
实时嵌入式系统追踪调试技术研究_第5页
资源描述:

《实时嵌入式系统追踪调试技术研究》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、硕士学位论文实时嵌入式系统追踪调试技术研究RESEARCHONTRACINGANDDEBUGGINGTECHNOLOGYINREAL-TIMEEMBEDDEDSYSTEM巴晏濛哈尔滨工业大学2009年6月哈尔滨工业大学工学硕士学位论文第1章绪论1.1课题来源及研究的目的和意义嵌入式系统正日渐成为现代社会一项例程和不可分割的一部分,对这些系统的质量保证不断提出更新的、更高的要求。有越来越多的嵌入式软件来源于这些广泛应用的嵌入式系统。在众多质量保证方法中,调试技术是一个直接并且有效的方法来消除程序错误。嵌

2、入式系统的特点是尺寸小,资源和能源极其有限。由于这些原因,嵌入式软件与通常的计算机软件存在很大不同。尤其,对这些嵌入式软件进行调试是嵌入式系统开发过程中最复杂一个环节,对嵌入式软件进行高效率的调试也变得越来越重要。由于嵌入式系统的资源有限,通常不允许对程序暂停足够长时间来让开发者得到有关程序行为的有用信息。如果程序的正确性依赖于它的实时性,由调试器引入的延迟将急剧改变程序的行为。所以,常规的设置断点和单步调试等传统调试方法不适用于嵌入式软件的调试。针对以上嵌入式系统带来的挑战,开发一种高效并且准确的嵌

3、入式软件调试技术,具有很大的市场潜力。本课题来源于加拿大QNX公司实时嵌入式软件部的技术基础研究项目,主要针对嵌入式软件调试过程中可能出现的技术困难,深入分析嵌入式软件调试技术的工作原理,总结其技术特点,并完成其调试技术的初步开发,实现对一种对嵌入式软件的高效准确调试方法的设计。本文将嵌入式软件调试问题具体化并对其进行数学建模,对有关追踪技术的各个方面进行量化,提出两种启发式算法和一种优化算法,完成对嵌入式程序的追踪和重现,相对于其它类似研究成果,有着更好的准确性。完成对嵌入式软件调试技术的研究并对于

4、以后的软件调试有一定的借鉴性将是本文的价值所在。1.2软件调试技术的背景和概念软件开发的经验指出,软件通常会推迟发行、超过预期成本并且存在错误。随之而来的问题包括:“软件工程或软件开发为什么与其他工程如此不同?”“为什么软件工程师不能像其他的传统工程师一样使软件准确无误?”-1-哈尔滨工业大学工学硕士学位论文传统的工程学科是基于数学的并且能够对设计对象的行为进行建模和预测。而软件工程更像是一个工艺品,是基于反复实验的,而不是计算和预测。但是,如果深入挖掘软件的特别之处,这个类比并不是完全正确的,因为它

5、没有指出计算机软件与其他物理系统的两个关键不同之处:1)软件具有不连续的行为2)软件缺乏物理特征,比如质量、惯性、尺寸等对于软件,唯一可以被软件工程师建模并且测量的物理特征就是时间。因此针对于软件系统时间特征的建模和验证已经有一些很好的工作和理论研究基础。这些对于实时系统的理论提供了一个对计算机软件更加“工程化”的建模和验证,但是这些理论更倾向于对时序和事件发生顺序的分析,因此还需要面对软件的功能性验证。本文中会用到的一些术语包括:故障:故障在特定的环境下,在指定时间内,系统或系统的组件没有完成指定或

6、预期的功能。也就是说,对于对于组件O,输入X,产生一个输出O(X),此输出与期望或规范不相符合。错误:错误是一个设计缺陷或者与预期状态的偏离。也就是说,如果可以把程序看成是一个状态机,一个错误就是一个不希望看到的状态,这个状态是由对错误的执行造成的。缺陷:缺陷是错误的既判原因。通常情况下,故障属于缺陷,但是反之不成立,因为缺陷并不一定会导致故障。确定性:一个系统是确定的,如果对于一个被观测的行为P,是由一组必要且充分的参数或条件O,唯一定义的。重现性:一个系统是可重现的,如果被观测的行为P是确定的,并

7、且可以控制充分且必要的状态组O,或其一个子集。测试:通过观察系统的运行时行为并与规范进行对照寻求不一致来揭示系统故障的过程。调试:揭示引起系统故障的原因的过程。调试还包括除掉系统错误并对系统的正确性进行验证。-2-哈尔滨工业大学工学硕士学位论文1.1实时嵌入式系统调试技术及其相关理论的发展概况调试技术是嵌入式系统开发中的一项关键技术。在系统测试之后进行的调试技术在于已经知道了系统的非指定行为——也就是是系统缺陷或程序错误——的存在并试图改正这些错误。由于嵌入式系统,尤其是实时嵌入式系统通常要与外界相互

8、作用,嵌入式软件会使用很多中断来控制时序和一些I/O设备,比如传感器或执行器。调试中断驱动的软件是十分困难的,这也是为什么软件的测试和调试会占有整个嵌入式系统总开发成本的30%~50%的原因之一。传统的调试手段,比如设置断点和单步执行不适合调试中断驱动的软件。即使是使用条件断点,在开发者将程序暂停并单步执行代码的过程中,任何一个频繁与I/O设备相互作用的系统都会在很大程度上改变其应有的行为。系统追踪技术对于中断驱动软件中的调试控制流程问题来说是一个很好的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。