You are on page 1of 25

Programando con Atmel FLIP

Manual de usuario para programar microcontroladores AVR con interfaz USB

Manual de Atmel FLIP

Este documento se encuentra protegido por una licencia Creative Commons

Creative Commons: Atribution, Non-commercial, Share Alike

Atribucin: Puede copiar, distribuir y/o transmitir este trabajo siempre y cuando reconozca el autor original del mismo, en este caso Naxus Sistemas Inteligentes. No Comercial: No puede utilizar este trabajo para propsitos comerciales.

Comparta igual: Si realiza alguna modificacin, alteracin o construccin a partir de este trabajo, puede distribuirlo nicamente usando la misma licencia o una similar.

Naxus Sistemas Inteligentes Cra. 84A # 5 - 12 Cali, Colombia www.naxuscolombia.com contacto@naxuscolombia.com Revisin 1.1 Marzo 2011

Revisin 1.1

Pgina 2

Manual de Atmel FLIP

ndice de contenido
1.INTRODUCCIN......................................................................................4 2.INSTALACIN DE FLIP..............................................................................5 3.INSTALACIN DEL DRIVER PARA DISPOSITIVOS USB...................................9 4.UTILIZANDO FLIP..................................................................................15 4.1. Interfaz del programa......................................................................15 4.1.1. Barra de herramientas ..............................................................16 4.1.2. Barra de estado........................................................................17 4.1.3. Barra de comunicacin...............................................................18 4.2. Procedimiento de programacin para microcontroladores USB...............18 4.3. Automatizacin de comandos............................................................23

Revisin 1.1

Pgina 3

Manual de Atmel FLIP

1. INTRODUCCIN
FLIP es un software que facilita Atmel para la programacin de microcontroladores de caractersticas especiales, que disponen de un bootloader para ser programados. Las interfaces soportadas por FLIP son RS232, CAN y USB. Este manual se enfoca en el uso de FLIP para microcontroladores con interfaz USB, sin embargo es una gua til en el caso de que se vayan a programar microcontroladores por las otras interfaces mencionadas. FLIP en su instalacin incluye adems los drivers USB para microcontroladores que soportan esta interfaz. De esta manera, no es necesario descargar software adicional. El procedimiento de reconocimiento del dispositivo se explica tambin en este manual. Finalmente FLIP es usado con varios productos de Naxus Sistemas Inteligentes. Se usa en la reprogramacin de NXProg (actualizaciones y cambios de firmware), as como para la programacin de USBee, nuestra mini-tarjeta de desarrollo con USB 2.0.

Revisin 1.1

Pgina 4

Manual de Atmel FLIP

2. INSTALACIN DE FLIP
El primer paso para utilizar FLIP es instalarlo en su computador. La instalacin Windows es muy sencilla, slo requiere seguir los pasos indicados por programa de instalacin. El programa FLIP lo puede descargar desde la pgina Atmel: http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3886. continuacin se realiza un breve resumen de estos pasos. en el de A

Recin se ejecuta el programa de instalacin aparece una pantalla de bienvenida. D clic en Siguiente (Next).

Figura 1: Pantalla de bienvenida del instalador de FLIP

Aparece una ventana que especifica la licencia del software. Debe aceptar la licencia del programa para poder instalarlo. Cheque la casilla de aceptacin de la licencia y d clic en Siguiente (Next).

Revisin 1.1

Pgina 5

Manual de Atmel FLIP

Figura 2: Licencia de FLIP

Posteriormente se le pedir que elija la ruta donde desea instalar FLIP. Puede tomar la ruta por defecto que ofrece el instalador o especificar la ruta que prefiera.

Figura 3: Directorio de instalacin

Revisin 1.1

Pgina 6

Manual de Atmel FLIP A continuacin el programa le pregunta si desea darle un nombre diferente al submen de FLIP del men Inicio. Realice los cambios que desee.

Figura 4: Men de inicio para FLIP

