Mi Primer Programa con Pepper y FlowCode - Hotboards/CodeBank8 GitHub Wiki

Es este sencillo tutorial vamos a aprender a usar el compilador FlowCode con la tarjeta Pepper-8m, los pasos son muy sencillos, El principal objetivo es generar el archivo .hex y una vez generado lo podamos grabar usando el bootloader, tal como lo hacemos cuando trabajamos con MPLABX y C18.

NOTA: El objetivo del tutorial solo es el de mostrarte como cargar un código compilado con FlowCode en la tarjeta Pepper-8m usando el bootloader.

Creando el Proyecto con FlowCode

  • 1.- Descargamos del enlace de la pagina de Matrix Multimedia una version de prueba de 30 dias de FlowCode y procedemos a instalarlo en nuestra computadora http://www.matrixmultimedia.com/flowcode.php. Omitir este paso si ya posee el software instalado.

  • 2.- Al inciar el programa selecciona la opción crear un nuevo diagrama de flujo

images/Manual4/p04_01.png

  • 3.- En la siguiente ventana Deberemos elegir el micro que usaremos en nuestro proyecto, para ello en la pestaña de Elegir Destino seleccionamos el boton 18 y en la lista seleccionamos 18F45J50 por ultimo da click en Ok para terminar.

images/Manual4/p04_02.png

  • 4.- Ya estas listo para empezar a crear el diagrama de flujo correspondiente a tu programa. La siguiente imagen muestra la ventana de FlowCode que debemos tener.

images/Manual4/p04_03.png

  • 5.- Antes de empezar a crear el diagrama de nuestro programa es necesario configurar un par de opciones más, entre ellas decirle a nuestro programa que se compile a partir de la direccion 0x1000. Da click en el menú Build -> Opciones de Compilador.

images/Manual4/p04_04.png

  • 6.- En la pestaña de Enlazar/Ensamblar deberás escribir -rb 0x1000 en el renglón de Parámetros. Da click en Ok para finalizar. Con esta opción estamos haciendo que nuestro programa una vez compilado se pueda programar con el bootloader de la tarjeta Pepper-8m.

images/Manual4/p04_05.png

  • 7.- Hay que indicar la velocidad de reloj a la que corre nuestro micro, para que nuestro programa genere los tiempos de manera correcta. Da click en el menú Build -> Opciones de Proyecto.

images/Manual4/p04_06.png

  • 8.- Por default el micro en la tarjeta Pepper-8m tiene la opción de Cristal externo activado y este posee una frecuencia de 12MHz, por lo que hay que setear esta velocidad. En la pestaña de Opciones generales selecciona 12000000 en la lista desplegable Velocidad del Reloj (Hz). Da click en Ok para terminar.

images/Manual4/p04_07.png

Creando el Programa

En la etapa anterior, se configuró FlowCode para que el programa generado se puede programar con la tarjeta Pepper-8m a traves de su bootloader. Ahora es el turno de crear el programa en sí. El programa es un sencillo parpadeo de un led conectado al puerto A pin 1. En la parte izquierda de FlowCode se encuentran los símbolos con los que podrás crear tu programa, solo arrastralos hasta tu diagrama para ir armando el flujo de tu aplicacion.

  • 9.- Primero inserta un bucle y déjalo tal cual, no modifiques sus opciones. Esto creará el bucle infinito que ciclara el parpadeo del led.

images/Manual4/p04_08.png

  • 10.- Ahora inserta una salida justo donde lo indica el diagrama.

images/Manual4/p04_09.png

  • 11.- Configura la salida dando doble click en el simbolo, En la ventana emergente selecciona las opciones como se ilustran en la imagen. Da Ok para terminar.

images/Manual4/p04_10.png

  • 12.- Inserta un delay justo despues del simbolo de salida, tal como lo muestra la imagen.

images/Manual4/p04_11.png

  • 13.- Tendremos que configurar ese retardo para que genere un tiempo necesario para que el parpadeo del led sea visible al ojo humano. Con un tiempo de 200ms será más que suficiente. Da doble click en el simbolo de retardo y escribe en la lista desplegable Tiempo de Demora o variable el número 200. Deja la opción de Milisegundos seleccionada. Da Ok para terminar.

