STMCU小助手
发布时间:2022-8-8 23:53
|
1. 概览 现代电子系统中,由于“软”错误引起的系统故障比永久性硬件失效引起的系统故障要更多。“软”错误是指可以恢复的故障或者失效。这一类错误容易发生在寄存器,RAM等上面,由于受到电磁干扰或者封装材料中的α粒子,宇宙射线等的影响产生位值翻转。针对这个问题,可以在硬件上加奇偶校验,ECC 电路来进行检测。% g4 E4 A; o% x- D% \6 P STM32H7 系列 MCU 的 Flash,SRAM 和 CACHE 都支持 ECC 的功能。在本文中,主要介绍 SRAM ECC 这部分功能以及应用中的注意事项。 ! Y4 N' A9 g% i$ n$ S5 [0 y% \' z! E 2. RAMECC 外设7 ?8 C8 U, `# x+ @7 h+ j* l 在 STM32H7 系列 MCU 中,有一个叫 RAMECC 的外设,它是一个 RAM ECCMonitor。RAMECC 提供了一个接口给应用程序来检测当前 RAM 的 ECC 状态,以及当发生 ECC 错误后执行相应的恢复或者报错程序。. H/ B5 P3 Z$ u6 U+ | STM32H7 的 RAM ECC 支持纠正单比特的错误和检测双比特的错误。对于 AXI SRAM和 TCM RAM,每 64 位数据附加 8 位 ECC 码;其他的 32 位总线的 SRAM,每 32 位数据附加 7 位 ECC 码。) s3 x' R9 F `2 n+ m+ q6 [3 `# t! A 在对 SRAM 进行写操作的时候,硬件自动计算并保存 ECC 的值,在对 SRAM 进行读操作或者非对齐的写操作(读-改-写)的时候会自动进行校验,并且出错的地址和数据可以通过寄存器读出。$ b8 l+ u# n# a3 S6 m" z2 s STM32H7 的 RAM ECC 功能的实现可以分成两个部分:RAM ECC Controller 和 RAMECC Monitor 单元,如下图所示。- O9 B, p0 d l0 n 图1. RAM ECC Controller 和 RAM ECC Monitor 之间的联系
2.1. ECC Controller3 `7 s/ c0 ?6 R5 \$ o% `7 Y STM32H7 的 SRAM 分成 AXI SRAM,SRAM1,SRAM2,SRAM3,SRAM4,数据TCM RAM,指令 TCM RAM 和备份 SRAM 等几块。每个 RAM 块分别对应一个 ECC Controller。 ECC Controller 始终处于使能状态。它负责 ECC 代码的计算存储,比较和错误检测,可以完成单比特错误纠正和双比特错误检测的功能。 ( ^( u/ }: Z4 V5 b ; W) b$ l$ {1 _4 q 完整版请查看:附件- ~; H& g8 [$ I - p9 B8 ]( ~4 N/ x6 s) U: Y1 n 9 E5 M3 b4 A/ p$ W* t' r+ Q 3 ` f1 ?( H6 \0 n |
LAT1181 STM32H7 RAMECC功能及应用_v1.0.pdf
下载477.48 KB, 下载次数: 17
【 逢7发帖赢大礼】1、利用CubeMX生成正点原子H7R7开发板的STM32CubeIDE工程
【STM32H735G-DK测评】ADC3+TIMER1+DMA 采样模拟信号
【STM32H735DK测评】Ethernet+lwip DHCP获取IP地址
STM32H743基于CubeMx5.0配置手册
【STM32H735G-DK测评】lvgl移植
【STM32H735G-DK 测评】STM32H735G-DK External Loder 编译和测试
【福利三:逢7发帖赢大礼】使用MPU6050模块、img_dsc、img_btn机制实现一些简单有趣的动画效果
【福利三:逢7发帖赢大礼】使用arc弧形拉条控件控制PWM舵机及使用SPI3接口操作NRF24L01模块进行无线通信
【福利三:逢7发帖赢大礼】调试nucleo-WBA65RI工程测试样板的一些心得
【福利三:逢7发帖赢大礼】lv_timer和BME680实现温度、湿度、气压数据读取
微信公众号
手机版