cancel
Showing results for 
Search instead for 
Did you mean: 

Why am I getting a hard fault when I try to read from VREFINT_CAL_ADDR on STM32H747XI?

SKooy.1
Associate

According to the datasheet, the VREFINT_CAL_ADDR is 0x1FF1E860-1FF1E861.

The STM low level file stm32h7xx_ll_adc.h has:

#define VREFINT_CAL_ADDR          ((uint16_t*) (0x1FF1E860UL)) /* Internal voltage reference, address of parameter VREFINT_CAL: VrefInt ADC raw data acquired at temperature 30 DegC (tolerance: +-5 DegC), Vref+ = 3.3 V (tolerance: +-10 mV). */

If I try to execute:

uint16_t temp = *VREFINT_CAL_ADDR;

A hard fault occurs. Why?

1 REPLY 1
CHossack
Associate III

Hi,

I just had the same problem. Did you solve this problem? Looking at the memory map that area of memory is only accessible from the M7. I'm using the M4, so I wonder if that's my problem.

When I use the M7 it works fine.

cheers

Chris