La cadena de herramientas gratuita de GCC admite ARM / Cortex muy bien. Las versiones precompiladas se pueden encontrar en toda la web, o puede crear las suyas propias. Podrías hacer ensamblador si lo deseas, pero sugeriría al menos C, personalmente, me gusta C ++ incluso mejor porque permite bibliotecas muy eficientes.
Las cosas que "cuelgan" del compilador pueden ser un poco más complicadas. Escribí mis propios scripts de creación, scripts de vinculador, código de inicio y algunas bibliotecas de soporte. Eso requiere un conocimiento profundo, pero no es mucho trabajo (al menos para los primeros chips). Utilizo principalmente los chips LPC DIP, LPC1114FN28 y LPC810M021FN8.
No soy fanático de los IDE "pesados". Utilizo principalmente PSPpad, pero el make-script puede usarse con cualquier editor que pueda llamar a un script de shell, capturar la salida y analizar un mensaje de error (GCC).
No soy un fanático de los depuradores, prefiero insertar declaraciones de impresión. Uso lpc21isp para la descarga en serie sin intervención + emulación de terminal. Funciona bien, excepto que tuve que parchear lpc21isp para reiniciar el chip después de descargarlo (en lugar de usar el comando ISP GO, que está roto en Cortex. ¡Es culpa de tu NXP por no arreglarlo!).
Se puede encontrar un artículo sobre cómo uso C ++ aquí .
En aproximadamente dos semanas tendré mi entorno actualizado para mi curso C-on-LPC1114. La versión del año pasado se puede encontrar aquí .