1.这次学习的垂直应用是:功能安全
学习链接为:https://www.stmcu.com.cn/ecosystem/app/function-safety
2.功能安全说起来特别玄,我们都知道它很重要,但是它更多的是作为一个产品的属性去知道它很安全,很可靠,值得信赖,作为开发者来使用ST芯片的时候,我们只需要知道怎么使用它即可,对于过于底层的深入到逻辑,并不需要去搞懂,而且说实话,术业有专攻,想要完全把功能安全给搞懂也是不可能的,因为人的时间精力是有限的。所以我们要知道我们的目的,就是对本期的主题,只做了解,认识一个大概即可。
3.其实我们在使用STM32的时候,我们其实可能都接触过功能安全的概念和情况,譬如看门狗,可以防止程序跑飞,这个机制就是STM32内置的一个安全属性,这个就是功能安全的一个体现。对于ST系列的单片机,下表对于STM32的内置安全属性有一个详细的整理,当然,这个是在ST官网里面看到的,可以了解一下。
-看门狗可以用在对程序计数器的检测中,在程序计数器跑飞的时候复位设备;
-硬件CRC单元可以用在对Flash的校验中。
-通过I/O功能锁定,可以保护I/O端口的配置参数不会被软件意外修改。
-对RAM的检测,在自检库中使用的是软件MarchC算法,如果你选择的MCU支持带奇偶校验或者ECC的SRAM,那么加上这部分硬件检测功能可以进一步提高软件运行的安全性。
-外设比如串口奇偶校验位,I2C的响应信号等等,CAN等,也内置有协议错误检测,CRC校验等功能,可以用于该外设使用过程中的安全检测。
以上就是我觉得在学习的过程中对于功能安全的一些个人感受,正如开始所说,这次的学习更多的是从宏观的角度考虑设计过程中的安全和可靠性问题,对于一般的使用者来说可能更多的是关注于单片机的适用性,对于这种过于底层的设计稍作理解即可。
附件是两篇pdf,一篇是针对大家经常会遇到的如何在IAR和KEIL中计算程序的CRC值的问题,一篇是关于如何将X-CUBE-CLASSB的代码移植到客户自己的工程中去。这两篇文档也可以在ST的中文官网下载到。
|