
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, 下载次数: 11
高手入门STM32总结+学习步骤
STM32开发五大误区,新手别傻傻信了
【STM32】总线架构
没学过51单片机,能否零基础学STM32?
STM32电机控制用什么型号?高级定时器功能详解与芯片选型指南
STM32H7R/S+TouchGFX:解锁智能家电沉浸式体验新维度
什么是STM32? STM32与ARM有什么关系? STM32能做什么?
STM32 不同时钟频率有什么不同的影响
《STM32H7R/S信息安全线上课程》学习笔记+安全存储
《STM32H7R/S信息安全线上课程》学习笔记+时域隔离,片内与片外存储器保护