LusoRobótica - Robótica em Português

Robótica => Tutoriais => Tópico iniciado por: tr3s em 21 de Janeiro de 2009, 02:47

Título: Flashar bootloader no Arduino - BitBang Mode
Enviado por: tr3s em 21 de Janeiro de 2009, 02:47
Olá a todos!

Bom tenho um Arduino há menos de uma semana e infelizmente já tive de reprogramar o bootloader!
Estava eu muito bem a testar algumas coisas e a ver as capacidades do Arduino, ja que o TigPT tanto insistia para que eu o experimentasse  :P (eu costumo trabalhar com PICs). Continuando... Experimentei fazer umas coisas com i2c e criei um array de dimensões razoáves (~<4kbytes). Ao mandar isto para o Arduino reparei que estava a demorar demais a enviar o código. Ao fim de 1 minuto e tal a enviar lá se deu por concluído, mas... Agora o Arduino estava todo maluco! Quando fazia reset, o Led PIN nao parava de piscar e a um ritmo estonteante, sempre que tentava descarregar algum código para lá o programa dizia que lia 0x24 e esperava 0x51 e assim nem programar conseguia!
Nos tempos em que queimava PICs "como quem troca de cuecas" :P, percebi logo que o bootloader tinha ido de c****** ops xuxu, mas porque? Acontece que o programa Arduino tem um bug e não lida bem com arrays muito grandes (ate já o TigPT pode constatar comigo, ontem com dois arrays de uns 400 bytes cada, estes ficavam sobrepostos durante a compilação). Esta situação é agrava quando se usa i2c no mesmo código.
O programa ao compilar o meu código gerou um ficheiro hex com quase 1 MB, conseguem imaginar isso? Ao descarregar isto tudo para o Arduino o bootloader desapareceu e assim Arduino, "Adios Adieux Aufidersein Goodbye, lala". ;D

Como gosto de fazer tudo à manapula e nem o programador de PICs comprei, decidi começar a ver esquemas de programadores de AVR para poder flashar o bootloader do Diecimila (=Duemilanove). Encontrei este site http://www.geocities.jp/arduino_diecimila/bootloader/index_en.html (http://www.geocities.jp/arduino_diecimila/bootloader/index_en.html) que até já tinha sido referido aqui e pensei, "oh ouro sobre azul" e fiz logo o que eles mostravam.
Senti alguma dificuldade em soldar 4 os pinos X3 pois um dos buracos ainda não era buraco :P! Ultrapassado este problema foi so ligar os fios. Recomendo que usem uma daquelas pontas de ligar USBs à motherboard que vagueiam lá por casa, liguem os fios aos pinos X3 seguindo o esquema da na imagem em anexo.

De seguida é so executar os passos que o tipo diz la no site e já está, Arduino está de volta! Foi bastante simples!
Durante o processo ele pede para se alterar um ficheiro e adicionar umas coisas etc, para isso deixo um RAR já com tudo e com um .bat e assim é só executar o bat e "dar" ok, contudo sigam o tutorial da página http://www.geocities.jp/arduino_diecimila/bootloader/index_en.html (http://www.geocities.jp/arduino_diecimila/bootloader/index_en.html) para garantirem que está tudo ok. Se não se sentirem a vontade com o bat copiem os comandos da página http://www.geocities.jp/arduino_diecimila/bootloader/index_en.html (http://www.geocities.jp/arduino_diecimila/bootloader/index_en.html).

Alterando apenas o ficheiro .conf  e algumas ligações é possivel programar qualquer AVR e Também é possível flashar qualquer bootloader! :D

Cumprimentos,
Tr3s

Nota: isto só funciona em Windows! Para usar em outras plataformas instalem uma máquina virtual com windows.
Nota: Ah se quiserem um programador de PIC por porta COM usando apenas 3 resistências é só pedir!
Título: Re:Flashar bootloader no Arduino - BitBang Mode
Enviado por: Fifas em 21 de Janeiro de 2009, 03:37
obrigado pela informaçao detalhada ;)

gostei especialmente da frase: Nos tempos em que queimava PICs "como quem troca de cuecas"  ;D

ja agora, relata lá o programador de pics com 3 resistencias :D se for o que eu estou a pensar, já o fiz, mas este tambem leva um diodo ;D :P
Título: Re:Flashar bootloader no Arduino - BitBang Mode
Enviado por: TigPT em 22 de Janeiro de 2009, 00:43
Pensei que já tinha feito reply a este post mas é capaz de ter havido algum erro ou edit.. weard...

