PICUS-B es una placa de desarrollo basada en el controlador PIC18F4550 que simplifica el proceso de desarrollo, ya que trabajando en conjunto a un bootloader permite cargar código sin necesidad de usar un grabador externo como pickit 2.


El bootloader usado por defecto que usamos es el HID BOOTLOADER, aunque la tarjeta también es compatible con otros bootloaders como MikroBootloader, o Picdem Fs bootloader, bootloader de pinguino.


por ahora nos enfocaremos en el HID BOOTLOADER. el mismo ocupa el inicio de la memoria rom hasta la pocision 0x1000

por lo cual  en el programa se debe desplazar el uso de la memoria. 

para ilustrar de mejor manera usaremos PIC C COMPLILER para un ejemplo


#include <18f4550.h>                 //Incluimos la libreria del Pic 18F4550
#DEVICE ADC=10
#fuses HSPLL,NOWDT,NOBROWNOUT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL5,CPUDIV1,VREGEN,MCLR,NOPBADEN,WRTB
#use delay(clock=48000000)        //Frecuencia de trabajo

// pone el inicio en la posicion 1000 y el vector de imterrupcio en 1008
#build (reset=0x1000,interrupt=0x1008)
#org 0, 0x0fff{}

void main(){      //funcion principal don de usualmente se hace las configuraciones
 
   output_drive(Pin_d0);  // configurama el pin RD0 como salida
      
   while(true){           // ciclo infinito 
      
      output_high(pin_d0);  // encendemos el led poniendo un 1 logico en RD0
      delay_ms(1000);      // esperamos un tiempo de 1000ms = 1 segundo 
      output_low(pin_d0);  // apagamos el led poniendo un 0 logico en RD1   
      delay_ms(1000);         //esperamos un tiempo de 1000ms = 1 segundo
      
   }
}


como se puede observar las líneas que se deben aumentar el el código  son 

#build (reset=0x1000,interrupt=0x1008)
#org 0, 0x0fff{}

que lo que hace es trasladar nuestro código a la posición 0x1000 para evitar tocar el bootloader que se encuentra en esa parte de la memoria, para otros compiladores las instrucciones pueden variar pero la idea seria la misma.


una vez que generamos el archivo  blink.hex

procedemos a cargarlo en nuestra tarjeta del siguiente modo.

primero procedemos a conectar nuestra tarjeta a la computadora

luego procedemos a descargar el programa HIDBootLoader_26b.exe y lo abrimos.


como se puede observar el programa tiene los botones deshabilitados, para poder hacer la grabación hay que poner la tarjeta en modo de grabación.

para entrar en el modo de grabación se debe mantener presionado   el botón PROG mientras se presiona el botón de RESET

boton  1 PROG

boton  2 RESET

al entrar en modo grabación los dos leds de la placa comenzaran a parpadear y los botones en el programa  se habilitaran

una vez que entre en modo grabación puede soltarse los botones. 


 el siguiente paso es pulsar el botón Open Hex File y luego buscamos la ubicación de nuestro archivo blink.hex y lo abrimos 

luego oprimimos el botón Program/Verify y  procederá a cargar el programa en la tarjeta,

por ultimo para poner en marcha el programa que cargamos basta con resetear la tarjeta ya sea desde el  de la tarjeta o del programa.


todos los archivos necesarios los podrás encontrar  en el  siguiente enlace

 
                                                                                        ARCHIVOS PICUS-B



#include "picus-b.c"

void main(){      //funcion principal don de usualmente se hace las configuraciones
 
   output_drive(Pin_d0);  // configurama el pin RD0 como salida
      
   while(true){           // ciclo infinito 
      
      output_high(pin_d0);  // encendemos el led poniendo un 1 logico en RD0
      delay_ms(1000);      // esperamos un tiempo de 1000ms = 1 segundo 
      output_low(pin_d0);  // apagamos el led poniendo un 0 logico en RD1   
      delay_ms(1000);         //esperamos un tiempo de 1000ms = 1 segundo
      
   }
}