Permiten crear código de forma forma gráfica. Verifican el proyecto para evitar inconsistencias, generar documentación y crean el código fuente en ANSI-C, listo para compilar.
Para proyectos que deban mantenerse o en los que intervenga un equipo, es conveniente usar sistemas operativos en tiempo real.Actualmente incorporan funciones para instalar protocolos TCP/IP en nuestros sistemas empotrados
Permiten organizar todos los archivos pertenecientes al proyecto.Facilitan las búsquedas de variables y funciones, permiten ver como se relacionan las funciones. Hacen enlaces a utilidades externas y depuradores
Cuando el código fuente está escrito hay que traducirlo al lenguaje de la cpu correspondiente. Necesitamos un compilador o ensamblador para cada cpu.
Todos los objetos generado por el compilador / ensamblador deben reunirse en un sólo objeto que llamamos objeto absoluto, respetado las direcciones para cada segmento de memoria
Mantiene los archivos involucrados en cada versión.
Para algunos proyectos, el algoritmo matemático utilizado para su resolución es difícil.Estos proyectos son más fáciles de acometer de forma gráfica, basándose en lenguaje natural, viendo la dependencia de las salidas por las variables.
La forma más barata de comprobar nuestro software es llevarlo a una placa de evaluación. El inconveniente es que si no funciona, no podremos saber la causa.
Si añadimos un programa monitor a nuestra tarjeta y la conectamos a un PC en el que se ejecuta un programa de depuración(debugger), podremos tener un mínimo control, de lo que ocurre dentro del microprocesador.
Condiciones: La placa hardware tiene que funcionar, hay que reservar espacio para cargar el monitor y la memoria que alberga el programa de usuario debe ser modificable para que puedan ponerse puntos de ruptura.
Antes de utilizar ningún hardware podemos probar y corregir nuestro proyecto, que acabamos de lincar, en un PC o workstation. Para ello usaremos un programa simulador correspondiente al microprocontrolador sobre el que estamos desarrollando.
Normalmente estos programas sólo simulan el juego de instrucciones de microcontrolador, no simulan los periféricos, por lo tanto no son adecuados para estimular los pines , interrupciones, etc; en general todo aquello que depende de hardware externo.
Afortunadamente el panorama está cambiando y se añaden un lenguaje de funciones que simulan los estímulos.
El emulador sustituye a la memoria, reloj y cpu de nuestra placa en prueba. Por lo tanto puede ejecutar programas sin tener toda la placa terminada.
Debido a que las cpu son cada vez más rápidas, los fabricantes incluyen en el silicio algunas opciones de depuración. Despues de reset se coloca a la cpu en un estado "consultable", y ésta acepta comandos de depuración mediante un puerto serie (BDM, JTAG ...) Se utiliza la cpu y memoria de nuestra tarjeta.
Permiten comprobar en funcionamiento de estos tipos de protocolos. Pueden generar tramas y analizar los resultados de modo cómodo.
Una vez el código del microprocesadores está generado y corregido, lo llevamos a nuestro dispositivo mediante los grabadores.
Estos grabadores son universales (para distintos tipos de dispositivos) para prototipos de laboratorio o de producción.
Permiten volcar los programas depurados en memorias o microprocesadores. También graban otros dispositivos electrónicos , como PLD's