images/Manual4/p04_12.png

  • 14.- Repite los paso anteriores para tener un diagrama de la siguiente manera.

images/Manual4/p04_13.png

  • 15.- Solo habrá que hacer un único cambio para terminar. En la segunda salida que insertamos habrá que cambiar el estado del bit de 0 a 1. Revisa la casilla de Variable o Valor. Deja las opciones como se ilustra en la imagen.

images/Manual4/p04_14.png

  • 16.- Con el programa terminado solo falta compilar, pero antes hay que guardarlo en el directorio de tu preferencia con el nombre de tu preferencia Solo da click en el menú **Archivo -> Salvar Como... **. Te recomendamos que crees un folder específico por cada proyecto.

  • 17.- Es hora de compilar tu programa para que genere el archivo .hex que necesitamos para cargar en la tarjeta Pepper-8m. Solo da click en el menu Build - > Compilar a HEX…

images/Manual4/p04_15.png

  • 18.- FlowCode iniciara el proceso de compilación, una vez terminado podremos observar la siguiente pantalla, en la cual nos muestra la compilación exitosa. En caso de haber errores habrá que corregirlos. Da click en Cerrar para finalizar.

images/Manual4/p04_16.png

  • 19.- En el directorio donde creaste tu proyecto se genero el archivo nombredelproyecto.hex, el cual será el que necesitamos cargar en la tarjeta.

images/Manual4/p04_17.png

Programando la Pepper-8m

Ya tenemos nuestro programa compilado y listo para ser ejecutado, solo falta cargarlo a la memoria flash del microcontrolador pic18f45j50. Para programar la memoria de un microcontrolador, típicamente se necesita de un programador externo conectado a la PC, pero gracias al diseño de la tarjeta Pepper-8m no necesitaremos de dicho programador. ¿Por qué razón?, pues muy sencillo el micro en la tarjeta ya viene preprogramado con un bootloader, el cual reprograma al micro, el único requisito es compilar el programa para que se ejecute a partir de la direccion 0x1000. (lo cual lo realiza sin problemas gracias a la opción -rb 0x1000 que agregamos).

  • 13 De la pagina de Hotboards descarga el archivo bootloader_app.zip http://hotboards.org/images/cpus/pepper8m/bootloader_app.zip

  • 14 Descomprima el archivo y guarde la carpeta en un lugar apropiado de su computadora. ejecute el programa HIDBootloader.exe que viene en la carpeta que descomprimida. Aparecerá la siguiente ventana.

images/Manual1/p01_09.png

  • 15 Conecta tu tarjeta a uno de Los puertos USB de la PC, Presiona la siguiente secuencia de botones en tu tarjeta. (el botón reset es el primero después del conector usb)

images/Manual1/p01_10.png

  • 16 Si es la primera vez que conectas la tarjeta a tu PC, espera a que se cargue el driver. El programa detectará tu tarjeta y podrás soltar el botón.

images/Manual1/p01_11.png

  • 17 Haz click en el icono de Import Firmware Image (el primero de izquierda a derecha). Te pedirá que busques tu programa ya compilado el cual es un archivo .hex. El archivo lo encuentras en el folder de tu proyecto. Ejemplo \proyecto\proyecto.hex. Dónde proyecto sería el nombre de tu proyecto.

images/Manual1/p01_12.png

  • 18.- Haz click en el icono de Erase/Program/Verify (segundo icono). La aplicación comenzará a grabar en la tarjeta el programa que elegiste. NOTA: Espera a que el programa termine de grabarse o podrías dañar el bootloader.

images/Manual1/p01_13.png

  • 19.- Por último has click en el icono de Reset Device (tercer icono) para que la tarjeta empiece a correr tu programa. La aplicación HIDBootloader.exe volverá a mostrarse como en la primera imagen. Revisa en tu tarjeta, podrás observar el led ambar parpadeando.