Obrigado por partilhares a tua experiência e os ficheiros, assim facilitas a vida a quem tenha que passar pelo mesmo :D
Título: Re:Flashar bootloader no Arduino - BitBang Mode
Enviado por: tr3s em 22 de Janeiro de 2009, 00:48
Sim ja tinhas! Houve uma transferencia de topico parece! Alguma coisa foi comida pelo caminho :P
http://lusorobotica.com/index.php/topic,436.0.html (http://lusorobotica.com/index.php/topic,436.0.html)
Título: Re:Flashar bootloader no Arduino - BitBang Mode
Enviado por: TigPT em 22 de Janeiro de 2009, 00:51
Ahh ok, entendido ;)
Título: Re:Flashar bootloader no Arduino - BitBang Mode
Enviado por: Fifas em 22 de Janeiro de 2009, 01:12
pensei que aquilo era resposta ao programador ;D
Título: Re:Flashar bootloader no Arduino - BitBang Mode
Enviado por: guibot em 06 de Fevereiro de 2009, 23:32
bem, isto é fantástico!   
não que eu pense em vir a queimar Atmels, mas sim para fazer os meus arduinos de raiz sem precisar de comprar chips já flashados.

um dia que me sinta cheio de confiança hei-de experimentar  :D

obrigado por partilhares tr3s  ;)

Título: Re:Flashar bootloader no Arduino - BitBang Mode
Enviado por: Fifas em 02 de Março de 2009, 20:50
bah...já tou farto de ter de meter o bootloader no arduino :P hoje tive de meter outra vez

...
Senti alguma dificuldade em soldar 4 os pinos X3 pois um dos buracos ainda não era buraco :P! Ultrapassado este problema foi so ligar os fios. Recomendo que usem uma daquelas pontas de ligar USBs à motherboard que vagueiam lá por casa, liguem os fios aos pinos X3 seguindo o esquema da na imagem em anexo.
...

ó tr3s...foste roubado ;D o meu tinha os 4 buracos! :D ah....e arranjei uma ficha de umas usbs da motherboard....maravilha :D
Título: Re:Flashar bootloader no Arduino - BitBang Mode
Enviado por: amando96 em 02 de Março de 2009, 21:11
fogo ao fim de um m ficaste preocupado? o meu demora normalmente uns 15minutos...
Título: Re:Flashar bootloader no Arduino - BitBang Mode
Enviado por: metRo_ em 02 de Março de 2009, 21:12
Eu não sei como tens paciencia lol eu normalemnte em 15 minutos já alterei o programa meia duzia de vezes :P
Título: Re:Flashar bootloader no Arduino - BitBang Mode
Enviado por: Fifas em 02 de Março de 2009, 21:26
fogo ao fim de um m ficaste preocupado? o meu demora normalmente uns 15minutos...
bootloader...não é o programa :P

Eu não sei como tens paciencia lol eu normalemnte em 15 minutos já alterei o programa meia duzia de vezes :P
true ;D me too :P
Título: Re:Flashar bootloader no Arduino - BitBang Mode
Enviado por: amando96 em 02 de Março de 2009, 21:29
Eu não sei como tens paciencia lol eu normalemnte em 15 minutos já alterei o programa meia duzia de vezes :P

pois lol por isso é que demoro para sempre a arranjar bugs... tenho de deixar o ,programa que uqero mais perto do que quero e tá a andar :P
Título: Re:Flashar bootloader no Arduino - BitBang Mode
Enviado por: metRo_ em 02 de Março de 2009, 21:42
Tem uma vantagem é que te preocupas mais antes de enviar o programa. Eu é mais mandar e depois ver o que não funcionou em vez de pensar no que estou fazer, o que é uma má metodologia!
Título: Re:Flashar bootloader no Arduino - BitBang Mode
Enviado por: tr3s em 04 de Março de 2009, 19:05
fogo ao fim de um m ficaste preocupado? o meu demora normalmente uns 15minutos...

Como é que isso é possível? Já pensaste em formatar o PC :P !?
Provavelmente tens algum serviço a correr que te está a "estragar" a comunicação... Tem cuidado porque isso não é bom sinal! Já agora os LEDs RX e TX piscam muito rápido (tipo 5x por seg.) ou durante os 15 minutos ou piscam mesmo muito devagar (tipo 1x de 2 em 2 seg)?
Título: Re:Flashar bootloader no Arduino - BitBang Mode
Enviado por: amando96 em 04 de Março de 2009, 22:03
fogo ao fim de um m ficaste preocupado? o meu demora normalmente uns 15minutos...

Como é que isso é possível? Já pensaste em formatar o PC :P !?
Provavelmente tens algum serviço a correr que te está a "estragar" a comunicação... Tem cuidado porque isso não é bom sinal! Já agora os LEDs RX e TX piscam muito rápido (tipo 5x por seg.) ou durante os 15 minutos ou piscam mesmo muito devagar (tipo 1x de 2 em 2 seg)?

só começam a piscar uns 5 segundos ates de dizer ''done uploading'' mas o disco rígido está todo partido, e o windows não tem certificado windows(o PC man instalou uma cópia depois de desfragmentar e apagar tudo)... estou agora é espera de um portátil da e-escola :) tenho um PC de jeito agora, mas é para a familia toda... é o irmao no MSN sempre... lol mas há dias que não usam tanto :)
Título: Re:Flashar bootloader no Arduino - BitBang Mode
Enviado por: TigPT em 04 de Março de 2009, 23:52
fogo ao fim de um m ficaste preocupado? o meu demora normalmente uns 15minutos...

