24小(xiǎo)时联系電(diàn)话:18217114652、13661815404

中文(wén)

您当前的位置:
首页>
電(diàn)子资讯>
技术专题>
嵌入式系统中的自我测...

技术专题

嵌入式系统中的自我测试


嵌入式系统中的自我测试

除非可(kě)用(yòng)内存完全耗尽,否则在嵌入式设计中实施某些自测试功能(néng)是值得的。 

尽管现代電(diàn)子产品非常可(kě)靠,但它们仍然容易出现故障。嵌入式系统中的故障大致可(kě)分(fēn)為(wèi)四类: 

中央处理(lǐ)器

外设

记忆

软件错误 

如果 CPU 出现故障,则往往是硬故障。在这个系统中没有(yǒu)自检的可(kě)能(néng)性。CPU 出现部分(fēn)故障的可(kě)能(néng)性很(hěn)小(xiǎo)。当系统中有(yǒu)多(duō)个核心时,最好将一个核心分(fēn)配為(wèi),以便它可(kě)以监控系统完整性。 

移动测试

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

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

堆栈保护词

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

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

一般来说,有(yǒu)两种类型的软件错误:

数据损坏

代码循环。 

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

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

请输入搜索关键字

确定