嵌入式系统的可靠性、安全性与重置策略
1. 系统重置方式
系统重置主要有外部和内部两种方式。
1.1 外部系统重置
当系统运行不正常时,用户可以进行外部重置,常见方法如下:
- 硬件重置按钮 :放置在易于触及但不太显眼的位置。其优势在于,若连接到不可屏蔽中断引脚或电源引脚,软件缺陷无法阻止重置。
- 软重置 :例如同时按下两个特定按钮并保持十秒。此方法无需额外的重置按钮,但软件崩溃时可能失效。
- 电源循环 :包括取出并重新安装电池。这种方式对用户来说不太方便,但可作为最后的重置手段。若系统有续流电容,在更换电池时不会丢失内存,此时需考虑是否还需要硬件重置开关,同时要在说明书中告知用户取出电池的时长以确保重置生效。
1.2 内部系统重置
系统也能进行内部重置,这对无人值守的系统运行十分有用。内部重置类型有:
- 看门狗定时器重置 :最常用的内部重置方式,当软件挂起或计算耗时过长时,看门狗定时器会执行重置。
- 资源耗尽时重置 :例如,当动态内存分配(如 malloc
、 new
)因内存耗尽返回错误时进行重置。
- 定期维护重置 :作为一种维护手段,定期重置可清除累积的软件数据结构错误或进行自我测试。