Como é que isso é possível? Já pensaste em formatar o PC :P !?
Provavelmente tens algum serviço a correr que te está a "estragar" a comunicação... Tem cuidado porque isso não é bom sinal! Já agora os LEDs RX e TX piscam muito rápido (tipo 5x por seg.) ou durante os 15 minutos ou piscam mesmo muito devagar (tipo 1x de 2 em 2 seg)?


só começam a piscar uns 5 segundos ates de dizer ''done uploading'' mas o disco rígido está todo partido, e o windows não tem certificado windows(o PC man instalou uma cópia depois de desfragmentar e apagar tudo)... estou agora é espera de um portátil da e-escola :) tenho um PC de jeito agora, mas é para a familia toda... é o irmao no MSN sempre... lol mas há dias que não usam tanto :)
Assim como quem não quer a coisa :P
http://lusorobotica.com/index.php/topic,365.0.html (http://lusorobotica.com/index.php/topic,365.0.html)
Título: Re:Flashar bootloader no Arduino - BitBang Mode
Enviado por: amando96 em 05 de Março de 2009, 14:09
fogo ao fim de um m ficaste preocupado? o meu demora normalmente uns 15minutos...

Como é que isso é possível? Já pensaste em formatar o PC :P !?
Provavelmente tens algum serviço a correr que te está a "estragar" a comunicação... Tem cuidado porque isso não é bom sinal! Já agora os LEDs RX e TX piscam muito rápido (tipo 5x por seg.) ou durante os 15 minutos ou piscam mesmo muito devagar (tipo 1x de 2 em 2 seg)?


só começam a piscar uns 5 segundos ates de dizer ''done uploading'' mas o disco rígido está todo partido, e o windows não tem certificado windows(o PC man instalou uma cópia depois de desfragmentar e apagar tudo)... estou agora é espera de um portátil da e-escola :) tenho um PC de jeito agora, mas é para a familia toda... é o irmao no MSN sempre... lol mas há dias que não usam tanto :)
Assim como quem não quer a coisa :P
http://lusorobotica.com/index.php/topic,365.0.html (http://lusorobotica.com/index.php/topic,365.0.html)

ps acabei de ver, mas o portatil da e-escola fica-me a 0€ e 5€ por mes de net movel... :)  mas net com mt pouco tráfego... mas liga-se a net deste(comprei um router) e já está um PC a 0€ :) é realemnte uma oferta irrecusavel ;D
Título: Re:Flashar bootloader no Arduino - BitBang Mode
Enviado por: metRo_ em 05 de Março de 2009, 15:21
Que escalão tens, desculpa se estou a ser indiscreto!
Título: Re:Flashar bootloader no Arduino - BitBang Mode
Enviado por: Fifas em 05 de Março de 2009, 15:30
deve ter o A para ter o portatil á borlix :P
Título: Re:Flashar bootloader no Arduino - BitBang Mode
Enviado por: TigPT em 05 de Março de 2009, 16:55
Depois se poderes fifas move estes posts daqui que está a desviar-se bastante.

Pessoalmente gosto de ver essas campanhas pelo preço final (somatório de todas as prestações do contrato mínimo, mas não te quero influenciar a nada para não parecer que tenho segundas intenções ;))
Título: Re:Flashar bootloader no Arduino - BitBang Mode
Enviado por: amando96 em 05 de Março de 2009, 16:59
deve ter o A para ter o portatil á borlix :P

Pois claro ;D

bem dsculpem lá estes offtopics todos :S
Título: Re:Flashar bootloader no Arduino - BitBang Mode
Enviado por: metRo_ em 05 de Março de 2009, 19:39
Eu não tenho nada a ver com o que cada um faz com dinheiro, alias o que vou dizer até parece ser um bocado cobarde por estar a falar pelo forum e não pessoalmente só que há coisas que não consigo ficar sem dizer que é o facto de não perceber como já gastas-te mais de 100€ em coisas para robotica, que embora sejam educativas não deixam de ter uma parte de hobby/"brinquedo" e não tens 100€ para pagar o portatil! Só há coisas que não entendo!
Título: Re:Flashar bootloader no Arduino - BitBang Mode
Enviado por: amando96 em 05 de Março de 2009, 21:07
Eu não tenho nada a ver com o que cada um faz com dinheiro, alias o que vou dizer até parece ser um bocado cobarde por estar a falar pelo forum e não pessoalmente só que há coisas que não consigo ficar sem dizer que é o facto de não perceber como já gastas-te mais de 100€ em coisas para robotica, que embora sejam educativas não deixam de ter uma parte de hobby/"brinquedo" e não tens 100€ para pagar o portatil! Só há coisas que não entendo!

