Lá no Garoa Hacker Clube nós temos alguns Tautinos. O microcontrolador (no caso um ATmega8) de um deles foi utilizado para montagem de um protótipo e teve o bootloader sobrescrito. Veremos aqui como fiz para regravá-lo.
Para fazer a recuperação usei o ATmega8 de um Tatuíno inalterado e o programador PonySer. Uma outra alternativa seria pesquisar qual a programação correta do lock e fuses e usar a imagem de bootloader que vem no software do Arduino. No lugar do PonySer eu poderia ter usado qualquer um dos programadores que montei até agora.
Para facilitar o teste eu gravei no Tatuíno o exemplo Blink do Arduino. Como vou copiar toda a Flash, ao final do processo o ATmega8 recuperado terá o bootloader do Arduino e o exemplo.
Um cuidado importante é fornecer clock ao ATmega8. O Tatuino utiliza um ressonador de 16MHz; utilizei um cristal de 16MHz (com capacitores de 27pF para terra nas duas extremidades), já que a programação dos fuses é a mesma para ressonador e cristal.
O primeiro passo foi verificar como estavam programados o lock e os fuses nos dois AVRs. Para isto usei o recurso do avrdude aceitar vários comandos -U na linha de comando. Como arquivo de saída usei con (console); devido à bufferização a saída dos três comandos -U sai após as mensagens normais do avrdude:

O segundo passo foi ler a Flash e salvar em arquivo. Fiz isto com os dois ATmega8, para salvar o firmware do protótipo e ter a imagem usada no Tatuíno:

Por último foi só regravar os fuses (o lock estava igual) e a Flash:

3 comentários:
Boa noite, estou querendo gravar um Atmel 1284P vc teria dicas disso?
Gravador, soft e dicas para gravar os fuses?
Um abraço.
Não conheço o ATmega1284P, mas o avrdude parece suportá-lo. Aqui no blog eu apresento vários gravadores que podem ser usados com o avrdude e um resumo dos comandos do avrdude (http://dqsoft.blogspot.com.br/2011/07/avrdude.html)
Obrigado Daniel.
Postar um comentário