Você está na página 1de 10

Arduino Como gravar/regravar o bootloader (C... http://robsoneletronico.wordpress.com/2014/08/2...

Robson Eletronico

Graduado em Engenharia (Eletronica)

Arduino Como gravar/regravar o bootloader (Com


UNO no MEGA)

22/08/2014 DEIXE UM COMENTRIO (HTTP://ROBSONELETRONICO.WORDPRESS.COM


/2014/08/22/ARDUINO-COMO-GRAVARREGRAVAR-O-BOOTLOADER-COM-UNO-NO-MEGA
/#RESPOND)

(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.

A necessidade de gravao ou regravao do bootloader, pode ocorrer quando o microcontrolador


ainda estiver virgem, ou seja ainda no tem um programa em sua memria, ou ento se o programa
residente corrompeu-se.

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)

J para o UNO, a descrio do conector est na parte inferior da imagem.

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...

Carregue o programa Arduino ISP, que est na lista dos exemplos

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.

Agora basta clicar em Burn Bootloader

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!

FILED UNDER ARDUINO TAGGED WITH ARDUINO, BOOTLOADER, DEFEITO, GRAVAR,


MEGA, NO FAZ UPLOAD, NO FUNCIONA, PROGRAMAR, REGRAVAR, UNO

Get a free blog at WordPress.com

Theme: Enterprise by StudioPress.

Seguir

Seguir Robson Eletronico

Crie um site com WordPress.com

10 de 10 07/12/2014 21:41