Content originally posted in LPCWare by tsaluzzo on Tue Apr 05 14:16:32 MST 2016
We're using an NXP LPC824M201JHI33 in our design. We're using all of the I/O pins including the ones used for Serial Wire Debug (SWD). Our application code sets the SWDIO/PIO0_2/TMS pin to general purpose output, and the SWCLK/PIO0_3/TCK pin to SPI0_SCK output; the PIO0_12/ISP Entry pin is used as a general purpose input.
Our problem: After we change the SWDIO/PIO0_2/TMS pin to a general purpose output, it doesn't seem to return to SWDIO if we enter the In System Programming (ISP) mode by resetting the part with PIO0_12/ISP Entry held low. We don't see this problem if we just set SWCLK/PIO0_3/TCK to SPI0_SCK and leave the SWDIO/PIO0_2/TMS in its default state.
Everything I found in the data sheet and user's manual says both pins should return to their SWD functions whenever the part is reset with ISP Entry held low. I didn't find any errata for either the SWD pins or the ISP mode.