domingo, 22 de marzo de 2009

Iniciadnos con WinAVR

WinAVR es una herramienta que nos brinda la posibilidad de realizar desarrollos firmware para microcontroladores AVR, dicha herramienta se basa en el reconocido compilador GCC que es código libre y abierto además cuenta con mucha información que esta disponible en la WEB, aunque la mayoría de ella en se encuentra en ingles, y no creo que sea una barrera para algunas personas pero para algunas otras si, es por eso es que me propuse construir este blog, Bueno vasta de bla bla bla y manos a la obra.

Si quieres descargar WinAVR ve al siguiente link winavr.sourceforge.net/

Al instalar este software se copian a nuestro equipo las librerías para poder trabajar con los microcontroladores AVR, una versión del compilador GCC, y algunas otras herramientas que mas adelante veremos para que las utilizaremos.

Después de instalar estas librerías con su compilador no queda mas que escribir unas cuantas líneas de código y echarlo a rodar, esto es lo que trataré de explicar de aquí en adelante, para esto debemos de contar con el código ya desarrollado para alguno de los microcontroladores AVR.

Si aun no sabes como escribir código en WinAVR te aconsejo que por ahora consigas un pequeño ejemplo básico para que trabajes, aquí uno de ellos AVR_Leds.c, si lo bajas puedes trabajar con el, se trata de un ejemplo básico donde se muestran como configurar y usar las entradas y salidas del Microcontrolador y para ello se implementa un contador accedente/descendente.

Ahora si, lo primero es abrir el programa, para aquellos que les gusta seguir instrucciones vamos a Inicio/Todos Los Programas/WinAVR-20081205.


Ahora cargamos el archivo ejemplo en un nuevo proyecto para eso vamos a el menú file – new – Project le damos un nombre y una ruta donde lo queramos guardar.

Ahora dentro de la pestaña Project - Test_AVR agregamos el archivo AVR_Leds.c que descargamos, este es el que contiene el algoritmo que ejecutara nuestro Microcontrolador y para poder “meterlo” dentro del Microcontrolador antes debemos compilarlo.

Buscamos el archivo que bajamos o en su defecto escribimos con nuestro puño y pulso y ya sabemos el resto “aceptar”, “OK”, etc.

Ahora no queda mas que compilar el proyecto pero antes debemos crear un archivo “Constructor” que será el que le dirá a él compilador que tipo de archivo se compilará y cuales serán las directrices con las que se debe compilar el código, en el se escogerá el tipo de Microcontrolador que utilizaremos, la frecuencia a la cual funcionará nuestro circuito, el formato de salida, el nivel de optimización, y además de podemos escoger el programador a utilizaremos y el puerto donde se conectará, entre otras configuraciones más que veremos muy pronto.

Existe un software que ayuda a generar este archivo de “construcción” y lo encontramos en las herramientas dentro del paquete de instalación de WinAVR, para abrirlo debemos ir a Inicio/Todos Los Programas/WinAVR-20081205/MFile[WinAVR].

Vamos al menú Makefile y en “main file name” ponemos el nombre del archivo principal de nuestro proyecto, en pocas palabras es el que contiene la función “main”, para nuestro caso es el AVR_Leds, cabe aclarar que solo se debe poner el nombre sin la extensión.

Seguimos con “MCU type”, allí escogemos el Microcontrolador que vamos a utilizar puedes elegir el que desees pero debes de tener en cuenta el código que escribiste ya que si utilizas algún modulo y el Microcontrolador que elijas no lo posea puede presentar problemas, para nuestro caso escogemos el ATMEGA32.

En Las demás opciones dejamos las que están por defecto, solo modificaremos el programador, para ello vamos a “programmer” y escogemos el programador que vallamos a utilizar, en mi caso utilizaré el ponyser, y en el Port escogemos el COM1.

No queda mas que guardar nuestro archivo “Constructor” y adicionarlo a nuestro proyecto, vamos al menú File – Save As y lo guardamos en la carpeta donde se encuentran los demás archivos del proyecto.

Lo agregamos a nuestro proyecto de la misma manera que agregamos el archivo AVR_Leds.c quedando la pestaña de la siguiente manera.

Todo esta listo para finalmente compilar el proyecto, entonces vamos al menú Tools - [WinAVR] Make All, y con esto habremos compilado nuestro desarrollo en gcc-AVR, debemos de echar un vistazo en la pestaña Output ya que si ocurre algún problema durante la compilación en este pestaña se muestran todos los resultados obtenidos, para una buena compilación debería aparecer lo siguiente:

-------- end --------

> Process Exit Code: 0

> Time Taken: 00:05

Lo cual quiere decir que nuestro código ha sido compilado con éxito, lo ultimo que queda será simular nuestro código o en su defecto realizar las pruebas del circuito.

Aqui un video, anque le falta audio puede ser de mucha ayuda.




Si lo quieres descargar lo puedes obtener de el siguiente link http://www.4shared.com/file/94567696/c48c8329/InicioWinAVR_avi.html