El programa comenzar entonces a realizar la instalacin del software. Espere a que termine completamente y d clic en Siguiente.

Figura 5: Instalacin de archivos de FLIP

Revisin 1.1

Pgina 7

Manual de Atmel FLIP Finalmente el programa le pide si quiere un acceso directo a FLIP en el Escritorio. Marque la casilla correspondiente si as lo desea, y d clic en Finalizar (Finish).

Figura 6: Finalizacin del instalador de FLIP

Con estos pasos se tiene FLIP correctamente instalado en su sistema operativo.

Revisin 1.1

Pgina 8

Manual de Atmel FLIP

3. INSTALACIN DEL DRIVER PARA DISPOSITIVOS USB


Con FLIP ya instalado se puede proceder a configurar el driver para microcontroladores con interfaz USB. A continuacin se incluye una lista de los dispositivos ms comunes con esta interfaz, que pueden ser utilizados con FLIP:

AT90USB82 AT90USB162 AT90USB646 AT90USB647 AT90USB1286 AT90USB1287 ATMEGA8U2 ATMEGA16U2 ATMEGA16U4 ATMEGA32U2 ATMEGA32U4 ATMEGA32U6

Estos microcontroladores poseen un mecanismo para entrar al bootloader al momento de realizar un Hard Reset, y consiste en mantener el pin HWB en estado bajo mientras se ejecuta el Reset. Este modo se le denomina en adelante Modo BOOT en este manual. Para mayor informacin, recomendamos referirse a la hoja de datos especfica del microcontrolador. FLIP incluye un driver genrico para todos estos microcontroladores AVR. Conecte el dispositivo a travs de la interfaz USB e ingrese en Modo BOOT. Debe aparecer el mensaje de nuevo hardware encontrado, como se ilustra en la figura 7.

Figura 7: Nuevo hardware encontrado

Asimismo se debe abrir la ventana del Asistente para hardware nuevo encontrado. ste le pregunta si desea buscar el driver en las bases de datos de Windows Update. Seleccione la opcin No por el momento y haga clic en Siguiente.
Revisin 1.1 Pgina 9

Manual de Atmel FLIP

Figura 8: Pantalla inicial del asistente de configuracin

Posteriormente el asistente le pregunta si desea instalar automticamente el driver o desea indicarle donde se encuentra el driver en una posicin especfica. Seleccione esta ltima opcin, ya que el driver se encuentra en la carpeta donde instal FLIP.

Revisin 1.1

Pgina 10

Manual de Atmel FLIP

Figura 9: Tipo de bsqueda del driver

Se muestra una nueva ventana en donde se le pide que defina la ubicacin del driver. Para ello, utilice el botn Examinar y seleccione la ruta <carpeta FLIP>/usb.

Figura 10: Localizacin del driver

Revisin 1.1

Pgina 11

Manual de Atmel FLIP Esta ruta corresponde a la que utiliz para instalar FLIP previamente. D clic en Siguiente y observar que comienza el proceso de instalacin del dispositivo.

Figura 11: Localizacin del driver

Figura 12: Instalacin del dispositivo

Revisin 1.1

Pgina 12

Manual de Atmel FLIP Cuando el asistente ha finalizado, le muestra la pantalla que define cul microcontrolador ha sido encontrado. En el ejemplo aqu mostrado se ha reconocido el microcontrolador AT90USB162.

Figura 13: Finalizacin del asistente

Finalmente se puede observar el mensaje del sistema operativo, indicando que ha reconocido el dispositivo.

Figura 14: Mensaje del sistema operativo

Asimismo puede verificar directamente en el Panel de Control, y observar que aparece un nuevo men, denominado Atmel USB Devices, y bajo ste se encuentra el dispositivo reconocido. Nuevamente, en este ejemplo se observa que se ha reconocido el microcontrolador AT90USB162.

Revisin 1.1

Pgina 13

Manual de Atmel FLIP

Figura 15: Microcontrolador USB reconocido en el Administrador de Dispositivos de Windows

