• 资料介绍
  • 在线预览
  • 相关推荐
申请入驻 产业图谱

LAT1170 如何理解 RAMECC FAR 寄存器的值

03/26 09:12
414
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

LAT1170 如何理解 RAMECC FAR 寄存器的值

306.03 KB

问题原因

某客户测试 STM32H753xi 板子上的 ECC 功能,用于监控 AXI-SRAM 区域,但不是很明白 RAMECC FAR 寄存器在 RM0433 中的描述, “Bits 31:0 FADD[31:0]: ECC errorfailing address”。比如在 AXI-SRAM 中,如果客户示例显示的是 FAR = 0x2004,但是这个地址值 0x2004 并不在 AXI-SRAM 范围之内,客户该如何理解 FAR 寄存器?希望能够有详尽的描述,这个 FAR 寄存器的偏移地址是 Word 地址还是 Byte 地址或其他?我们先来看看相关参考手册中关于 RAMECC 的介绍去寻找答案。

RAMECC 控制单元

RAM ECC 控制单元的数量取决于不同的 STM32H7 系列。比如,对于STM32H74x/5x 和 STM32H72x/3x 它们的每一个域都有一个 RAMECC 的控制器单元,为了描述简单,表述如下:

Domain 1 (D1) RAMECC unit = RAMECC1

Domain 2 (D2) RAMECC unit = RAMECC2

Domain 3 (D3) RAMECC unit = RAMECC3

RAMECC 寄存器地址

RAMECC 寄存器

每一个 RAMECC 控制单元(RAMECC1、RAMECC2、RAMECC3)的监控单元Monitor number 均分别含有如下的一套寄存器组(其中 RAMECC_IER 为共同拥有)。

解决问题

通过查询资料与试验,FADD[31:0]中表述的地址是 word 而不是 bit。为了计算真实的地址,客户需要用如下公式计算:真实地址= 所处内存的首地址 + FADD x 字节数。

在线预览

相关推荐