cancel
Showing results for 
Search instead for 
Did you mean: 

How to read STM32H7 SRAM ECC status?

Gpeti
Senior II

I want to periodically check the state of the RAM ECC detection in my firmware on a STM32H753.

The ECC mechanism is well described in the Reference Manual for the Flash but not very well (in my opinion) for the RAM.

I've seen that there are dedicated interrupts for RAM ECC but it is not clear if they are triggered for single error or double error ?

Also, why a dedicated interrupt and not a BusFault (like it is done on the Flash if I understood correctly ?)

Also , I don't want to get interrupted for a single error (that is properly corrected). Instead I want to get the status periodically and log the error somewhere. What is the register to read to check whether a single error happened ?

1 ACCEPTED SOLUTION

Accepted Solutions

Hello,

RAMECC registers section will be available (in few weeks) in the next release of RM0433, with same RAM ECC chapter that it's already in RM0399 (STM32H745/755 and STM32H747/757).

Best Regards,

Imen

When your question is answered, please close this topic by clicking "Accept as Solution".
Thanks
Imen

View solution in original post

8 REPLIES 8
berendi
Principal

RAMECC status and interrupt flags are defined in the stm32h7??xx.h headers, and there are some code examples in stm32h7xx_hal_ramecc.h/.c

Apparently it's possible to independently mask single/double ecc fault interrupts.

There is application note AN5342 as well, but it's not very helpful.

Gpeti
Senior II

Thank you, I didn't notice there was a HAL. What is incredible is that these registers RAMECC_*** are not defined in the Ref Manual or Prog Manual !!

Are we supposed to understand how a peripheral works by reading the HAL code ?

> What is incredible is that these registers RAMECC_*** are not defined in the Ref Manual or Prog Manual !!

@Imen DAHMEN​  can you please have a look at this? Cube/HAL is not supposed to be the primary source of information.

Thanks,

JW

Hello,

RAMECC registers section will be available (in few weeks) in the next release of RM0433, with same RAM ECC chapter that it's already in RM0399 (STM32H745/755 and STM32H747/757).

Best Regards,

Imen

When your question is answered, please close this topic by clicking "Accept as Solution".
Thanks
Imen

Thank you. I didn't think to have a look to other STM32H7 ref manuals.

Thanks, Imen.

Jan

Imen, I've read the RAM ECC section in STM32H747 ref manual. I understood that a double error detection in the RAM does not generate a BusFault, as it is done for Flash ECC. It only generates an interrupt (if enabled). Is it correct ?