1.高精度传感器原理

幽默的是,在许多这些中,只需在将程序代码加载到设备时,才会用到校验和。可是,假定CRC或校验和坚持在内存中,那么验证运用程序在启动时(或甚至对长时间作业的系统守时验证)是否依然无缺是确保意外之事不会发生的极好途径。现在一个编程过的运用程序发生改动的概率是很小的,但考虑每年交给的数十亿个微控制器以及或许恶劣的作业环境,医疗仪器运用程序崩溃的时机并不是零。更有或许的是,系统中的一个缺点或许导致某一扇区发生闪存写入或闪存擦除,然后损坏运用程序的完整性。

2.电路的三种状态

技巧3——在启动时施行RAM检查为了树立一个更加可靠和厚实的系统,确保系统硬件正常作业十分重要。究竟硬件会发生缺点。(走运的是软件永久不会发生缺点,软件只会做代码要它做的事,不管是正确的仍是差错的)。在启动时验证RAM的内部或外部没有问题,是确保硬件可以如预期般运作的一个好方法。有许多不同的方法可用于施行RAM检查,但常用的方法是写入一个已知的方法,然后等上一小段时间再回读。作用应该是所读就是所写。内幕是,在大多数情况下RAM检查是经过的,这也是我们想要的作用。

3.加速度传感器模块

但也有极小的或许性检查不经过,这时就为系统标明出硬件问题供应了极好的时机。技巧4——运用库房监督器对许多的嵌入式开发者而言,库房似乎是一股恰当微妙的力气。当古怪的作业开端发生,工程师总算被难倒了,他们开端考虑,或许库房中发生了什么事。作用是盲目地调整库房的大小和方位等等。但该差错往往是与库房无关的,但怎能如此招认?究竟,有多少工程师真的实践施行过坏情况下的库房大小分析?

4.调频模块

库房大小是在编译时就静态分配好的,但库房是以动态的方法运用的。跟着代码的施行,运用程序需求的变量、回来的地址和其它信息被不断存储在库房中。这种机制导致库房在其分配的内存中不断增加。可是,这种增加有时会超出编译时招认的容量极限,导致库房损坏相邻内存区域的数据。确保库房正常作业的一种方法是结束库房监督器,将它作为系统“保健”代码的一部分(有多少工程师会这样做?)。库房监督器会在库房和“其它”内存区域之间创建一个缓冲区域,并填充已知的位方法。然后监督器会不断的监督图像是否有任何改动。假定该位方法发生了改动,那就意味着库房增加得太大了,行将要把系统面向漆黑阴间!

继续阅读相关文章