Robson Eletronico
(https://robsoneletronico.files.wordpress.com/2014/08/site-referencia.png)
http://www.gammon.com.au/forum/?id=11635 (http://www.gammon.com.au/forum/?id=11635)
Para os que no sabem o que bootloader, trata-se de um pequeno programa que permite que a
programao do microcontrolador (ATmega2560 ou outro) atravs de uma porta que tenha mais
facilidade de uso, como no caso do Arduino a serial, adaptada para a porta USB.
Na realidade o ATmega j tem gravado uma rotina (antes mesmo de gravar o bootloader) que permite a
programao
1 de 10 via porta SPI, no entanto esta programao pode ser alterada, se for corrompida, o
07/12/2014 21:41
microcontrolador s vai poder ser regravado com um gravador que usa vrias vias de acesso e para um
Arduino Como gravar/regravar o bootloader (C... http://robsoneletronico.wordpress.com/2014/08/2...
gravador ISP (SPI) vai ficar aparentemente morto, sem resposta alguma, eu j vi at pessoas jogarem o
microcontrolador no lixo por causa disso.
Um modo de fazer acontecer o bloqueio do bootloader ativar o WDT (contador de auto reset) e deixar
ele com um tempo de contagem muito pequeno, com isso no vai dar tempo de zerar a contagem do
WDT e o uC (microcontrolador) vai ficar reiniciando sem parar, e com isso no d nem para fazer um
novo Upload de outro programa na sua memria.
Isso pode acontecer com qualquer uC com WDT, como os da famlia PIC.
Para saber se necessrio gravar o firmware no Arduino, basta tentar fazer um programa e fazer o
Upload, se der algum erro em relao ao reconhecimento do Arduino, ento vai ter que regravar o
bootloader. Claro que a verso da placa tem que estar corretamente selecionada na IDE (interface) do
Arduino, assim como a porta serial (COM).
Devido a facilidade da IDE de gravar o bootloader, que pode usar at um Arduino para gravar outro,
todo processo feito sem muita complicao.
Observando a imagem acima, nota-se um cabo que est fazendo a ligao entre as duas placas, note
tambm que um UNO est gravando um MEGA, e pode ser feito entre outros ou inverso.
Para isso preciso conectar a porta ISP de um Arduino no outro, porm o Arduino que vai ser gravado,
tem que receber um pulso de RESET, ento apenas este fio (via) que no conectada pino a pino.
Veja ainda na imagem acima, a tabela de conexo de uma placa para outra.
Para facilitar a localizao dos pinos segue abaixo as imagens das placas.
Para o Arduino MEGA, note a descrio dos pinos do conector ISP, ao lado esquerdo.
2 de 10 07/12/2014 21:41
Arduino Como gravar/regravar o bootloader (C... http://robsoneletronico.wordpress.com/2014/08/2...
(https://robsoneletronico.files.wordpress.com/2014/08/mega-pinout.png)
http://arduinominas.com.br/images/io-ports/The_Definitive_Arduino_Uno_Pinout_Diagram_-
_ARDUINO_V2.png (http://arduinominas.com.br/images/io-ports
/The_Definitive_Arduino_Uno_Pinout_Diagram_-_ARDUINO_V2.png)
3 de 10 07/12/2014 21:41
Arduino Como gravar/regravar o bootloader (C... http://robsoneletronico.wordpress.com/2014/08/2...
(https://robsoneletronico.files.wordpress.com/2014/08/uno-pinout.png)
http://arduinominas.com.br/images/io-ports/The_Definitive_Arduino_Uno_Pinout_Diagram_-
_ARDUINO_V2.png (http://arduinominas.com.br/images/io-ports
/The_Definitive_Arduino_Uno_Pinout_Diagram_-_ARDUINO_V2.png)
Para facilitar ainda mais o entendimento, abaixo est uma imagem de dois UNO conectados com fios de
uma via, note que o UNO que est sendo usado como gravador o que tem o cabo USB conectado, e o
UNO que vai ser gravado est com o fio verde conectado no RESET. Os outros fios esto ligados pino a
pino.
4 de 10 07/12/2014 21:41
Arduino Como gravar/regravar o bootloader (C... http://robsoneletronico.wordpress.com/2014/08/2...
(https://robsoneletronico.files.wordpress.com/2014/08/uno-uno.jpg)
http://www.gammon.com.au/images/Arduino/Atmega_Chip_Detector10.jpg
(http://www.gammon.com.au/images/Arduino/Atmega_Chip_Detector10.jpg)
Estando j conectado os fios e com a IDE j podendo gravar o Arduino normalmente (o UNO que vai ser
usado como gravador), ento deve abrir o programa Arduino ISP e fazer o Upload para a placa com o
cabo USB. Para este caso, tem que selecionar a verso da placa para UNO.
5 de 10 07/12/2014 21:41
Arduino Como gravar/regravar o bootloader (C... http://robsoneletronico.wordpress.com/2014/08/2...
No esquea de selecionar a porta serial correta para comunicar-se com o Arduino (Gravador)
6 de 10 07/12/2014 21:41
Arduino Como gravar/regravar o bootloader (C... http://robsoneletronico.wordpress.com/2014/08/2...
Clique em Upload.
Depois de fazer o Upload do Arduino ISP, deve selecionar o gravador como Arduino ISP.
Ento selecione a verso de placa que vai ser gravada o bootloader, no caso, este post foi feito
inicialmente baseado no UNO como gravador e com o MEGA para ser gravado.
7 de 10 07/12/2014 21:41
Arduino Como gravar/regravar o bootloader (C... http://robsoneletronico.wordpress.com/2014/08/2...
Vai ficar mostrando na parte inferior da IDE a verso da placa que vai ser gravada, pode ser um pouco
confuso, mas assim mesmo.
Caso acontea erro ao tentar fazer o Burn Bootloader, como aconteceu comigo, pode tentar fazer a
gravao de um programa diretamente no uC (microcontrolador) da placa que est sendo gravada.
Para isso selecione um programa, eu fiz com o Digital > Button, gravei e com isso fiz com que o reincio
(RESET automtico fosse reprogramado, permitindo gravar depois o Bootloader.
Pois se gravar diretamente o programa pode apagar o Bootloader, assim para voltar a ter acesso pela
IDE do Arduino no modo simples, precisa gravar o Bootloader novamente.
8 de 10 07/12/2014 21:41
Arduino Como gravar/regravar o bootloader (C... http://robsoneletronico.wordpress.com/2014/08/2...
Ento isso, se for fazer de placa para placa. Mas tambm d para fazer sem a placa, eu por exemplo
comprei um uC ATmega328 j com o Bootloader, fora da placa, bem mais barato que a placa inteira,
claro, e para fazer funcionar basta apenas um cristal com os capacitores e um resistor no pino de RESET.
Para conectar na USB eu usei um cabo de USB para serial e um chip MAX232.
Foi assim que eu consegui regravar o Arduino Mega 2560, e voltar a fazer o to esperado Upload.
Mas caso isso no d certo ento revise as conexes, se tudo estiver correto, s resta tentar com um
gravador paralelo no quero dizer de porta paralela de computador, mas sim que a conexo entre o
uC e o gravador se faz com vrias vias.
9 de 10 07/12/2014 21:41
Arduino Como gravar/regravar o bootloader (C... http://robsoneletronico.wordpress.com/2014/08/2...
(https://robsoneletronico.files.wordpress.com/2014/08/isp-fail.gif)
http://www.atmel.com/Images/doc4101.pdf (http://www.atmel.com/Images/doc4101.pdf)
Uma vez eu encontrei um esquema de gravador caseiro que tinha este tipo de conexo paralela com
o uC feito com um ATmega16.
Boa sorte!
Seguir
10 de 10 07/12/2014 21:41