P04 Arrancador Serial mikroBootloader PIC18F4550.pdf

6
Diseño con microcontroladores PIC18F en lenguajes MikroC y MikroBasic Docente: Ing. Roger Guachalla Narváez [email protected] PRACTICA 04: Arrancador Serial mikroBootloader I. Objetivos: Configuración del PIC18F4550 en los compiladores MikroC y MikroBasic Armar en protoboard el Arrancador Serial mikroBootloader Utilizar la herramienta incorporada en MikroBasic y MikroC mikroBootloader para grabar en la memoria flash ROM del PIC18F4550 II. Teoría: A. Configuración del PIC18F4550 en los compiladores MikroC y MikroBasic Los bits de configuración están distribuidos entre 14 Registros de Configuración mapeados a partir de la dirección de memoria 300000h En los compiladores MikroBasic y MikroC la configuración se realiza accediendo al menú: Project – Edit Project. En el recuadro ‘Configuration Registers’ observamos los valores configurados (en hexadecimal) para cada registro: A continuación, se indicarán los valores recomendados de los bits de configuración para realizar las prácticas de laboratorio. Para una explicación detallada de cada uno de los bits de configuración refiérase al inciso ‘L. Bits de configuración del PIC18F4550’ de la guía de Laboratorio: ‘PRACTICA 03: Leds que parpadean con PIC18F4550’ Tómese en cuenta que para la mayoría de las prácticas de laboratorio (excepto para la práctica con el puerto USB), estos valores se mantendrán constantes. (Los valores asumen un cristal externo de 4 MHz conectado a OSC1 y OSC2)

Transcript of P04 Arrancador Serial mikroBootloader PIC18F4550.pdf

Page 1: P04 Arrancador Serial mikroBootloader PIC18F4550.pdf

Diseño con microcontroladores PIC18F en lenguajes MikroC y MikroBasic Docente: Ing. Roger Guachalla Narvá[email protected]

PRACTICA 04: Arrancador Serial mikroBootloader

I. Objetivos: Configuración del PIC18F4550 en los compiladores MikroC y MikroBasic Armar en protoboard el Arrancador Serial mikroBootloader Utilizar la herramienta incorporada en MikroBasic y MikroC mikroBootloader para grabar en la memoria

flash ROM del PIC18F4550II. Teoría:

A. Configuración del PIC18F4550 en los compiladores MikroC y MikroBasic

Los bits de configuración están distribuidos entre 14 Registros de Configuración mapeados a partir de la dirección dememoria 300000h

En los compiladores MikroBasic y MikroC la configuración se realiza accediendo al menú: Project – Edit Project.

En el recuadro ‘Configuration Registers’ observamos los valores configurados (en hexadecimal) para cada registro:

A continuación, se indicarán los valores recomendados de los bits de configuración para realizar las prácticas delaboratorio.

Para una explicación detallada de cada uno de los bits de configuración refiérase al inciso ‘L. Bits de configuración delPIC18F4550’ de la guía de Laboratorio: ‘PRACTICA 03: Leds que parpadean con PIC18F4550’

Tómese en cuenta que para la mayoría de las prácticas de laboratorio (excepto para la práctica con el puerto USB),estos valores se mantendrán constantes. (Los valores asumen un cristal externo de 4 MHz conectado a OSC1 y OSC2)

Page 2: P04 Arrancador Serial mikroBootloader PIC18F4550.pdf

Tabla de valores para los bits de configuración recomendados

Una vez configuración los bits, grabar dicha configuración cómo un esquema presionando el boto ‘Save Scheme’dentro de la ventana ‘Edit Project’ de los compiladores MikroBasic o MikroC. De esta manera al iniciar un nuevoproyecto bastará con cargar el esquema de configuración.

Page 3: P04 Arrancador Serial mikroBootloader PIC18F4550.pdf

B. Arrancador serial mikroBootloader

B.1 ¿Qué es un BootLoader?Un Bootloader es un pequeño programa residente en la memoria Flash de un microcontrolador que se ejecuta después decada reinicio y que a su vez escucha por el puerto UART para la recepción de bytes de código de programa mandadostípicamente desde una PC. Si el bootloader detecta la recepción de un nuevo programa, recibe estos bytes y los almacena enla memoria de programa de usuario en el microcontrolador, de otro modo, rescinde el uso del procesador y pasa el control aun otro programa que haya sido grabado con anterioridad

B.2 Ventajas de utilizar un BootLoaderLos BootLoaders llevan ya tiempo utilizándose en el mundo de los Microcontroladores y su uso ha sido fundamental en el

