Go Down

Topic: Gravar bootloader arduino duemilanove (Read 2 times) previous topic - next topic

ViniciusTech

Olá galera ,

Tenho um arduino duemilanove com atmega328-pu e resolvi usa-lo como isp para gravar bootloader em  2 atmegas virgens (Atmaga328p-pu).

porem na hora de queimar acontece um erro :

Code: [Select]
avrdude: stk500_getsync(): not in sync: resp=0xf0


esta tudo certo com cristal e etc.

andei lendo que para gravar a versão atmega328p-pu  tenho que fazer algumas mudanças em alguns arquivos da IDE do arduino.

ja tentei de tudo e não consigo gravar.


alguma dica?
Arduino Duemilanove
Arduino Mega 2560  
Xbox 360

Lago

Comprei quatro destes:
http://www.taydaelectronics.com/atmega328p-pu-atmega328-microcontroller-ic.html

Gravei com um Uno R3 como ISP seguindo este tutorial:
http://arduino.cc/en/Tutorial/ArduinoToBreadboard

O que já tentou?

Mortis

eu segui esse tutorial (alem de muitos outros, rs), mas usei um arduino mega: http://arduino.cc/en/Tutorial/ArduinoISP

uma observação importante do tutorial é: "On the Arduino Uno, you'll need to connect a 10 uF capacitor between reset and ground (after uploading the ArduinoISP sketch)."

lembro também que tive problemas com o sketch, acho que foi daqui que peguei o que funcionou: http://learn.adafruit.com/arduino-tips-tricks-and-techniques/arduinoisp ou daqui https://raw.github.com/adafruit/ArduinoISP/master/ArduinoISP.ino. Bom, anexo o sketch que é mais seguro rs


ViniciusTech

Obrigado pela resposta vou tentar fazer com o mega.

ja tentei o capacitor de 10uf no reset o resistor de 120ohms tambem.

não consegui desabilita o resetonserial via software.

troquei signature no avrdude file.

e sem resultados.
Arduino Duemilanove
Arduino Mega 2560  
Xbox 360

ViniciusTech

Com o mega obtive o seguinte erro .

Code: [Select]
avrdude: stk500_getsync(): not in sync: resp=0xff

O problema não está no micro pois como disse comprei 2  e ambos apresentam erro ao gravar.

Arduino Duemilanove
Arduino Mega 2560  
Xbox 360

Mortis

Vinícios,

Estranho, eu usei a IDE do arduino para gravar, gravei o sketch ISP no MEGA, conectei os cabos e as únicas alterações que fiz foi na hora de gravar o atmega328, selecionando a board  "Arduino Uno" e o programmer "Arduino as ISP".

Eu passei junto um sketch camado board detector, roda para ver como esta o teu atemega. Mais informações tu podes encontrar aqui http://www.gammon.com.au/forum/?id=11637

É tudo o que imagino poder ajudar por hora. Presumo que você já tenha checado os cabos, etc...

Anexo imagem da minha primeira gravação ^^

ViniciusTech


Nada da certo nesses Cloneinos  :0 .  Até o sketch q você mandou deu erro.




Olha o esquema do CoCôino Mega ( na verdade não da pra ver nada tirei a foto da webcam do note parece uma techpix ).



Alguma sugestão ?
Arduino Duemilanove
Arduino Mega 2560  
Xbox 360

bubulindo

Realmente... uma foto melhor seria ideal.

Pode realmente ser o auto-reset... e para tirares a limpo definitivamente podes cortar a pista do auto-reset (os senhores do Arduino podiam incluir um switch, né???).

Será que o chip precisa já dos condensadores e cristal?
Eu não sou o teu criado. Se respondo no fórum é para ajudar todos mediante a minha disponibilidade e disposição. Responder por mensagem pessoal iria contra o propósito do fórum e por isso evito-o.
Se realmente pretendes que eu te ajude por mensagem pessoal, então podemos chegar a um acordo e contrato onde me pagas pela ajuda que eu fornecer e poderás então definir os termos de confidencialidade do meu serviço. De forma contrária toda e qualquer ajuda que eu der tem de ser visível a todos os participantes do fórum (será boa ideia, veres o significado da palavra fórum).
Nota também que eu não me responsabilizo por parvoíces escritas neste espaço pelo que se vais seguir algo dito por mim, entende que o farás por tua conta e risco.

