Compuertas
Integrado
9 Desarrollo del Software
9.1 Proceso de Desarrollo.
El proceso de desarrollo de una aplicación basada en microcontroladores se
compone de las siguientes etapas principales, las cuales se explican en más detalle
en las siguientes sub-secciones.
• Desarrollo de software: Esta etapa corresponde a la escritura y
compilación/ensamblaje del programa que regirá lasacciones del microcontrolador y
los sistemas periféricos conectados a este.
• Programación del microcontrolador: En esta etapa el código de máquina
correspondiente al programa desarrollado en la etapa anterior se descarga en la
memoria del microcontrolador.
• Prueba y verificación: Por último, el microcontrolador debe conectarse al
circuito base y someterse a pruebas para verificar elfuncionamiento correcto del
programa.
9.1.1 Desarrollo del software.
En esta etapa consiste en escribir y compilar/ensamblar el programa que
determinará las acciones del microcontrolador y su funcionamiento. Existen distintas
maneras de desarrollar el programa, dependiendo del lenguaje inicial que se utiliza
para escribir el programa:
• Lenguaje Ensamblador - Lenguaje de Máquina/Código Objeto
(.asm)→ ensamblador → (.hex, .o, .bin, .coff)
• Lenguaje de Alto Nivel - Lenguaje Assembly - Lenguaje de Máquina/Código
Objeto
(.c, .cpp) → compilador → (.asm) → ensamblador → (.hex, .o, .bin, .coff)
En la Fig. 85 se muestran las dos alternativas típicas que tiene el desarrollador
para generar el código de máquina que es entendido por el microcontrolador.
Universidad de Sevilla
Pág. 111CAPITULO 9
Diseño
Integrado
Desarrollo Software
Fig. 85 Alternativas para generar el código máquina
El método básico es escribir el programa en lenguaje de Ensamblador en un
archivo de texto con extensión .asm y luego utilizar un programa ensamblador para
generar un archivo en lenguaje de máquina, también denominado código de máquina
o código objeto (object code), compuesto porinstrucciones en código binario que son
directamente entendidas por la CPU del microcontrolador. El ensamblador
normalmente genera un archivo con extensión .hex (por hexadecimal), .o (por objeto),
.bin (por binario), ó .coff (common object file format) dependiendo del ensamblador. El
lenguaje Ensamblador se compone de instrucciones mnemónicas de bajo nivel, es
decir que están ligadas a lascarácter místicas del microcontrolador y con un numero
mínimo o nulo de abstracciones. Al carecer de abstracciones, el lenguaje Ensamblador
es más difícil de emplear, requiere experiencia y un mayor tiempo de desarrollo. La
ventaja es que el código de máquina generado a partir de un programa escrito en
lenguaje de máquina es por lo general más eficiente, ya que el programa se desarrolla
en un nivelcercano a las características del hardware.
Otra alternativa es emplear un lenguaje de alto nivel con una mayor cantidad
de abstracciones, la cuales son más fáciles de usar y reducen los tiempos de
desarrollo. Tal vez los lenguajes de alto nivel más comunes para la programación de
controladores es el C y C++, pero también existen otros lenguajes variantes del BASIC
y el Pascal. Una vezescrito el programa en el lenguaje de alto nivel, será necesario
emplear un compilador para traducirlo, ya sea a lenguaje de Ensamblador o
directamente a lenguaje de máquina. Es importante considerar que el código de
Ensamblador generado por los compiladores tiende a ser más largo e ineficiente que
aquel directamente desarrollado en lenguaje de Ensamblador. Esta desventaja puede
ser critica enciertas aplicaciones que requieren un programas compactos y de una
alta velocidad de ejecución. Un vez que el compilador ha generado el código de
Ensamblador (.asm), será necesario utilizar un ensamblador para generar el código
binario de máquina.
Pág. 112
Universidad de Sevilla
CAPITULO 9
Desarrollo Software
Diseño
Integrado
9.1.2 Programación del microcontrolador.
Este...
Regístrate para leer el documento completo.