24小时联系电话:18217114652、13661815404

中文

您当前的位置:
首页>
电子资讯>
技术专题>
嵌入式系统中的自我测...

技术专题

嵌入式系统中的自我测试


嵌入式系统中的自我测试

除非可用内存完全耗尽,否则在嵌入式设计中实施某些自测试功能是值得的。 

尽管现代电子产品非常可靠,但它们仍然容易出现故障。嵌入式系统中的故障大致可分为四类: 

中央处理器

外设

记忆

软件错误 

如果 CPU 出现故障,则往往是硬故障。在这个系统中没有自检的可能性。CPU 出现部分故障的可能性很小。当系统中有多个核心时,最好将一个核心分配为,以便它可以监控系统完整性。 

移动测试

外设可能会以多种方式出现故障,但其中许多是特定于设备/应用程序的。当设备无法响应其地址时,就会发生陷阱;必须包含一个陷阱处理程序来处理此故障。否则,通信设备通常包括环回模式,可以测试传输和接收以及相关的中断。 

内存故障随时可能发生。这种故障可能是暂时的——例如,一个位被经过的宇宙射线翻转。这种故障通常是无法检测到的,可能会导致软件崩溃。因此,适应崩溃恢复是必不可少的。如果没有收到地址响应,或者位停留在 0 1,则可能会出现硬故障。陷阱处理程序处理前者,但后者需要一些特定的测试。全面的内存测试只能在设备启动时进行。移动测试是有效的。 

堆栈保护词

在设备运行时,可以对单个字节或字执行模式测试,这可能会揭示某些类型的故障。 

在现代设备中,软件是最复杂的组件。即使软件不会磨损,其复杂性也会导致在开发过程中难以检测到的故障。好的防御性编码技术可以帮助预测一些问题。 

一般来说,有两种类型的软件错误:

数据损坏

代码循环。 

数据损坏可能是由指针误用引起的,这很难检测或预防,但也可能是数据结构(如数组或堆栈)溢出的结果。插入保护字可以帮助在造成任何损坏之前检测溢出。 

代码循环可以通过精心设计来解决——预防措施如等待设备超时——或者某种监视无响应代码的看门狗设施(在硬件或软件中)。

请输入搜索关键字

确定