]> begriffs open source - cmsis/commit
Make the IRQ Table extern definable.
authorMarkus Klein <46537402+Masmiseim36@users.noreply.github.com>
Thu, 3 Nov 2022 12:42:38 +0000 (13:42 +0100)
committerGitHub <noreply@github.com>
Thu, 3 Nov 2022 12:42:38 +0000 (13:42 +0100)
commitc1d4368f15eb5df9a9bb0520c9a9532c00d7d889
treec8fe68ea540ab750eab43f790b3106b624c4127f
parent04ee0bec58fce1cde847df1d9f87409879b92c3c
Make the IRQ Table extern definable.

This makes the IRQ-table extern definable. With this it is possible to define Interrupt Service Routines in the CMSIS way with week defined IRQ-Routines which can be overridden in the application code.

Example:
// …
__attribute__ ((weak, alias("InteruptDefaultHandler"))) void CoreTimer_IRQHandler (void);
// …

IRQHandler_t IRQTable [IRQ_GIC_LINE_COUNT] =
{
// …
CoreTimer_IRQHandler
// …
};

In Addition a default IRQ-Handler is implemented which calls the Interrupt-Service-Routine.
ARM.CMSIS.pdsc
CMSIS/Core_A/Source/irq_ctrl_gic.c