Dito isto, mensagens pessoais só se forem pessoais, ou seja, se já interagimos de alguma forma no passado ou se me pretendes convidar para uma churrascada com cerveja (paga por ti, obviamente).

HugoPT

Quote
Será que o chip precisa já dos condensadores e cristal?

A menos que tenhas os fuses configurados no chip a gravar para se usar oscilador interno é necessario ter cristal com os respectivos condensadores.
Esta questao surge muitas vezes no forum sobre gravar o bootloader.Enviar o bootloader é ate um simples processo na verdade, o problema é estar perdido na informaçao e sem norte a seguir.A minha experiencia em gravar o bootloader resume-se a isto:
Primeiro de tudo termos a certeza que estamos a falar com o chip(acabado de comprar).Isto claro temos de ter um programador ou o proprio arduino carregado com o sketch que o transforma num programador ISP(o skeetch esta nos exemplos pronto a ser carregado).Para termos a certeza que estamos a falar com o chip a minha sugestao é usar directamente o avrdude em linha de comandos!
No linux é algo assim:
Code: [Select]

hugo@localhost:~$ avrdude -c arduino -p m328p

O avrdude recebe dois argumentos , o programador que se esta a usar e o chip que queremos trabalhar.Neste caso uso o arduino (prevendo ter carregado o skeetch ISP)
o paramentro -p m328p indica o chip que quero ler
Se ele ler com sucesso entao podes partir para a IDE do arduino, tem de se configurar em Tools->Programmer escolher Arduino as ISP
Depois Burn bootloader
Caso falhem a conversa com o chip usando o avrdude NUNCA ira conseguir usar a IDE do arduino para carregar o bootloader e aqui os problemas podem ser diversos, fios do SPI trocados, falta de clock, chip com diferentes assinaturas (se assim for o avrddude diz que as assinaturas nao coincidem, requer alterar o avrdude.conf para o corrigir-acontece em versoes pico)

Debian,Mint,Ubuntu
Arduino Mega 2560
Arduino Nano
Arduino Duemilanove
MAC OS Montain Lion
Raspberry PI Model B

Mortis

Vinícios,

Como o bubulindo questionou e Hugo confirmou, só vai funcionar sem o cristal se estiver com os fuses para o clock interno, alguns atmegas já vem com bootloader e os fuses configurados para o clock externo, sendo necessário o cristal.

No link que te passei tem uma sessão "Chip not detected", lá comenta sobre os fuse http://www.gammon.com.au/forum/?id=11637. O Nick Gammon passa muitas informações úteis, dá uma lida com calma por lá ;)

Pelo erro na tua ide, parece-me que copiaste do anexo apenas o arquivo ".ino", os arquivos md5.c e md5.h devem ficar na mesma pasta, veja a imagem da minha pasta e ide anexa (compila normalmente).

Eu sempre rodo esse sketch "Atmega_Board_Detector" para ver como esta o chip novo ^^

Parece que falta o pull-up na tua protoboard, bota 10k ;)

As conexões da imagem que anexei em post anterior funcionaram perfeitamente aqui, faça exatamente o que lá esta (mesmo que nos sites que passei) que vai dar tudo certo!

bubulindo


Como o bubulindo questionou e Hugo confirmou, só vai funcionar sem o cristal se estiver com os fuses para o clock interno, alguns atmegas já vem com bootloader e os fuses configurados para o clock externo, sendo necessário o cristal.


Não... se o processador estiver configurado para usar o cristal interno, então pode ter condensadores e cristal exterior ligado que não faz mal nenhum.
Eu referi isto porque assim de cabeça não sei como é que o AVR vem configurado de fábrica. Eu arriscaria que está a correr com o cristal interno de 8MHz, mas não sei.

Pode haver também a possibilidade de alguém ter lá gravado o bootloader... não sabemos onde o chip foi comprado, né?