éxito de muchos proyectos populares como: Arduino, Pinguino, Netduino, etc. Estos proyectos basan su éxito en facilitar alusuario una plataforma económica con la que empezar a programar los Microcontroladores y para ello es fundamental elabaratar costes, como el no tener que utilizar un programador externo para cargar las aplicaciones de usuario. Estas placasde desarrollo vienen ya con el Bootloader cargado en la memoria flash del PIC, por lo que no se necesita de ningún Hardwareadicional para empezar a programar el Microcontrolador insertado en la placa de desarrollo.Pero esta no es la única ventaja de utilizar un BootLoader, otra ventaja la tenemos en que podemos actualizar el programa deusuario cargado en el Microcontrolador de manera fácil y sin necesidad de sacar el Micro fuera de la placa donde estémontado.

B.3 InconvenientesEl inconveniente principal e inevitable de utilizar un BootLoader es el gasto de memoria ROM que implica el tenerlo cargadoen la memoria del PIC de forma permanente.

B.4 Diagrama Esquemático del Bootloader Serial

Page 4: P04 Arrancador Serial mikroBootloader PIC18F4550.pdf

B.5 Grabación INICIAL del software Bootloader en el PIC18F4550 usando un grabador convencional PICKIT2

1. Ingrese al folder de ejemplos donde se instaló el MikroBasic for PIC:

C:\Archivos de Programa\Mikroelektronika\mikroBasic PRO for PIC\Examples\Other\Bootloader\P18\32K

2. Con dos clicks sobre el ícono, abra el proyecto: boot_test.mbppi

3. Haga click en la pestaña ‘Project Settings’ y cambie el procesador a PIC18F4550 y la frecuencia a 4 MHz

4. Compile el proyecto haciendo click en el ícono ‘Build’ o presionando ‘Ctrl+F9’

5. Grabe el archivo .hex del proyecto usando un grabador convencional como el PICKIT2

B.6 Uso del mikroBootloader con el PIC18F4550 pre-grabado con el bootloader

1. Usando el menú ‘Tools – mikroBootloader’ abra el software arrancador

Page 5: P04 Arrancador Serial mikroBootloader PIC18F4550.pdf

2. Cambie el tipo de procesador a PIC18

3. Haga click en ‘Change Setting’, configure el COM1 con una velocidad de 9600 baud y haga click en ‘OK’

4. Conecte el circuito hardware del Bootloader Serial al COM1 (Puerto Serial) del computador y encienda lafuente de alimentación de +5Volt

5. Haga click en el botón ‘Connect’ y luego presione el pulsador ‘Reset’ en el circuito hardware del BootloaderSerial. La ventana indicará que se ha realizado la conexión (‘Connected’)

Page 6: P04 Arrancador Serial mikroBootloader PIC18F4550.pdf

6. Haga click en el botón ‘Browse for HEX’ y seleccione el archivo .hex que desea grabar en el microcontrolador.La ventana indicará que se ha cargado el archivo .hex

7. Haga click en el botón ‘Begin uploading’ y se iniciará la grabación en el microcontrolador. Posteriormenteaparecerá una ventana indicando el éxito de la grabación ( ‘Success’) . Presione el pulsador ‘Reset’ en elcircuito hardware del Bootloader Serial. Espere algunos segundos y el programa empezará a funcionar.

III. Procedimiento Experimental en Laboratorio

1) Usando el programador PICKIT2 grabar el software Bootloader en el PIC18F45502) Armar en protoboard el circuito hardware del Bootloader Serial3) Primera Firma: Grabar y probar el funcionamiento del programa ‘Leds que parpadean’ de la práctica anterior

(PRACTICA 03: ‘Leds que parpadean’ con PIC18F4550)4) Modificar la configuración del microcontrolador para operar con el oscilador interno a 8 MHz. Grabar y probar

el funcionamiento del programa5) Segunda Firma: Grabar y probar el funcionamiento del programa en Assembler PIC18F descrito en el numeral

III de la sección ‘P. Informe’ de la práctica anterior

IV. Informe de laboratorio

1) Realizar un RESUMEN (a mano) de por lo menos 4 páginas acerca de la tarjeta de desarrollo ARDUINO2) Realizar un RESUMEN (a mano) de por lo menos 4 páginas acerca de bootloaders que utilizan diferentes

puertos o canales de comunicación: Puerto Paralelo, USB, I2C, SPI y CAN3) Para los programas realizados en los puntos ‘3.’ y ‘5.’ del anterior numeral ‘III. Procedimiento Experimental en

Laboratorio’, imprimir la siguiente información: Firma de Validación del Auxiliar de Docencia Enunciado del Programa Diagrama de Flujo Código Fuente MikroBasic o MikroC Esquemático en ISIS-Proteus

4) Conclusiones