新闻  |   论坛  |   博客  |   在线研讨会
嵌入式软件设计常用的测试工具
lionwq | 2008-01-08 12:41:57    阅读:3502   发布文章

嵌入式软件设计常用的测试工具

  ★源码级调试器[Source-level Debugger]
    这种调试器一般提供单步或多步调试、断点设置、内存检测、变量查看等功能,是嵌入式调试最根本有效的调试方法。比如VxWorks TornadoII提供的gdb就属于这一种。

  ★简单实用的打印显示工具[printf]
    printf或其它类似的打印显示工具估计是最灵活最简单的调试工具。打印代码执行过程中的各种变量可以让你知道代码执行的情况。但是,printf对正常的代码执行干扰比较大(一般printf占用CPU比较长的时间),需要慎重使用,最好设置打印开关来控制打印。

  ★ICE或JTAG调试器[In-circuit Emulator]
    ICE是用来仿真CPU核心的设备,它可以在不干扰运算器的正常运行情况下,实时的检测CPU的内部工作情况。像桌面调试软件所提供的:复杂的条件断点、先进的实时跟踪、性能分析和端口分析这些功能,它也都能提供。ICE一般都有一个比较特殊的CPU,称为外合(bond-out)CPU。这是一种被打开了封装的CPU,并且通过特殊的连接,可以访问到CPU的内部信号,而这些信号,在CPU被封装时,是没法“看到”的。当和工作站上强大的调试软件联合使用时,ICE就能提供你所能找到的最全面的调试功能。但ICE同样有一些缺点:昂贵;不能全速工作;同样,并不是所有的CPU都可以作为外合CPU 的,从另一个角度说,这些外合CPU也不大可能及时的被新出的CPU所更换。JTAG(Joint Test Action Group)虽然它最初开发出来是为了监测IC和电路连接,但是这种串行接口扩展了用途,包括对调试的支持。AD公司为Blackfin设计的Visual Dsp++就支持高速的 JTAG调试。

  ★ROM监视器[ROM Monitor]
    ROM监控器是一小程序,驻留在嵌入系统ROM 中,通过串行的或网络的连接和运行在工作站上的调试软件通信。这是一种便宜的方式,当然也是最低端的技术。它除了要求一个通信端口和少量的内存空间外,不需要其它任何专门的硬件,并提供了如下功能:下载代码、运行控制、断点、单步步进,以及观察、修改寄存器和内存。因为ROM监控器是操作软件的一部分,只有当你的应用程序运行时,它才会工作。如果你想检查CPU和应用程序的状态,你就必须停下应用程序,再次进入ROM监控器。

  ★Data监视器[Data Monitor]
    这种监视器在不停止CPU运行的情况下不仅可以显示指定变量内容,还可以收集并以图形形式显示各个变量的变化过程。

  ★OS监视器[Operating System Monitor]
    操作系统监视器可以显示诸如任务切换、信号量收发、中断等事件。一方面,这些监视器能够为你呈现事件之间的关系和时间联系;另一方面,还可以提供对信号量优先级反转、死锁和中断延时等问题的诊断。

  ★性能分析工具[Profiler]
    Profiler工具可以用来测试CPU到底耗在哪里,让你知道系统的瓶颈在哪里、CPU的使用率以及需要优化的地方。

  ★内存测试工具[Memory Tester]
    可以找到内存使用的问题所在,比如内存泄露、内存碎片、内存崩溃等问题。如果发现系统出现一些不可预知的或间歇性的问题,就应该使用内存测试工具测测看。

  ★运行跟踪器[Execution Tracer]
    可以显示CPU执行了哪些函数、谁在调用、参数是什么、何时调用等情况。这种工具主要用于测试代码逻辑,可以在大量的事件中发现异常的那些。

  ★覆盖工具[Coverage Tester]
    主要显示CPU具体执行了哪些代码,并让你知道哪些代码分支没有被执行到,这样有助于提高代码质量并消除无用代码。

  ★GUI测试工具[GUI Tester]
    很多嵌入式应用带有某种形式的图形用户界面进行交互,有些系统性能测试是根据用户输入响应时间进行的。GUI测试工具可以作为脚本工具,有开发环境中运行测试用例,其功能包括对操作的记录和回放、抓取屏幕显示供以后分析和比较、设置和管理测试过程(Rational公司的robot和Mercury的 Loadrunner工具是杰出的代表)。很多嵌入式设备没有GUI,但常常可以对嵌入式设备进行插装来运行GUI测试脚本,虽然这种方式可能要求对被测代码进行更改,但是节省了功能测试和回归测试的时间。

  ★自制工具[Home-made tester]
    在嵌入式应用中,有时候为了特定的目的,需要自行编写一些工具来达到某种测试目的。

参与讨论
登录后参与讨论
淡泊以明志 宁静以致远
推荐文章
最近访客