O pull-up no reset é bem visto... eu não tinha visto esse pull-up nos esquemas do Arduino ISP, mas isso é porque a resistência já está dentro do Arduino.
Eu não sou o teu criado. Se respondo no fórum é para ajudar todos mediante a minha disponibilidade e disposição. Responder por mensagem pessoal iria contra o propósito do fórum e por isso evito-o.
Se realmente pretendes que eu te ajude por mensagem pessoal, então podemos chegar a um acordo e contrato onde me pagas pela ajuda que eu fornecer e poderás então definir os termos de confidencialidade do meu serviço. De forma contrária toda e qualquer ajuda que eu der tem de ser visível a todos os participantes do fórum (será boa ideia, veres o significado da palavra fórum).
Nota também que eu não me responsabilizo por parvoíces escritas neste espaço pelo que se vais seguir algo dito por mim, entende que o farás por tua conta e risco.

Dito isto, mensagens pessoais só se forem pessoais, ou seja, se já interagimos de alguma forma no passado ou se me pretendes convidar para uma churrascada com cerveja (paga por ti, obviamente).

Mortis



Como o bubulindo questionou e Hugo confirmou, só vai funcionar sem o cristal se estiver com os fuses para o clock interno, alguns atmegas já vem com bootloader e os fuses configurados para o clock externo, sendo necessário o cristal.


Não... se o processador estiver configurado para usar o cristal interno, então pode ter condensadores e cristal exterior ligado que não faz mal nenhum.


Foi o tentei dizer: "Se estiver com os fuses "configurados" para o clock interno o cristal não é necessário", mas se estiver configurado para o clock externo é necessário usar o cristal."


Eu referi isto porque assim de cabeça não sei como é que o AVR vem configurado de fábrica. Eu arriscaria que está a correr com o cristal interno de 8MHz, mas não sei.


Eu creio que de fábrica é os 8MHz internos mesmo, comprei uns chips "crús" de um vendedor no ebay e estavam configurados para os 8mhz interno, comprei de outro e estavam com o bootloader do duemilanove.

Tentei me aventurar nos fuses, mas ainda não estou preparado para isso lol

HugoPT

Quote
Tentei me aventurar nos fuses, mas ainda não estou preparado para isso lol

Nao tenhas receio.Para muitos mecher nos fuses é uma caixa negra.Basicamente os fuses sao como uma BIOS de um PC para assim configurares o teu chip com algumas opçoes(velocidade relogio, tensao de brown-out, preservaçao da eeprom apos reprogramaçao, desactivar o pino de reset( este sim cuidado)....
Pensa só que existe soluçao SEMPRE mesmo que mexas em todos os fuses.O fuse mais perigoso é o desactivar o pino de reset, mas mesmo que o faças depois so precisas de o recuperar usando um programador com HighVoltage Programming ( o avrdragon faz ...)
Dominar os fuses por vezes é necessario e util
Debian,Mint,Ubuntu
Arduino Mega 2560
Arduino Nano
Arduino Duemilanove
MAC OS Montain Lion
Raspberry PI Model B

LegendBR


Eu referi isto porque assim de cabeça não sei como é que o AVR vem configurado de fábrica. Eu arriscaria que está a correr com o cristal interno de 8MHz, mas não sei.


Eu acho que não tem um padrão. Pelo menos todos os ATMega328p-pu que eu comprei vieram configurados para utilizar um cristal externo. Tive que utilizar o programador do Nick Gammon, que foi postado acima, com opção de gerador de frequência, caso contrário ele não funcionava.

bubulindo


Pensa só que existe soluçao SEMPRE mesmo que mexas em todos os fuses.O fuse mais perigoso é o desactivar o pino de reset.


A não ser que bloqueie o chip com as protecções do firmware... esse também não é fácil de tirar. ;)
Eu não sou o teu criado. Se respondo no fórum é para ajudar todos mediante a minha disponibilidade e disposição. Responder por mensagem pessoal iria contra o propósito do fórum e por isso evito-o.
Se realmente pretendes que eu te ajude por mensagem pessoal, então podemos chegar a um acordo e contrato onde me pagas pela ajuda que eu fornecer e poderás então definir os termos de confidencialidade do meu serviço. De forma contrária toda e qualquer ajuda que eu der tem de ser visível a todos os participantes do fórum (será boa ideia, veres o significado da palavra fórum).
Nota também que eu não me responsabilizo por parvoíces escritas neste espaço pelo que se vais seguir algo dito por mim, entende que o farás por tua conta e risco.

Dito isto, mensagens pessoais só se forem pessoais, ou seja, se já interagimos de alguma forma no passado ou se me pretendes convidar para uma churrascada com cerveja (paga por ti, obviamente).

Go Up