Justo después de publicar el primer mensaje vi este link:
http://www.open-research.org.uk/ARMuC/Compiler_Suites.html
Yo uso los abiertitos, binutils+gcc con uclibc o glibc segun la necesidad.
Para embedded sin correr linux van a tener que tirar uclibc/glibc por
algo mas liviano tipo newlib.
Codesourcery tiene algunas herramientas para bajar con la lite edition
pero eso no incluye IDE. Al estar basado en gcc y amigos libres no
pueden evitarlo pero obviamente no van a entregar los bits GUI gratis.
Los que quieran usar herramientas abiertas van a tener que lidiar con
tener los headers de soporte para el chip particular que quieran
utilizar, para chips establecidos se consiguen facilmente en internet,
para los mas nuevos quizas los tengan que escribir ustedes mismos.
Las particularidades de programacion de cada ambiente (Keil, IAR, gnu)
tambien cambian en algunos aspectos sutilmente y en otros no tanto (por
ejemplo librerias) asi que es una eleccion a tomar bien informados.
Una opcion comercial tiene usualmente ventajas en tamaño de codigo
usualmente un poco mas reducido, pero finalmente es comercial, las
versiones demo tienen serias limitaciones en tamaño de proyecto, lo
usual son 16+16 KB de text+data si no recuerdo mal lo cual para un
procesador de 32 bits y aprovecharlo no se llevan muy bien de la mano.
Usar gcc y amigos tiene la contra de que no siempre estan al dia, por
ejemplo para soporte de Cortex-M3 van a necesitar versiones de las
ultimas y quizas no este tan pulido dicho soporte y/o tengan regresiones.
Dicho eso yo estoy usando gcc-3.4.3 con binutils-2.19.1 sin mayores
problemas. Este combo tiene algunos problemas de interwork que no
investigue todavia pero no es nada que afecte en uso normal.
Para algunos links:
http://embdev.net/topic/129986#new
Saludos.