Brad Riching

LPC4357 All Interrupts stop working in External RAM, requires power-off/on to work again

Discussion created by Brad Riching on Apr 3, 2018
Latest reply on Apr 6, 2018 by Brad Riching

Hi, I have plenty of details to post about this problem, but before I take all that time, I wondered if anyone is aware of an issue that causes ALL Interrupts to cease to function suddenly, particularly after the second debug session, or a restart of a debug session.  I have an app that I have linked entirely to RAM, managed to initialize my external RAM with a jlinkscript and debugger probe.  This allows the debugger to download the image straight into external RAM, and start debugging.  Interrupts work fine the first time, but never on the second attempt to debug, or restart, unless power is removed from the device and reapplied first. 


I have made certain that interrupts are enabled, and I observe that almost immediately after enabling, the register that says interrupts are pending indicates several of them are.  But nothing happens.  No IRQ's fire.  I have tested this with at least 5 IRQ's.  Another weird thing is that even a HardFault will not fire after attempting to dereference a null pointer.  I didn't think you could even unhook that.


I have taken a look at all the NVIC registers, and have even observed a bit was set in the register that indicates which IRQ was presently being executed, but that IRQ never fired, and app code continued to be executed.  I really don't know where to go from here, other than require a power cycle of the unit to possibly reset whatever hardware is in there that fires the interrupt.


The only thing that seems to work is a power cycle, which is probably clearing out some register that I don't know about, but thought maybe someone else might know what is going on.


Any ideas?