pk esses 100€ pa coisas de robotica vieram de um trabalho de verão... e eu guardei, e guardei, e queria já há uns tempos um portátil mas não comprei pk com 200€ não se arranja grandes portáteis... e com isto da e-escola pago 300€ mas 5€ por mes, só pa net, no resto nao vai nada... até fica caro, contando que um portatil não dura mt e vou estar a pagar a net mesmo depois de ele ter ''morrido''...

mas pois. por 200€ não se arranja um portatil...

mas enfim isso de robotica não estava planeado! tenho de guardar mt mais para tirar a carta e comprar mota... :S
Título: Re:Flashar bootloader no Arduino - BitBang Mode
Enviado por: TigPT em 06 de Março de 2009, 00:39
É melhor arranjares uma caixinha para ires juntando uns trocos todos os dias ;P tens demasiados planos pelo que vejo!

Quanto ao gastar demasiado na robótica, eu pessoalmente não posso falar pois também já gastei muito.. se contabilizar despesas do fórum então. :P O que costumo dizer é que é um investimento na minha formação e que virá a dar lucros no futuro!
Título: Re:Flashar bootloader no Arduino - BitBang Mode
Enviado por: guibot em 01 de Maio de 2009, 13:51
Olá tr3s, estou a pensar seriamente em fazer isto  :)

basicamente só tenho que correr o .bat, fazer figas e rezar???   :D   ou há mais algum outro passo a seguir?
Título: Re:Flashar bootloader no Arduino - BitBang Mode
Enviado por: tr3s em 03 de Maio de 2009, 19:18
Eu só costumo correr o bat seguindo os passos do tutorial e mais nada :D
Título: Re:Flashar bootloader no Arduino - BitBang Mode
Enviado por: guibot em 03 de Maio de 2009, 22:11
Vou experimentar muito em breve, depois digo os resultados   :D
Título: Re:Flashar bootloader no Arduino - BitBang Mode
Enviado por: joaoamaral em 12 de Junho de 2009, 08:22
Bem tr3s muito obrigado pelo tutorial. Perfeito perfeito era fazeres um video! :)

- Soldar 4 pinos X3 do Arduino (já estou a ver como isto me vai correr, tenho mesmo que aprender a fazer isto bem)

- Usar cabos femea-femea bem janotas como os do tutorial no geocities (comprar Sparkfun? ou isto é possivel de se fazer?)

- Ligar arduino atraves de transformador e usb?

- Correr o programa

Onde comprar os Arduinos ATmega168?
Título: Re:Flashar bootloader no Arduino - BitBang Mode
Enviado por: Fifas em 14 de Junho de 2009, 23:58
joaoamaral,
em relaçao aos 3 buracos, no meu arduino tinha os 4 buracos :P por isso devia ser "defeito" do arduino do tr3s....:)

as fichas, eu uso de uma ficha USB interna....é perfect...mas podes fazer :)

só liguei o meu arduino por usb :)
Título: Re:Flashar bootloader no Arduino - BitBang Mode
Enviado por: joaoamaral em 15 de Junho de 2009, 08:43
aaah é do mesmo tamanho? estás a falar dos que vêm com as motherboards/caixas de pc? já tive alguns desses deixa lá ver se arranjo, se puderes bota ai uma foto :D

o meu receio é soldar os pinos no arduino... ainda estrago a placa... >_<

e donde compras os ATmega? da SparkFun?
Título: Re:Flashar bootloader no Arduino - BitBang Mode
Enviado por: tr3s em 15 de Junho de 2009, 10:40
Não estragas nada!
Se a tua placa já trouxer os buracos é uma maravilha, é so meteres as fichas e encostar uma gota de solda. Se não trouxer, um chupa-solda mete-te os buracos limpinhos e fazes o mesmo!  ;)
Título: Re:Flashar bootloader no Arduino - BitBang Mode
Enviado por: Fifas em 19 de Junho de 2009, 12:00
aaah é do mesmo tamanho? estás a falar dos que vêm com as motherboards/caixas de pc? já tive alguns desses deixa lá ver se arranjo, se puderes bota ai uma foto :D

Sim, de pc....eu usei esta que é de uma usb
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg265.imageshack.us%2Fimg265%2F8128%2Fdsc01202psy.jpg&hash=163985562b39da47324f60016bc76c0775429d1b)

mas ha mais compatives, desde que encaixem na ficha :P

logo tiro mais umas fotos para veres
Título: Burn do Bootloader no Duelaminove com ATMEGA328P
Enviado por: zordlyon em 09 de Agosto de 2011, 13:00
Deixo aqui uma explicação de como recarregar o bootloader do duelaminove com o ATmega328p.

Não me responsabilizo por qualquer dano efectuado nos vossos arduinos.

É chamado de "BitBang Mode" e dá para fazer o Burn dos seguintes modelos:
Arduino NG, Arduino Duemilanove e/com ATMega328P.

