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, 下载次数: 16
【福利三:逢7发帖赢大礼】使用MPU6050模块、img_dsc、img_btn机制实现一些简单有趣的动画效果
【福利三:逢7发帖赢大礼】使用arc弧形拉条控件控制PWM舵机及使用SPI3接口操作NRF24L01模块进行无线通信
【福利三:逢7发帖赢大礼】调试nucleo-WBA65RI工程测试样板的一些心得
【福利三:逢7发帖赢大礼】lv_timer和BME680实现温度、湿度、气压数据读取
【福利三:逢7发帖赢大礼】成功利用STM32H743VI片内SRAM12和DTCM空间(完全胜利)
【福利三:逢7发帖赢大礼】想要充分利用STM32H743VI片内的RAM空间(但并不顺利)
【福利三:逢7发帖赢大礼】使用惠勤致远STM32H743VI开发板+ST7796并口彩屏移植LVGL9.5并分享一些额外内容
【 逢7发帖赢大礼】7、TouchGFX中实现云彩流动效果
【 逢7发帖赢大礼】6、TouchGFX中添加图像素材和自定义代码编辑
【 逢7发帖赢大礼】5、TouchGFX 创建自定义界面和交互
微信公众号
手机版