Mensagem

"Sonhar mais um sonho impossível, lutar quando é fácil ceder, vencer o inimigo invencível, negar quando a regra é vender."
Miguel de Cervantes.

"Os microprocessadores RISC funcionam a partir do princípio genial de se encarregar das coisas mais fáceis e deixar todas as partes difíceis para outras pessoas resolverem."
Douglas Adams.

Gravando o Bootloader do Arduino no ATmega328

Para substituir o ATmega do Arduino é necessário gravar nele o Boot loader. Isso é feito externamente com um gravador In-System (conectado no Arduino na barra de pinos ICSP). Nesse caso, é necessário o uso de um gravador. Caso se deseje utilizar o Arduino para gravar um ATmega isso também é possível (existem explicações na internet). Não é possível substituir o ATmega original do Arduino por outro que não contenha o chamado programa de Boot loader (ver explicação abaixo).

Boot loader é um pequeno programa escrito no final da memória de programa e serve para que o microcontrolador gerencie a gravação de sua memória. Para tal, é necessário uma interface de comunicação externa com o software de desenvolvimento. Isso é feito através da USART, por isso os pinos RX e TX do ATmega328 (pinos 0 e 1 no Arduino, respectivamente) são conectados ao conversor Serial/USB (da placa do Arduino) para comunicação com o computador. Obs.: é possível utilizar o conversor Serial/USB do Arduino para outra atividade, basta retirar o ATmega328 do soquete ou configurar os pinos 0 e 1 para serem entradas (alta impedância). Dessa forma, os pinos RX e TX do conversor podem ser acessados externamente (pinos 0 e 1).

Para gravar o Boot loader no ATmega328 é necessário seguir os seguintes passos (é necessário saber o que isso significa e ter um programa adequado para a gravação, ver marcador Gravação Arduino): 

1 - gravar os Fuses: 
   EXTENDED BYTE = 0xFD
   HIGH BYTE = 0xDE
   LOW BYTE = 0xFF 

2 - gravar a memória flash (programa de boot loader *.hex), encontrado, por exemplo, em:
C:\arduino-1.0.1\hardware\arduino\bootloaders\optiboot\optiboot_atmega328.hex 
Válido para o Arduino UNO

3 - gravar os LOCK BITS (valor 0xCF)

2 comentários:

  1. Boa tarde,

    possuo um blog, e queira saber se podemos fazer uma parceria, você coloca meu blog como parceiro e vice-versa.
    Meu blog: http://roboticlabview.blogspot.com.br/
    Aguardo resposta.

    Att. Camilo de Lellis

    ResponderExcluir
    Respostas
    1. Colocado nos Links interessantes na ordem de prioridade.
      Abraço.

      Excluir