Parece que hay 3 enfoques principales para el desarrollo de microcontroladores ARM.
Lo primero es usar las herramientas de FOSS (software libre de código abierto), un buen punto de inicio es launchpad: enlace . Necesita un cable JTAG que admita OpenOCD, por ejemplo, el relativamente barato Olimex aquí: enlace .
El segundo es utilizar el conjunto de herramientas KEIL, que utiliza su compilador propietario (pero oficial) e IDE con los adaptadores ULINK 2 / ME / Pro. Hay disponible una versión gratuita (tamaño de código limitado), y los adaptadores ULINK2 de contrabando (pero funcionales) están fácilmente disponibles en eBay por aproximadamente $ 20. Este enfoque le permite utilizar las herramientas más "oficiales", ya que KEIL es una subsidiaria de ARM, y tiene acceso a las funciones más avanzadas de rastreo / depuración. Esta también es la opción más independiente del proveedor, ya que KEIL Uvision admite hardware de muchos fabricantes.
El tercero es utilizar el enfoque específico del proveedor utilizando el IDE y el compilador del proveedor, por ejemplo, STLink como se mencionó en lilSebastian. Sé que NXP tiene algo similar a través de su LPC-XPresso. Por lo general, estos tienen su propio IDE que se acopla al hardware del depurador específico del proveedor, y suele ser la opción más barata, pero, por supuesto, está bloqueado en ese proveedor.