专栏中心

EEPW首页 > 专栏 > 嵌入式软件设计常用的测试工具

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

发布人:lionwq 时间:2008-01-08 来源:工程师 发布文章

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

  ★源码级调试器[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]
    在嵌入式应用中,有时候为了特定的目的,需要自行编写一些工具来达到某种测试目的。

专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们

关键词:

相关推荐

ARM嵌入式系统开发8

CES获奖:RAPA:以注意力机制重塑 4D 雷达感知范式

汽车电子 2026-01-07

MentorLens:无需联网的 AI 导师眼镜,重构“个性化学习”的技术边界

消费电子 2026-01-07

CES获奖:Artenix™ AI:面向 AI 芯片制造的嵌入式电源新范式

电源与新能源 2026-01-07

CES 2026:惠普推出配备EliteBoard G1a的AI键盘PC

ARM嵌入式系统开发7

2009年第四届智能车竞赛北京科技大学表演车模(光电组)

视频 2010-02-01

CES获奖:ST VL53L9:2.3k 分区直射式 ToF 3D LiDAR,扩展高分辨率深度感知边界

物联网与传感器 2026-01-07

恩智浦半导体推出云端 AI 开发工具,简化智能体 AI 开发

ASURO循迹避障测速智能车平衡功能演示

视频 2010-02-01

2007智能车决赛展示视频清华大学第一代表队三角洲队

视频 2010-02-01

ARM嵌入式系统开发6

CES获奖:Scan&Go:无 CAD、无代码的 AI 自主移动机器人,让“大型制造自动化”真正落地

机器人 2026-01-07

ARM嵌入式系统开发9

CES获奖:Cognitum:面向新一代边缘设备的超低功耗 AI 处理器

嵌入式系统 2026-01-07

ASURO智能车功能检测演示

视频 2010-02-01

CES获奖:ST LSM6DSV320X IMU:双加速度计 + AI 嵌入式智能,重塑高动态运动感知边界

物联网与传感器 2026-01-07

2009年3月北京邮电大学第一届校园智能车大赛

视频 2010-02-01

ARM嵌入式系统开发-5

CES获奖:ZONE HSS1:面向生成式大模型的可穿戴 AI 接口,重新定义人机交互形态

消费电子 2026-01-07
更多 培训课堂
更多 焦点
更多 视频

技术专区