Problem with IRQ and Reset


I have a system that uses EIRQ2 on GPIO4 to service an interrupt from an external device. Overall the sytsem operates correctly, except when a powered reset is activated, by pressing the reset button. Occasionally the system does not restart correctly and flashes the yellow LED to indicate the fault.

I have checked out what is happening and it seems that at times when the reset pressed the external device is in a state where it is holding the Interrupt active low. This seems to generate an interrupt during the initial boot process, and the unit fails to start.

A previous iteration of the board had the external device interrupt connected to EIRQ3, but this did not seem to cause the problem.

Has anyone any info on how the interrupt system is initially set up and why GPIO4 being held low would cause this type of problem?

Hi Bill,

Which Device?

Sorry, I am using a ConnectCore 9P 9125

Hi Roy,

Check C:
etos75\src\bsp\platforms\connectcore9p9215_a\customizeBootloader.c Line 71
:- if GPIO 4 is 0 then return TRUE to indicate that the backup recovery image will be force executed

GPIO4 is EIRQ2 and is tied to Wakeup Button s8 on Development board. page 50 & 57.

The bootloader is checking GPIO4 and is executing backup recovery.

Hi Bob,

Many thanks for your quick response, With your information it all now makes sense. I do not use a backup recovery image so it must be trying to find that and failing.
I will update customizeBootloader.c to skip the check