I'm trying to write EEPROM on the LPC1549 using an IAP call. I am using a JTAG debugger (Rowley Crossconnect). If I download the firmware and run it, or run in debug mode, then the IAP call goes to the hardfault handler. However if I power up the board without using the debugger (though still plugged into the JTAG) then the IAP call works.
This applies to any IAP call including the simple ones like reading device signature. It's like the debugger is causing the ROM to get paged out or appear at a different address or something.
Can anyone help me understand what's going on here?