Bootloader
BOOTLOADER
Ao trabalharmos com PIC pode ser muito chato depender de um gravador de PIC sempre que for preciso atualizar o software do seu projeto, para solucionar este problema podemos utilizar o bootloader juntamente com um PIC que possua comunicação USB.
Após gravar o bootloader no PIC será possível atualizar o software através da USB sem a necessidade de um gravador de PIC.
Passo 1: Será necessário ter um gravador de PIC para gravar o bootloader no microcontrolador.
Passo 2: Circuito básico.
Um cristal de 20MHz com dois capacitores de 22pF;
Um conector USB;
Um capacitor ligado entre VUSB e GND;
Um botão de reset ligando o pino 1 (MCLR/Vpp) ao nível lógico baixo;
Um botão para entrar em modo boot (pino A4).
Passo 3: Gravar o bootloader no microcontrolador usando um gravador de PIC.
Passo 4: Alterações que devem ser feitas no software que será gravado via bootloader.
Se o software foi feito utilizando o CCS como compilador será necessário adicionar as seguintes linhas ao seu código.
#build(reset=0x1000, interrupt=0x1008)
#org 0x000, 0xfff { }
Nos programas desenvolvidos no MPLAB utilizando o compilador XC8, você deve usar diferentes configurações do XC8 linker no seu projeto, confome podemos ver nas imagens.
ROM ranges: default,-0-FFF,-1006-1007,-1016-1017
Codeoffset: 0x1000
Passo 5: Enviando um programa via USB para o microcontrolador:
Abra o programa HIDBootloader.exe presente nos arquivos do gravador;
Conecte o cabo USB no computador e na placa;
Para entrar em modo boot segure o botão enquanto pressiona o botão de reset da placa;
Clique no ícone “Import Firmware Image” para carregar o seu software, arquivo .HEX;
Após importar o .HEX clique no próximo ícone para transferir o programa para o PIC, “Erase/Program/Verify Device”;
Por fim basta dar um reset na placa para começar a rodar o programa gravado.