Sei sulla pagina 1di 9

USO DEL BOOTLOADER

PNF ELECTRICIDAD INGENIERIA ELECTRICA

BOOTLOADER
Definicin: Es un programa muy pequeo (256 bytes en este caso) que permite descargar programas al PIC usando nicamente el puerto serie, sin ningn hardware adicional. un sistema con el cul solo se usa una sola vez un grabador de PIC's externo para grabar el BOOTLOADER en el PIC, para luego descargar todos los programas a este por medio del puerto serie.

CMO FUNCIONA EL BOOTLOADER?

El sistema BOOTLOADER funciona de la siguiente manera:


Se graba en el PIC el programa BOOTLOADER haciendo uso de un grabador de PICs. Coloca el PIC en el circuito de aplicacin asegurndote de tener conectado el PIC a la PC por el puerto serie. Se abre la aplicacin SCREAMER en la PC. Cargue el archivo .hex al SCREAMER y se envia al PIC.

El SCREAMER no enviar el archivo .hex hasta que se logre conectar con el PIC.
El PIC se conecta con el SCREAMER solo cuando se resetea, y si hay un .hex en espera lo graba en el PIC.

Una vez grabado el .hex en el PIC puedes usarla sin problemas.


Si quieres cargar otro .hex o actualizar el que tienes debes hacerlo solo por medio del SCREAMER.

Paso 1.
Grabar el BLOADER en el PIC. Se necesita un PIC16F877A, un grabador de PIC's y un software para grabar PICs (PICSTART PLUS , MPLAB, JDM ICPROG)

Paso 2.
Arme el siguiente circuito de prueba en un protoboard o PCB: Componentes:

(1) PIC16F877A (1) MAX232 (1) Pulsador (1) Xtal de 20MHz (o 4MHz si elegiste e archivo Bloader-877A-4MHz.hex) (1) Resistencia de 10K 1/4W (2) Condensadores de 15pF (2) Condensadores de 104 (4) Condensadores de 10uF 25V

INTERFAZ RS232
C1
1uF

1 C1+ TX PIC RC6 RX PIC RC7 11 12 10 9 T1IN R1OUT T2IN R2OUT

16 VCC

3 C1T1OUT R1IN T2OUT R2IN VS+ VS-

U1

C4
1uF

C5
1uF 1 6 2 7 3 8 4 9 5 D9F

COMM
RX TX

14 13 7 8 2 6

CONFIGURACION NULL MODEM DB9 INTERCONECTAR PINES 1,4,6 7,8

R2
270

R1
270 C2+ 4 GND 15

C25 MAX232

C3
1uF

1 CD 2 RX 3 TX 4 DTR (TERMINAL DATOS LISTO) 5 GND 6 DSR (EQUIPO DATOS LISTO) 7 RTS (SOLICITUD DE ENVIO) 8 CTS (LIBRE PARA ENVIO) 9 RING

D2 TX
LED-GREEN

D1 RX
LED-RED

C2
1uF

Paso 3.
Para poder probar el circuito debemos usar el software que funciona desde la PC y que permite descargar los archivos compilados .hex hacia el PIC usando el puerto serie, se llama SCREAMER y ya viene adjunto en el .zip del BLOADER el SCREAMER solo debe descomprirlo y ejecutarlo, no necesita ser instalado. La interfase es muy sencilla, es un programita sumamente fcil de usar, solo debe configurarlo adecuadamente. En este caso se ha configurado de la siguiente manera: Comm: COMM1 Speed: 9600 Chip: 16F877A Oscillator: 20MHz

Paso 4.
Probando el Bootloader. En la carpeta 16F877A del Bootloader tambin hay una carpeta llamada Serial Test, lo nico que se debe hacer es cargar el archivo SerialTest877A-20MHz.hex o SerialTest-877A-4MHz.hex, dependiendo el cristal con el que se est trabajando y que se us para grabar el BLOADER, y cargarlo en el SCREAMER usando la opcin OPEN. luego se presiona el botn DOWNLOAD que est al lado y finalmente reseteamos el PIC16F877A con ayuda del pulsador reset en el circuito de prueba.

NOTA no se grabar el archivo seleccionado hasta que detecte que el PIC ha sido reseteado.

Utilizando Bootloader y CCS


#include <16F877A.h> #fuses NOWDT,HS, PUT, NOPROTECT, NODEBUG, BROWNOUT, NOLVP, NOCPD, NOWRT // //***************************************************************************************************** //****COLOCAR ESTAS DOS LINEAS PARA ACTIVAR EL BOOTLOADER**** #org 0x1F00, 0x1FFF{} // for the 16f877 #build(reset=0x4) // **************************************************************************************************** // #use delay(clock=20000000) #use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=9)

//======================================== void main() { ....

Si lo oigo, lo olvido; Si lo veo, lo recuerdo; Si lo hago, lo entiendo. Proverbio

Potrebbero piacerti anche