STMCU小助手
发布时间:2022-8-8 23:53
|
1. 概览 现代电子系统中,由于“软”错误引起的系统故障比永久性硬件失效引起的系统故障要更多。“软”错误是指可以恢复的故障或者失效。这一类错误容易发生在寄存器,RAM等上面,由于受到电磁干扰或者封装材料中的α粒子,宇宙射线等的影响产生位值翻转。针对这个问题,可以在硬件上加奇偶校验,ECC 电路来进行检测。 STM32H7 系列 MCU 的 Flash,SRAM 和 CACHE 都支持 ECC 的功能。在本文中,主要介绍 SRAM ECC 这部分功能以及应用中的注意事项。 2. RAMECC 外设 在 STM32H7 系列 MCU 中,有一个叫 RAMECC 的外设,它是一个 RAM ECCMonitor。RAMECC 提供了一个接口给应用程序来检测当前 RAM 的 ECC 状态,以及当发生 ECC 错误后执行相应的恢复或者报错程序。 STM32H7 的 RAM ECC 支持纠正单比特的错误和检测双比特的错误。对于 AXI SRAM和 TCM RAM,每 64 位数据附加 8 位 ECC 码;其他的 32 位总线的 SRAM,每 32 位数据附加 7 位 ECC 码。 在对 SRAM 进行写操作的时候,硬件自动计算并保存 ECC 的值,在对 SRAM 进行读操作或者非对齐的写操作(读-改-写)的时候会自动进行校验,并且出错的地址和数据可以通过寄存器读出。 STM32H7 的 RAM ECC 功能的实现可以分成两个部分:RAM ECC Controller 和 RAMECC Monitor 单元,如下图所示。 图1. RAM ECC Controller 和 RAM ECC Monitor 之间的联系
2.1. ECC Controller STM32H7 的 SRAM 分成 AXI SRAM,SRAM1,SRAM2,SRAM3,SRAM4,数据TCM RAM,指令 TCM RAM 和备份 SRAM 等几块。每个 RAM 块分别对应一个 ECC Controller。 ECC Controller 始终处于使能状态。它负责 ECC 代码的计算存储,比较和错误检测,可以完成单比特错误纠正和双比特错误检测的功能。 完整版请查看:附件 |
LAT1181 STM32H7 RAMECC功能及应用_v1.0.pdf
下载477.48 KB, 下载次数: 14
经验分享 | STM32H723 SPI 通讯异常排查:实时观察窗口的 “隐形干扰” 解决方案
经验分享 | STM32H7 SPI NSS 脉冲模式灵活应用:解决外置 ADC 通信干扰问题
经验分享 | STM32H7 双核调试配置:STM32CubeIDE 下 M7+M4 协同调试实操
经验分享 | STM32H7 TouchGFX 花屏速解:更换 HyperRAM 后 latency 值适配实操
经验分享 | STM32H743 BDMA+LPTIM+LPUART应用演示
经验分享 | STM32H7Sx MCE 加密解密:外部存储安全防护全解析
如何在STM32和Arduino上实现卷积神经网络
详解STM32单片机的堆栈
STM32 开发者指南:ST.com 全新 MCU 产品阵容视觉布局深度解析
STM32和Arduino对比,谁更耐打?
微信公众号
手机版