使嵌入式系统调试更容易:有用的硬件和软件提示

本文提供了一些使嵌入式系统调试更简单的硬件和软件建议。包括添加未分配的I/O位以供软件调试,利用诊断工具如逻辑分析器,以及在设计时考虑测试点和连接器的易用性。还强调了硬件和软件的配合,如使用可读输出端口,避免硬件状态机,以及考虑电源和接地设计。同时,提到了电磁兼容性、静电放电效应和容错设计的重要性。
摘要由CSDN通过智能技术生成

使嵌入式系统调试更容易:有用的硬件和软件提示

Making embedded system debug easier: useful hardware & software tips

嵌入式系统是硬件和软件的混合体。两者必须相辅相成。硬件人员可以使软件更容易实现。因此,这里有一些建议,使系统的硬件、软件和固件更容易调试。记住一个好的设计是可行的;一个好的设计也是一个易于调试的设计。

First up: diagnostics

第一步:诊断

在非嵌入的情况下,最受欢迎的调试技巧是将print语句种子植入代码中。它们告诉程序员执行流是否到达打印点。但是软件人很少有这个选择。

所以,添加一些未分配的并行I/O位。软件开发人员迫切需要这些作为一种廉价的方法来检测他们的代码。将I/O指令植入驱动这些输出的代码中是查看程序正在执行的操作的简单而快速的方法。

开发人员可以在进入例程或ISR时断言一点,然后在退出时降低它。然后范围或逻辑分析器会立即显示代码段的执行时间。

另一个技巧是在系统繁忙时循环输出位高,空闲时循环低输出位。把电压表连接到引脚上,这是一种老式的带有模拟指针的装置。仪表将集成二进制脉冲流,因此显示的电压将与系统负载成比例。

如果空间和成本允许,包括一个连接到一行0.1英寸间隔的过孔或头的8位寄存器。软件状态机可以将其当前的“状态”输出到此端口。逻辑分析器捕获数据并显示所有的排序,对代码的执行时间几乎没有影响。

至少需要一个LED来向开发者,甚至是客户发出信号,让他们知道这个系统是正常工作的。它是一个由低优先级任务或空闲循环驱动的信心指示器,它表明系统是活动的,并且没有卡在某个有限的循环中。很多嵌入式系统都可以有简单的LED指示灯。

高度集成的CPU现在提供了很多片上外围设备,有时比我们在特定系统中需要的还要多。如果有一个额外的通用异步收发器,把引脚连接到一个RS-232电平转换芯片(例如,MAX232A或类似芯片)。除了原型制作外,没有必要实际将芯片加载到电路板上。

软件开发人员可能会发现自己处于一个角落,在那里他们的工具是不够的,然后会想在代码中添加一个软件监视器。RS-232端口使这成为可能和容易。

如果PCB不动产是如此的有限,以至于没有空间来进行电平转换,那么至少要将Tx、Rx和接地连接到可访问的过孔上,这样就可以在电路板上方的绿色导线上挂起一个MAX232。

(开发人员请注意:如果您确实使用此端口,请不要在实现监视器时过于惊慌,以致于使用轮询I/O实现RS-232驱动程序。请花点时间创建合适的中断驱动代码。根据我们的经验,监视器上的轮询I/O会导致遗漏字符、不可靠的工具和巨大的挫败感。)

把复位线接到开关或跳线上,这样工程师就可以独立于正常通电复位来判断信号。通电问题有时可以通过将reset连接到脉冲发生器来隔离,从而创建一个易于用示波器研究的可重复场景。

Connecting Tools

连接工具

调整CPU芯片的方向,以便在使用模拟器时可以连接模拟器。有时,目标板被埋在机柜内,访问最多也受到限制。大多数仿真器pod都有利于特定插入方向的形状因子。

也要注意垂直间隙!堆叠在大型SMT适配器上的吊舱可能需要离主板4到6英寸的空间。确保没有任何东西会干扰吊舱。

不要在SMT封装上使用“卡夹式”适配器。它们根本不可靠(唯一的例外是PLCC包,它们有很大的潜在客户)。在巴西,一只黄油飘扬着翅膀,产生了足够的空气流动,足以把它掀翻。更好的是,卸下CPU,安装一个焊接的适配器。PCB将永远是一个原型,但至少它将是一个可靠的原型。

在系统的时间安排上留有余量。如果每纳秒都被计算在内,没有一个模拟器能可靠地工作。在读写周期中,尤其是在等待状态电路中,额外的5nsec不会影响大多数设计。

如果处理器有BDM或JTAG调试端口,请确保在PCB上添加适当的连接器。即使你打算使用一个成熟的仿真器或其他开发工具,至少要为BDM连接器添加PCB焊盘和布线。连接器的成本接近于零ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值