nxpprog allows programming NXP ARM processors in
ISP mode via a serial
port. It should be possible to use the code as a
library for integration
in other programs.
The Open On-Chip Debugger (OpenOCD) package provides programming and debugging of embedded systems, with support for numerous JTAG interfaces, target chips and boards, and types of flash.