Algumas modificações são necessárias para que o projeto a ser compilado possa ser utilizado com o bootloader. Quando compilamos um projeto ele possui algumas características importantes que o microcontrolador necessita para funcionar corretamente, sendo que devemos ter algumas coisas fixas no endereçamento de programa:
- o vetor de reset no endereço 0x000
- os vetores de interrupção alta e baixa nos respectivos endereços 0x008 e 0x018
O programa de bootloader utilizado, ocupa uma área de memória entre os endereços 0x000 e 0x7FE
Para não sobrescrever o bootloader durante a gravação é necessário indicar um deslocamento de 0x800 nestes endereços, com isso teremos:
- o vetor de reset no endereço 0x800
- os vetores de interrupção alta e baixa nos respectivos endereços 0x808 e 0x818
Modificações no MPLABX
Observação importante
As essas modificações a serem realizadas estão associadas ao projeto, então para cada projeto é necessário efetuar novamente essas modificações.
Vamos nesse momento modificar alguma propriedades do projeto a ser compilado, o processo depende de 4 passos. Se alguma delas não for executada, ou algum carácter for digitado errado, o processo de transferência não funciona.
Depois algumas vezes que este roteiro por executado, esta sequência de passos será de executada de memória, não sendo mais necessário consultar esse post.
Iniciando as modificações:
- Clique no menu "Run\Set Project Configuration\Customize..." para abrir as propriedades do projeto a ser modificado.
1º Passo
- Selecione os campos
- XC8 linker
- Options categories: Runtime
- Marque a caixa de seleção (que está desmarcada) "Format hex file for download".
- Clique no botão "Applay" para confirmar as mudanças
Controla condicionado do arquivo HEX Intel para uso com bootloaders.
2º Passo
- Selecione os campos
- XC8 linker
- No campo "Additional Options", insira o código
- --output=default,+inhx032
- Clique no botão "Applay" para confirmar as mudanças
3º Passo
- Selecione os campos
- XC8 linker
- Options categories: Additional Options
- No campo Codeoffset, coloque o valor 800
- Clique no botão "Applay" para confirmar as mudanças
- Clique no botão "OK" para fechar a caixa de diálogo propriedades
Indique o valor da posição de início do código, digite 800
4º Passo
- Compile o projeto
Pronto agora o seu projeto está pronto para ser transferido para o microcontrolador com bootloader
Nenhum comentário:
Postar um comentário