Hi dgrullon,
Answer your several questions:
1 Is there a step by step tutorial on how to handle interrupts?Answer
= You can refer to the K64 SDK source code directly, that code already very clear.
2 How does the MCU know to go to BOARD_SW_IRQ_HANDLER() when the button is pressed?
= Please check these code:
#define BOARD_SW_IRQ_HANDLER BOARD_SW3_IRQ_HANDLER
#define BOARD_SW3_IRQ_HANDLER PORTA_IRQHandler
So, BOARD_SW_IRQ_HANDLER is PORTA_IRQHandler, you can find PORTA_IRQHandler in the .s file:

3 The EnableIRQ() function is not included in the API Reference manual that came with my SDK, does anyone know where I can get information on this?
=EnableIRQ function is defined like this:
static inline void EnableIRQ(IRQn_Type interrupt)
{
if (NotAvail_IRQn == interrupt)
{
return;
}
#if defined(FSL_FEATURE_SOC_INTMUX_COUNT) && (FSL_FEATURE_SOC_INTMUX_COUNT > 0)
if (interrupt < FSL_FEATURE_INTMUX_IRQ_START_INDEX)
#endif
{
#if defined(__GIC_PRIO_BITS)
GIC_EnableIRQ(interrupt);
#else
NVIC_EnableIRQ(interrupt);
#endif
}
}
Actually, it is enable the IRQ in the core cm4 register.
4 What if I wanted to have multiple interrupts for different GPIO pins but they are all on the same port - can they each have their own function?
= Then same port just share one interrupt, If you enable different GPIO pins on the same port, then you need to judge it in the interrupt handler by yourself.
Wish it helps you!
Have a great day,
Kerry
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------