基本的嵌入式开发调试工具覆盖
上一次,我们看了用于调试嵌入式系统的高级工具,包括仿真器(in-circuit emulator,ICE)、芯片级的调试器(特指BDM和JTAG仿真器),以及ROM监控器。但是许多嵌入式的项目能够完美地使用诸如发光二极管(LED)、串口和示波器这样的简单设备调试。
中层、中产和中坚分子。他们的工作强度大大超出了常规的“敬业”标准 串行口许多嵌入式的主板都具有一个RS232串行口,它允许你将调试信息传送到PC工作站上标准的COM口上。如果你的嵌入式对象还有剩余的内存空间,你就可以使用标准的puts()、printf()或者相等同的函数来发送有用的调试信息。
如果你正在使用Windows工作站,你就只需要运行一个终端仿真器程序来显示来自的嵌入式对象的调试信息。一个比较好的程序是HyperTerminal,它是Windows操作系统自带的。我觉得一个更好的(免费)程序是Tera Term(Pro)。
发光二极管一个简单的状态LED在某些系统上可能被当作奢侈品,但是它能够极为有效地帮助调试。(至少我会认为没有什么别的东西能够提供类似的功能。)
除了看到LED在代码某个点处开始发光或者闪烁所带来的提示之外,你还可以使用长或者短闪烁来表示大量的错误和状态报告——这只需要一点点想象力。这不是艺术的表现,但是很多嵌入式系统的开发人员只有一两个或者稍多的LED来调试小型嵌入式系统。
示波器示波器可能是基本调试辅助工具中最强大的一个,而且它不仅仅只能够用于调试硬件。
一个基本的模拟示波器就足够了,但是有数字示波器会更好。好的示波器会有两个或者更多的频道,再加上一个额外的外部触发脉冲输入频道,这个频道带有综合触发系统和延迟扫描。示波器能够让你看到你的程序对外部端口和外设的访问,并能够监测软件的活动。
下面是在你调试嵌入式软件的时候应用示波器的几种方法:
对你需要观察的针对活动的事件使用一个空余的外部输出插脚,或者用这个插脚来显示活动的情况。 在函数开始的时候设置插脚,再在结束的时候拿掉它,以测量函数的执行时间。你可以以类似的方式检测中断的潜伏时间。 如果CPU卡在了循环里,那么就要检查地址总线的状态,以大概地查看CPU卡在哪个地方了(当然,这要假设你正在使用外部内存)。 检测中断路,以查找阻塞的中断,或者检测外设未正常初始化而导致的中断缺失。 大多数调试工具都无法在系统初始启动的时候提供任何帮助,但是你可以在系统周期性复位的时候使用示波器,用以观察地址和数据总线的活动,以追踪CPU在复位之后的活动进展。 不要节约 最后,不要在高质量的调试工具上节约。尽管这些基本的工具都是极其有用的,但是更加昂贵和综合的工具如果能够节省你数周昂贵的调试和工程努力,那么它们就总是物有所值的。
:炒饭
欢迎评论或投稿
南京哪家男科好天津专业治疗前列腺炎医院
南京子宫内膜炎治疗多少钱
- 他以“甲骨文”写高考作文,意外被985考试成绩,现在却活成了小丑
- 金科股份:股份股东被强制平仓,被动减持4524.47万股
- 绿码在手,畅行无阻,五款2022绿盘计时码表新形式
- 两味药不轻白发脱发,养肝血健脾胃,忍不住推荐给你
- 《MHR:SUN BREAK》显现bug导致闪退 官方声明
- 央行:合理确定房贷最低首付款%、最低贷款利率
- 要点发挥巡察职能 推进民生工程建设
- 48岁电视名嘴康辉,成婚“电视编导”丁克20年0绯闻,今依旧甜蜜
- 网评“最难吃的5种玉米”,全部都吃过的,敬你是一条汉子
- 米体:米兰深入会面引进贝拉尔迪,萨索洛要价3000万欧
- 宝宝出生后不哭,医生为什么要“打屁股”?看下回这篇你就清楚了!
- 蒸馒头加不加食用碱?要分2种情形,加错了馒头颜色发黄,碱味重