lunes, 9 de octubre de 2017

¿Qué es un Bootloader?

Un bootloader es un pequeño código que permanece dentro del flash del PIC. Se utiliza como herramientas de programación, para cargar código de programa real en el MCU.   

El código de programa real puede pasar de la PC al gestor de arranque mediante una aplicación de PC específica ("mikroBootloader") a través de interfaces de comunicación específicas.

Micros usados.
Por ahora solo podemos usar micros con 8k de memoria flash ya que las direcciones estan definidas en ese rango, en este caso usaremos el PIC16F876A pero el original funciona para el PIC16F877A.

El codigo original del bootloader se encuentra ubicado en la carpeta:
C:\Users\Public\Documents\Mikroelektronika\mikroC PRO for PIC\Examples\Other\Bootloader\P16\P16F877A

Una vez copiado el archivo vamos a abrir el proyecto y vamos a modificar algunos parámetros como sigue a continuación:


Guardamos, y lo compilamos, se graba el archivo hex y procedemos a armar el siguiente esquema:


Como puedes ver este bootloader funciona por terminal serie, puedes usar cualquier adaptador USB serie como el PL2303 que provee la alimentacion de 5v y es muy economico:


haciendo click en la imagen descargas el driver


Ahora haremos un programa blink para probar el funcionamiento, ejemplo el siguiente:

void main() {
       trisb.b0=0;
       while(1){
       PORTB.B0=1;
       delay_ms(500);
       PORTB.B0=0;
       delay_ms(500);
       }

}


Recuerde las configuraciones deben ser las mismas del bootloader, ahora le damos cargar usando el programa que la ide incorpora para esto:




Recuerde, precionar el boton de reset antes de conectar, una ves cargado vuelva a presionar el reset y espere, el led encendera y apagara y ud se habra dado cuenta que ya esta funcionando.

0 comentarios :