Atenção para fazer isto convém ser com o Windows, para fazer com outros sistemas operativos tem que se alterar o Patch, reconfigurar e compilar.

Primeiro vamos modificar o arduino tirando a solda destes 4 pinos do X3:
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Ffarm4.static.flickr.com%2F3014%2F2755442998_7d322108e5_o.jpg&hash=25596a5832c4bb6e8cb5838f033442ed3934bdfc)

e soldando um "header" no local:
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Ffarm4.static.flickr.com%2F3231%2F2755442952_ecaf734f12_o.jpg&hash=672d0a85737089a96aaa18be68a46b28e5ef79bb)

Após isto fazemos o download dos ficheiros que vamos utilizar:
->serjtag-0.3.zip (http://www.geocities.jp/arduino_diecimila/bootloader/files/serjtag-0.3.zip)
->avrdude.conf (http://www.geocities.jp/arduino_diecimila/bootloader/files/avrdude.conf)
->avrdude-GUI-1.0.5.zip (http://yuki-lab.jp/hw/avrdude-GUI/avrdude-GUI-1.0.5.zip)

Nota:O avrdude-GUI requer no minimo o Microsoft .Net Framework 2.0 para quem não tem aqui fica o link:
-Microsoft .Net Framework 2.0 (http://www.microsoft.com/Downloads/details.aspx?familyid=0856EACB-4362-4B0D-8EDD-AAB15C5E04F5&displaylang=us)

1. Instalação

a)
-Extrair o "serjtag-03.zip" e copiar a pasta  "avrdude-serjtag" para C:/Programas
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fwww.geocities.jp%2Farduino_diecimila%2Fbootloader%2Ffiles%2Favrdude-serjtag2.png&hash=7d6a705d10048b85a7691a770531d71682f7151d)

-Na pasta "avrdude-serjtag" apagar a pasta "src".

b)
-Substituir o "avrdude.conf" que está dentro da pasta "C:/Programas/avrdude-serjtag/binary/" pelo avrdude.conf descarregado aqui...

c)
-Extrair o "avrdude-GUI-1.0.5.zip" para "C:/Programas"
(Relembro que precisa do .Net Framework 2.0 ou superior)

2. Configurar o Avrdude-GUI
a)
-Abrir o "C:/Programas/avrdude-GUI-1.0.5/avrdude-GUI.exe"
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fwww.geocities.jp%2Farduino_diecimila%2Fbootloader%2Ffiles%2Favrdude-gui.png&hash=bc175cb39004d41a191a5f838fe8ecf64c4d9634)

b)
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg546.imageshack.us%2Fimg546%2F4331%2Fguimark.png&hash=12ece8835de4b4e5aa42c35f9606d688a443a460) (http://imageshack.us/photo/my-images/546/guimark.png/)

i)-avrdude.exe file
-Selecionar o "avrdude.exe" da pasta C:/Programas/avrdude-serjtag/binary/avrdude.exe"

ii)-Programmer
-Selecionar "FT232R Synchronous BitBang (diecimila)"

iii)-Device
-Selecionar "ATmega328p (m328p)"

iv)-Command line option
-Escrever "-P ft0 -B 4800"

Nota: Explicação
    -> "-P ft0" ->Configurações da porta
    -> "-B 4800" -> Configurações de Clock em modo "Slow"(lento)

-Manter o campo "Port" Vazio!.

Nota: Após isto fechar o avrdude-GUI!

3. Ligar os fios

a)
Ligar deste modo os fios:
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Ffarm4.static.flickr.com%2F3270%2F2754610263_0c173021dd_m.jpg&hash=8ab94673cb1bdc676a477aaf68a0b12adfee64be)

b)
-Conectar o cabo USB ao arduino e ao PC
-Abrir o "avrdude-GUI" em C:/Programas/avrdude-GUI-1.0.5
-Verificar se os campos estão preenchidos com as configurações do Passo 2.

c)
-Após isto, vamos ler os "Fuse Bits" em modo "Slow"
-E deve aparecer algo assim:
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg215.imageshack.us%2Fimg215%2F241%2Ffusec.png&hash=8308411ce49e254c79943858e5fe089fe51a4c1c) (http://imageshack.us/photo/my-images/215/fusec.png/)

-Se os "Fuse-Bits" forem lidos é porque está a funcionar.
-Caso não esteja a funcionar consultar os Erros no fim deste tutorial.


NOTA:Estes bits diferenciam consoante o ATmega que está a ser usado.

d) Agora vamos ler em modo "Fast" (Rapido) apagando no "Command line Option" o "-B 4800".
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg855.imageshack.us%2Fimg855%2F6002%2Ffastclock.png&hash=07e913023d48d5aa14549490f43da7cd01a69a72) (http://imageshack.us/photo/my-images/855/fastclock.png/)

-Façam Read novamente nos "Fuse-Bits". E se os Fuse-Bits foram lidos com sucesso com o mesmo resultado anterior é porque está a funcionar em modo "fast clock". Porreiro!

4. Burn

a)
-No "Command line Option" coloquem em "Slow Clock" ou seja escrevam novamente o "-B 4800".

