打印
[应用相关]

STM32垂直应用挑战第四周+CRC震荡配置

[复制链接]
292|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
电工老手|  楼主 | 2020-12-13 22:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  在活动中学习了ST的功能安全,偶然看到ST通过调节CRC的数值的步骤,从而来保护MCU,降低事故的发生率.
   Flash 自检的流程
Flash 的自检一般分为启动时自检和程序运行时自检两个阶段。不管是哪种自检,其思路都是:
在程序编译完成后,计算整个程序的 CRC 值,然后将这个 CRC 值添加到可执行文件末尾。再将带有 CRC 校验值的可执行文
件烧录到 MCU 中。在程序启动后,由程序中的自检代码重新再根据当前 Flash 内容(不包括预存的 CRC 校验值)计算一次
CRC 值,再与之前预先计算并烧录到 Flash 中的 CRC 校验值进行比较,如果一致就通过检测。
这两个自检阶段的区别就是:
程序启动自检是一次性对整个实际 Flash 代码范围计算出最终的 CRC 值;而运行时的自检,为了不影响其他程序模块的运
行,计算 CRC 的过程是分步进行的,每次计算一部分,分多次计算出最终的 CRC 值。
围绕 Flash 的自检所发生的问题可以归为两大类,一类是预先计算 CRC 值时和上电后计算 CRC 值的 Flash 范围设置是否一
致;第二类就是预先计算 CRC 时和上电后计算 CRC 采用的 CRC 算法是否一致。
   在这份教程中,可贵的是不但提供了keil配置CRC的方法.而且还讲述了在iar中配置CRC的方法.对其他使用IAR的开发者很人性化,这点是值得称赞的

How_to_calculate_CRC_value_in_IAR_and_KEIL (1).pdf

834.48 KB

使用特权

评论回复
沙发
串联烧烤| | 2020-12-13 23:09 | 只看该作者
写得还是挺简单易懂的

使用特权

评论回复
板凳
伊桑黑| | 2020-12-13 23:20 | 只看该作者
所以一些储存空间会被用来做自检位

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

7

主题

120

帖子

0

粉丝