De esta manera el microcontrolador AVR USB ha sido reconocido por Windows y puede ser usada en conjunto con FLIP. Recuerde siempre que cuando conecte el microcontrolador, debe ingresar en Modo BOOT para que Windows reconozca el dispositivo (consulte la hoja de datos del microcontrolador de su inters). Slo conectar el microcontrolador al puerto USB no hace que ste sea reconocido por el sistema operativo.

Revisin 1.1

Pgina 14

Manual de Atmel FLIP

4. UTILIZANDO FLIP
El primer paso es proceder a ejecutar el programa. Para esto, dirjase al botn de Inicio de Windows, seleccione el men FLIP 3.4.x (la x depende de la versin que se ha instalado), y haga clic en la herramienta Flip.

Figura 16: Ejecucin de FLIP

4.1.

Interfaz del programa

Se abre entonces la ventana del programa, cuya interfaz se muestra en la siguiente imagen.

Barra de estado

Informacin del buffer Cadena de de memoria operaciones FLASH y EEPROM

Informacin del microcontrolador USB

Barra de herramientas

Barra de conexin

Las partes ms relevantes de la interfaz se han sealado en lila. Corresponden a la cadena de operaciones (Operations Flow), que permite la automatizacin del proceso de programacin, la seccin de informacin del buffer de memoria FLASH o de EEPROM, que entrega informacin valiosa sobre el archivo HEX cargado en el buffer del programa, y la informacin del microcontrolador, que muestra la firma (signature) del microcontrolador, as como la versin de bootloader que tiene preprogramado.
Revisin 1.1 Pgina 15

Manual de Atmel FLIP Se han resaltado tres secciones muy importantes de la ventana: la barra de herramientas, que nos permite acceder a cada una de las opciones que FLIP facilita; la barra de estado, que muestra el resultado de cada una de las operaciones realizadas desde la interfaz, y finalmente la barra de comunicacin, que muestra si el microcontrolador se encuentra efectivamente conectado al PC para proceder con las programacin del mismo.

4.1.1.

Barra de herramientas

Figura 17: Barra de herramientas de FLIP

ICONO

DESCRIPCIN

Dispositivo: Permite seleccionar el microcontrolador que se intenta programar. Al pulsarlo se abre una ventana que incluye una lista con los microcontroladores soportados. Comunicacin: Permite establecer la comunicacin microcontrolador y el PC, ya sea USB, CAN, RS232 o LPC. entre el

Borrar memoria: Permite borrar la memoria FLASH del dipositivo.

Verificacin de memoria en blanco: Normalmente se utiliza luego de una accin de borrado de la memoria para verificar que este procedimiento fue correctamente realizado. Programacin de memoria: Programa la memoria FLASH o EEPROM del dispositivo utilizando el archivo .HEX seleccionado con el botn "Cargar archivo .HEX". Verificacin de memoria: Permite comparar la memoria FLASH del dispositivo con el buffer del programa que representa un archivo .HEX previamente cargado. Lectura de memoria: Permite leer la memoria FLASH del dispositivo y almacenarla en el buffer del programa, para posteriormente guardarla en un archivo .HEX.
Revisin 1.1 Pgina 16

Manual de Atmel FLIP Editar buffer: Permite editar, byte a byte, el buffer del programa.

Cargar archivo HEX: Permite seleccionar un archivo .HEX para ser cargado en el buffer del programa. Si est seleccionando un archivo HEX para la EEPROM, stos por lo general son de extensin .EEP. Guardar buffer como archivo HEX: Permite guardar el buffer del programa en un archivo .HEX. Ayuda: Despliega una ventana de ayuda para el manejo del programa FLIP.

4.1.2.

Barra de estado

La barra de estado le permite al usuario conocer el resultado de la ejecucin de comandos realizados con FLIP. A continuacin se muestra una tabla que ilustra parte de los mensajes que muestra la barra de estado.
MENSAJE DESCRIPCIN

