EXTI Interrupt Handler throwing HardFault for one MCU, but not for other MCU
I have two custom boards with one STM32F746 each. Both MCUs run identical code (in different projects with potentially different configuration).
One MCU runs as expected, but the other MCU throws a HardFault as soon as MX_NVIC_Init() enables EXTI interrupts.
The EXTI1 handler contains this code
void EXTI1_IRQHandler(void)
{
__HAL_GPIO_EXTI_CLEAR_IT(GPIO_PIN_1);
if (GPIOA->IDR & 0x0002) {
EXTI->PR = 1;
(void) EXTI->PR; // wait for PR bit being cleared
// ...
}where the IDE points to the line with the if statement for the HardFault.
The fault registers show these values
where I've seen values of 0x1, 0x10000 and 0x80000 for CFSR.
So what exactly is throwing the HardFault, given that the second MCU doesn't? At first I thought of the 4x16 SDRAM, but I've enabled byte-access for both MCUs.
