
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, 下载次数: 10
《STM32H7R/S信息安全线上课程》学习笔记+5.0 安全存储
《STM32H7R/S信息安全线上课程》学习笔记+4.0 密码学引擎与随机数发生器
《STM32H7R/S信息安全线上课程》学习笔记+3.0 时域隔离,片内与片外存储器保护
《STM32H7R/S信息安全线上课程》学习笔记+2.2 如何使用DA功能(certificate模式)
《STM32H7R/S信息安全线上课程》学习笔记
《STM32H7R/S信息安全线上课程》学习笔记+2.1 如何使用DA功能(password模式)
NUCLEO-H723ZG开发板试用 ——串口点灯测试
经验分享 | STM32H7 EXTI + SPI +DMA 双缓冲应用演示
【经验分享】STM32H7时钟
拷打cubemx【003】——找不到的芯片包