Atenção- Se for um chip novo (virgem) que queiram programar pela primeira vez o bootloader, não podem fazer o burn em modo "Fast Clock"

-1º Cliquem no "Chip Erase"
-2º Depois cliquem em "Read" e deve aparecer algo como "0F" no caso do ATmega328p.
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg20.imageshack.us%2Fimg20%2F677%2Feraseq.png&hash=042341f98fb352d7a3365eff790bd4de9955d029) (http://imageshack.us/photo/my-images/20/eraseq.png/)

b)
-Reescrever os Fuse-Bits, escrever os valores como veem na imagem SOMENTE SE FOR O ATmega328p, caso seja outro ATmega consultar no fim os valores.
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg27.imageshack.us%2Fimg27%2F9422%2Fwfuse.png&hash=c5200f83ba6e2f12e2d8fd078c85d8ae8d5d57ec) (http://imageshack.us/photo/my-images/27/wfuse.png/)
-Depois de preencher os campos dos fuse-bits clicar em "Write".

-Mudar para "Fast Clock", apagar o "-B 4800" e cliquem em "Read" e vejam se os valores aparecem, caso não apareçam é porque foram mal inseridos, nesse caso voltem a "Slow Clock" e insiram novamente os valores e cliquem em "Write" e façam o mesmo processo.

c)
-Preparar o ficheiro .hex.
-No campo "Flash" selecionar o ficheiro .hex em "C:/Programas/arduino-0022/hardware/bootloaders/ATmegaBOOT_168_atmega328.hex"

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg819.imageshack.us%2Fimg819%2F3200%2Fflashf.png&hash=6060d251dd16645b376d0e292288561619d0a765) (http://imageshack.us/photo/my-images/819/flashf.png/)

-Clicar em "Erase-Write-Verify".
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg220.imageshack.us%2Fimg220%2F6185%2Fwflash.png&hash=3c3a7516f44cb9429bafb0c600fe73f34ce37cb8) (http://imageshack.us/photo/my-images/220/wflash.png/)

d)
-Escrever o "Lock-Bit" como está na figura..
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fwww.geocities.jp%2Farduino_diecimila%2Fbootloader%2Ffiles%2Fw_lock.png&hash=4b9df276eb6c7179679ca1c7e5f3979cee3a5a81)

Pronto e terminamos o nosso Burn.

Agora é so confirmar se tudo está a funcionar.
-Tirar o cabo USB do PC
-Tirar os fios que ligam o ICSP ao X3
-Conectar novamente o Cabo USB ao PC
-Clicar no botão de Reset do arduino.
-Abrir o IDE do arduino
-Fazer o upload de um programa exemplo tipo o "Blink" e verificar se o Led do arduino "L" pisca...

-------------------------------------------//----------------------------------------

->Configurações para outros ATmegas
ATmega8
Fuse-bits

hfuse = CA
lfuse = DF
Lock-bit
unlock = 3F
lock = 0F

ATmega168
Fuse-bits

hFuse = DD
LFuse = FF
eFuse = 00
Lock-bit
lock = 0F

-------------------------------------------//----------------------------------------

-Erros
Se for um erro deste genero:
Código: [Seleccione]
avrdude.exe: ft0 open failedVerifica se as ligações estão bem feitas e se o arduino está realmente ligado ao pc com os drivers FTDI. Para isso basta ir ao Gestor de Dispositivos e verificar se aparece "FTDI UART" com um ponto de interrogação amarelo, isso significa que os drivers do arduino não estão instalados.
Basta ir ao site do Arduino e fazer o download do software e depois instalar os drivers.


Se for um erro deste tipo:
Código: [Seleccione]
avrdude.exe: BitBang OK
avrdude.exe: pin assign miso 3 sck 5 mosi 6 reset 7
avrdude.exe: drain OK

ft245r: bitclk 230400 -> ft baud 115200
avrdude.exe: ft245r_program_enable: failed
avrdude.exe: initialization failed, rc=-1
É necessário rever as conexões, e tentar novamente, ou usar o -F para substituir essa verificação.

Se for um erro deste tipo:
Código: [Seleccione]
avrdude.exe done. Thank you.Primeiro verificar as ligações dos fios no arduino.
Depois de verificar que as ligações estão correctas, tentar novamente a operação mas com o comando "-B 4800" no Command line Option caso ainda não esteja lá.

Se estamos a tentar escrever alguma coisa para o chip e aparece um erro similar a este:
Código: [Seleccione]
avrdude.exe: verification error, first mismatch at byte 0x0000
0xff != 0x3f
Significa que tem que se clicar no "Erase Chip" antes de escrever algo para o chip.


Se foi feito o burn ao bootloader com sucesso mas não se vê o LED a piscar, ou então o arduino não faz o upload, é necessário tirar o cabo USB do PC e tornar a liga-lo.