Mensaje que aparece cuando se ha realizado un borrado de memoria FLASH del dispositivo y la operacin ha sido ejecutada correctamente. Mensaje que aparece cuando se ha realizado un chequeo de la memoria flash en blanco y el chequeo ha sido positivo. Mensaje que aparece cuando se ha realizado la programacin de la memoria FLASH del dispositivo y todo ha salido correctamente. Mensaje que aparece cuando se ha ejecutado una verificacin de la memoria FLASH del dispositivo con la del buffer del programa, y la verificacin ha sido exitosa. Mensaje que aparece cuando se ha cargado correctamente un archivo .HEX en el buffer del
Revisin 1.1 Pgina 17

Manual de Atmel FLIP programa. Mensaje de error que aparece cuando FLIP no ha podido leer correctamente el dispositivo. Generalmente se debe a una mala conexin del mismo. Mensaje de error que aparece cuando FLIP ha encontrado diferencias entre la memoria FLASH y la memoria del buffer. Esto sucede cuando se ejecuta el comando de verificacin de memoria.

4.1.3.

Barra de comunicacin

La barra de comunicacin permite establecer si el dispositivo ha sido correctamente reconocido por el programa, y se puede proceder a ejecutar comandos de FLIP para programar el dispositivo. A continuacin se muestra una tabla que refleja los mensajes ms comunes que aparecen en esta barra.
MENSAJE DESCRIPCIN

Este mensaje aparece cuando no se ha detectado ningn dispositivo conectado al computador. Este mensaje se muestra cuando se ha logrado una comunicacin exitosa con el dispositivo a travs del puerto USB.

4.1.4.

Seleccin de FLASH o EEPROM

Es posible seleccionar entre programar la memoria FLASH o la EEPROM del dispositivo, gracias a un botn que se encuentra en la seccin Informacin del buffer de memoria. MENSAJE BOTN DESCRIPCIN Si el botn contiene este mensaje, FLIP est preparado para programar la memoria FLASH. Plselo en caso de que quiera programar la EEPROM. Si el botn contiene este mensaje, FLIP est preparado para programar la memoria EEPROM. Plselo en caso de que quiera programar la FLASH.
Revisin 1.1 Pgina 18

Manual de Atmel FLIP

4.2.

Procedimiento de programacin para microcontroladores USB

Con la interfaz FLIP ya descrita, se puede proceder a utilizar este software para programar los microcontroladores soportados. La secuencia de pasos aqu descrita no es obligatoria aunque s recomendada; puede omitir por ejemplo los pasos de verificacin sin que esto afecte el proceso. 1. Microcontrolador USB en Modo Boot: Este paso es indispensable para que FLIP pueda reconocer correctamente el dispositivo. Conecte el microcontrolador e ingrese en modo Boot. Si es necesario, reinstale el driver segn las especificaciones dadas anteriormente. Cada vez que se utiliza un puerto USB diferente para conectar el dispositivo, Windows lo reconoce como un dispositivo nuevo y debe aplicar el procedimiento de instalacin del driver. 2. Conexin entre FLIP y el dispositivo: Si el microcontrolador ha sido correctamente reconocido, proceda a abrir FLIP y seleccione el dispositivo que se encuentre utilizando, usando el botn Dispositivo de la barra de herramientas, como se muestra en la siguiente figura, tomando como ejemplo el microcontrolador AT90USB162.

Figura 18: Seleccin del microcontrolador de USBee

Revisin 1.1

Pgina 19

Manual de Atmel FLIP Luego de seleccionado el microcontrolador, proceda a pulsar el botn de comunicacin , y seleccione USB. Se abrir una ventana nueva, pulse el botn Abrir (Open). Si el procedimiento ha sido exitoso, en la barra de comunicacin debe aparecer el mensaje y la barra de herramientas debe haberse activado. Las siguientes tres figuras ilustran este proceso.

Figura 19: Seleccin de comunicacin por USB

Revisin 1.1

Pgina 20

Manual de Atmel FLIP

