I have set up my own project template to start developing ARM software for the LPC17xx platform, it’s based upon the CMSIS libraries (download link) offered by NXP which contains all basic routines to operate the Cortex M3 core and the LPC17xx peripherals using C language.

It also contains a port of the lpcusb stack for the LPC17xx so we can develop USB Device applications, configured retargeting of the printf function to the UART ports instead of semihosting output in retarget.c, a template.c file with main function and basic debug initialization, 2 target configurations (flash and ram execution profile).

The template project is managed through Keil uVision 4 software but source files can be imported into other IDE and compilers.