Bibliografia:
http://www.geocities.jp/arduino_diecimila/bootloader/index_en.html (http://www.geocities.jp/arduino_diecimila/bootloader/index_en.html)
http://www.instructables.com/id/Programming-Arduino-Bootloader-without-External-Pr/step10/Troubleshooting/ (http://www.instructables.com/id/Programming-Arduino-Bootloader-without-External-Pr/step10/Troubleshooting/)

Agradecimentos ao user Senso que me forneceu o link com o tutorial.

Cumprimentos,
André Carvalho.

















Título: Re: Flashar bootloader no Arduino - BitBang Mode
Enviado por: Fifas em 09 de Agosto de 2011, 14:03
zordlyon, juntei o teu topico a este por se tratar do mesmo assunto, embora o teu esteja um pouco mais detalhado.

:)
Título: Re: Flashar bootloader no Arduino - BitBang Mode
Enviado por: zordlyon em 09 de Agosto de 2011, 14:20
zordlyon, juntei o teu topico a este por se tratar do mesmo assunto, embora o teu esteja um pouco mais detalhado.

:)

No problema..  ;)
O que interessa é a partilha de informação. Nem conhecia este Tópico..

Cumprimentos,
André Carvalho.
Título: Re: Flashar bootloader no Arduino - BitBang Mode
Enviado por: souza_neto em 07 de Novembro de 2014, 15:11
Prezados colegas,

Eu realmente preciso do BOOTLOADER em um AVR para usar em um gravador externo como por exemplo o USBasp. Ou seja posso usar o atmega328p sem BOOTLOADER com um USBasp? O BOOTLOADER  seria pra utilizar com o ARDUINO somente ou com outros gravadores? E como faço pra remover o BOOTLOADER que foi gravado no arduino?

Qual a real necessidade de gravar o bootloader num AVR se não vou utilizar o arduino?

Desde já agradeço a atenção dos senhores.

Att,
Souza
Título: Re: Flashar bootloader no Arduino - BitBang Mode
Enviado por: jm_araujo em 07 de Novembro de 2014, 15:35
A grande vantagem de um bootloader é não precisares de um programador específico para programar o AVR. Podes usar a porta serie, o que simplifica muito as atualizações.

Com um USBasp podes programar o ATmega independentemente se sem bootloader ou não, desde que não tenham desligado o pino de ?RESET?, que nesse caso só com um programador com HV.
Título: Re: Flashar bootloader no Arduino - BitBang Mode
Enviado por: Kristey em 08 de Novembro de 2014, 00:37
Bootloder para aqui bootloader para ali, andei a tentar mudar os bootloaders aos meus PRO MINI's.
Como a minha FTDI tinha um jumper 3.3V/5V nem me preocupei com isso...
La mudei eu o jumper para 3.3V, e os 5V constavam la na mesma.
Tentei programar mesmo assim os arduinos e nada...

Bem decidi reverter o processo. E entao continuar a usar os arduinos a 5V e para isso fui mudar o bootloader.
A questão é que agora nem programam, nem aceitam bootloader novo nem nada...