Figura 20: Abrir puerto USB

Figura 21: Barra de herramientas activada y barra de comunicacin USB ON

Revisin 1.1

Pgina 21

Manual de Atmel FLIP En caso de que ocurra algn error en la comunicacin, FLIP avisar al usuario mostrando la ventana de la siguiente figura.

Figura 22: Mensaje de error cuando no es posible la comunicacin con USBee

Generalmente se debe a que el dispositivo USB no ha sido correctamente reconocido por el sistema. Verifique primero que el microcontrolador se encuentre en Modo Boot, repitiendo el procedimiento para ingresar a este estado, y verifique que el driver se encuentre correctamente instalado. Asimismo, verifique que el microcontrolador USB aparece en el Administrador de Dispositivos de Windows, como se muestra en la Figura 15. 3. Seleccin de memoria a programar: Antes de proceder con otra tarea, establezca cul memoria del dispositivo va a programar, si la FLASH o la EEPROM. Esto lo puede definir utilizando los botones para programar la FLASH, o para programar la EEPROM. 4. Borrado de memoria del microcontrolador: Para programar la FLASH del dispositivo es indispensable ejecutar previamente el comando de borrado. Utilice los botones de la barra de herramientas, Borrar memoria y verificacin de memoria en blanco y , para tal fin. Si estos comandos han sido ejecutados exitosamente, aparecen los mensajes , respectivamente, en la barra de estado. Si ha seleccionado programar la memoria EEPROM, este paso no es necesario. 5. Seleccin del archivo .HEX: Proceda ahora a seleccionar el archivo .HEX que desea programar en la memoria FLASH del microcontrolador, utilizando el botn Cargar archivo HEX de la barra de herramientas. Se despliega una nueva ventana que le permite seleccionar el archivo en cuestin. La siguiente figura ilustra este procedimiento. Si el procedimiento se ha
Revisin 1.1 Pgina 22

Manual de Atmel FLIP realizado correctamente aparece en la barra de estado el mensaje que indica que el archivo ha sido copiado al buffer del programa.

Figura 23: Cargar del archivo HEX

Si est trabajando con la memoria EEPROM, localice el archivo de extensin .EEP (tambin es un archivo de formato hexadecimal, pero con extensin diferente para diferenciarlo del de la Flash), al utilizar el filtro Todos los archivos en el men "Archivos de tipo:" de la ventana de seleccin. 6. Programacin de memoria FLASH o EEPROM: Finalmente es posible pulsar el botn Programacin de memoria de la barra de herramientas, para programar la FLASH o EEPROM del microcontrolador con el buffer del programa. Si el procedimiento ha sido ejecutado correctamente, aparece el mensaje en la barra de estado. Proceda a pulsar posteriormente el botn Verificacin de Memoria , y si sta concuerda con la del buffer, aparece el mensaje estado.
Revisin 1.1 Pgina 23

en la barra de

Manual de Atmel FLIP 7. Ingreso a Modo Aplicacin: Con esto queda finalizado el proceso de programacin, y solo resta realizar un RESET del dispositivo para que comience a ejecutar el cdigo recin programado. Si aparece la ventana de la figura 24 en algn momento del proceso, es posible que haya ocurrido una desconexin del dispositivo. Proceda desde el punto 1.

Figura 24: Error de escritura

Revisin 1.1

Pgina 24

Manual de Atmel FLIP

4.3.

Automatizacin de comandos

FLIP permite automatizar la cadena de comandos a utilizar, facilitando las labores de programacin. En la seccin cadena de operaciones (Operations Flow) de la interfaz de FLIP, seleccione las tareas que le interesa que se ejecuten. Cuando se encuentre listo para realizarlas, presione Ejecutar (Run). FLIP ejecutar secuencialmente estas tareas. Recuerde que no se puede programar el microcontrolador USB sin previamente haber realizado la operacin de borrado de memoria.

Figura 25: Cadena de operaciones secuenciales

Revisin 1.1

Pgina 25