I'm running a MKL27Z64VFM4 chip on a custom board.
I started a project on KDE w/ KSDK1.3 and PE, but as the chip wasn't properly supported I had to abandon that approach.
I downloaded the MCUXpresso IDE and the SDK for the MKL27Z64VFM4 chip. I installed the SDK into the IDE.
I created a new product using.. New / MCUXpresso IDE / New C/C++ Project. I selected the correct CPU, no board, I selected the correct package (VFM4) and some drivers. I then configured the clocks and basic Peripheral settings via the GUI:-

This generates code which seems sensible and compiles.
I add the app IRQHandlers with basic code to clear the flags.
When I run it, it crashes when an IRQ occurs. My IRQ functions are never called. I've tried TPM, UART and other IRQs and they all have the same problem- when the triggering event occurs, the PC ends up at 0x1C002228 without touching my IRQ code.
This address appears to be in the ROM space, i.e. the integrated bootloader.
I saw some other posts with related issues, someone changed their FOPT from 0xFF to 0x3D and it fixed their problem. My flash config code (auto generated) appears to be OK:-
__attribute__ ((used,section(".FlashConfig"))) const struct {
unsigned int word1;
unsigned int word2;
unsigned int word3;
unsigned int word4;
} Flash_Config = {0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFF3DFE};
I tried changing 3D to FF, and 3B, in case the NMI was causing problems. I also checked that the runtime value in 0x40020003 matches the non-volatile value- it does.
I also set the NMI pin to GPIO muxing, to try to make sure it's not interfering.
No changes- I still bounce to 0x1C002228 when any ISR occurs.
Is there anything I could be missing?
It's frustrating that interrupts were working fine in KDE.
I also tried re-creating the project several times, choosing different semi-hosting settings, and creating a project by importing the "frdmkl27z_demo_testdemo_apps_adc16_low_power" demo. I get the exact same behaviour - everything works, until any ISR triggers.
Any ideas would be appreciated
Kris