E nesta situação tenho 6 PRO Minis... existe alguma maneira de recuperar isto? Mesmo que seja preciso um programador especifico?
Título: Re: Flashar bootloader no Arduino - BitBang Mode
Enviado por: senso em 08 de Novembro de 2014, 13:36
Qual é que é a diferença de correr a 3.3 ou 5v, não estava na moda correr todos os atmegas a 16Mhz fossem alimentados a 3.3 ou 5v?
Se não houver diferença de cristal, não é preciso mudar nada porque os fuses "oficiais" do Arduino nem o BOR usam, mas se usarem é só mudar fuses.
Título: Re: Flashar bootloader no Arduino - BitBang Mode
Enviado por: Electropepper em 08 de Novembro de 2014, 21:35
Kristey tive um problema semelhante á uns tempos atrás, em que a bincar com os fuses desativei o SPI, depois disso só com um HVPP(High Voltage Parallel Programmer).
Pus mãos á obra e fiz um eu mesmo aqui (http://electropepper.org/blog/item/rescue-avr-with-hv-rescue-arduino-shield-copy).
Isto baseado no mightyohm (http://mightyohm.com/blog/2008/09/arduino-based-avr-high-voltage-programmer/).
Título: Re: Flashar bootloader no Arduino - BitBang Mode
Enviado por: Kristey em 09 de Novembro de 2014, 03:11

Kristey tive um problema semelhante á uns tempos atrás, em que a bincar com os fuses desativei o SPI, depois disso só com um HVPP(High Voltage Parallel Programmer).
Pus mãos á obra e fiz um eu mesmo aqui (http://electropepper.org/blog/item/rescue-avr-with-hv-rescue-arduino-shield-copy).
Isto baseado no mightyohm (http://mightyohm.com/blog/2008/09/arduino-based-avr-high-voltage-programmer/).
Hoje com paciencia e ajuda de um amigo, conseguimos meter tudo outra vez a 5V 16Mhz.
Mas isso é interessante vai ja aqui para os bookmarks.
precisas mesmo de todos os pinos do ATMEGA?
É que neste caso sendo PRO MINI e não dip teria de adaptar o teu HVPP

Qual é que é a diferença de correr a 3.3 ou 5v, não estava na moda correr todos os atmegas a 16Mhz fossem alimentados a 3.3 ou 5v?
Se não houver diferença de cristal, não é preciso mudar nada porque os fuses "oficiais" do Arduino nem o BOR usam, mas se usarem é só mudar fuses.
senso, até pode ser como dizes (e acredito), o problema é que eu com uma FTDI de 5V não os conseguia programar, tal como quando programava por SPI (usando outro arduino) e depois ia ler a porta serie da FTDI, ele so mandava lixo.
Título: Re: Flashar bootloader no Arduino - BitBang Mode
Enviado por: Electropepper em 09 de Novembro de 2014, 08:07
Dá para adaptares certamente que não usa todos os pinos.
Título: Re: Flashar bootloader no Arduino - BitBang Mode
Enviado por: jm_araujo em 09 de Novembro de 2014, 10:59
Kristey,
Podes dizer qual foi a solução? Pode alguém ter o mesmo problema e ficava para futura referência. E se já sabes a razão em concreto porque deixaram de funcionar também era fixe partilhares.

Título: Re: Flashar bootloader no Arduino - BitBang Mode
Enviado por: Kristey em 09 de Novembro de 2014, 19:53
Pois realmente, costumo sempre fazer isso. Ontem como tinha de estudar vim ca muito por alto.

Como disse la em cima
No dia seguinte, voltei ao assunto.

Segui o tutorial do Arduino ISP (http://arduino.cc/en/Tutorial/ArduinoISP (http://arduino.cc/en/Tutorial/ArduinoISP))
E fiz tudo de novo Upload do codigo Arduino ISP para um UNO.
Ligações e basicamente insistência.

Reparei numa coisa que nos deixou intrigado, mas nenhum de nós soube explicar (eu ou o meu amigo).
Supostamente tinhamos 6 arduinos PRO MINIS para flashar.

O primeiro pimba foi À primeira...
O segundo falhou --' , reset ao UNO, 2ª tentativa, nada, 3ª tentativa, puff deu.
O terceiro falhou, procedemos da mesma maneira, falhou sempre... Metemos outra vez o codigo do arduino ISP no UNO, experimentamos e Burn Bootloader, deu à primeira.
Pronto e foi assim com os 6

Um deles está mesmo morto, tentamos programar directamente um blink em registos pelo avrdude.
E supostamente o numero serie de chip (atmega 328p) estavva a 0x0000F (se não me falha a memoria)
E deveria ser um numero de serie qualquer que não aquele...
por isso estou a ver a solução do Electropepper, para ver se dá para recuperar assim.
Título: Re: Flashar bootloader no Arduino - BitBang Mode
Enviado por: Kristey em 09 de Novembro de 2014, 19:57
Pois realmente, costumo sempre fazer isso. Ontem como tinha de estudar vim ca muito por alto.

Como disse la em cima
No dia seguinte, voltei ao assunto.

Segui o tutorial do Arduino ISP (http://arduino.cc/en/Tutorial/ArduinoISP (http://arduino.cc/en/Tutorial/ArduinoISP))
E fiz tudo de novo Upload do codigo Arduino ISP para um UNO.
Ligações e basicamente insistência.

Reparei numa coisa que nos deixou intrigado, mas nenhum de nós soube explicar (eu ou o meu amigo).
Supostamente tinhamos 6 arduinos PRO MINIS para flashar.

O primeiro pimba foi À primeira...
O segundo falhou --' , reset ao UNO, 2ª tentativa, nada, 3ª tentativa, puff deu.
O terceiro falhou, procedemos da mesma maneira, falhou sempre... Metemos outra vez o codigo do arduino ISP no UNO, experimentamos e Burn Bootloader, deu à primeira.
Pronto e foi assim com os 6
Se gostava de perceber porque é que uns funcionam logo e outros ate tem que se fazer novamente o upload do codigo?
Gostava, mas ate ja pesquisei e não encontrei nada!

Um deles está mesmo morto, tentamos programar directamente um blink em registos pelo avrdude.
E supostamente o numero serie de chip (atmega 328p) estavva a 0x0000F (se não me falha a memoria)
E deveria ser um numero de serie qualquer que não aquele...
por isso estou a ver a solução do Electropepper, para ver se dá para recuperar assim.
Título: Re: Flashar bootloader no Arduino - BitBang Mode
Enviado por: senso em 09 de Novembro de 2014, 22:40
Hit and miss  ::)
Compra ou faz um usbAsp, sempre é mais dedicado que um arduino com o sketch ISP.