sexta-feira, 12 de agosto de 2016

Compilando arquivos no MPLABX para usar com bootloader



   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

  1. Selecione os campos
    • XC8 linker
    • Options categories: Runtime
  2. Marque a caixa de seleção (que está desmarcada) "Format hex file for download". 
  3. Clique no botão "Applay" para confirmar as mudanças
Controla condicionado do arquivo HEX Intel para uso com bootloaders.


2º Passo

  1. Selecione os campos
    • XC8 linker
  2. No campo "Additional Options", insira o código 
        •                             
        •                 --output=default,+inhx032

  3. Clique no botão "Applay" para confirmar as mudanças
  

3º Passo

  1. Selecione os campos
    1. XC8 linker
    2. Options categories: Additional Options
  2. No campo Codeoffset, coloque o valor 800 
  3. Clique no botão "Applay" para confirmar as mudanças
  4. 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


   

Observações importantes: 

  1. Estas opções são utilizadas para gerar um arquivo HEX para ser usado na implementação do hardware físico.
  2. Para simulação: o arquivo gerado não serve para simulação. É necessário desfazer as alterações para obter um arquivo HEX que pode ser utilizado em simulação.


   

Nenhum comentário:

Postar um comentário