erro gravar bootloader e firmware com USBasp

1,156 views
Skip to first unread message

Daniel Franco

unread,
Dec 29, 2013, 6:10:03 PM12/29/13
to repr...@googlegroups.com
Pessoal, é o seguinte, eu fui gravar o bootloader na minha Gen7BR2 (atmega1284p) com um USBasp, e deu esse erro no arduino:
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
e apareceu escrito: Done Burning Bootloader.

tentei jogar o firmware depois, pensando que talvez tivesse gravado e deu o mesmo erro...
só esse erro, eu dei uma pesquisada mas quem eu achei que teve esse problema ele vinha junto com mais alguns outros códigos de erros... porem o meu apenas mostra 2 vezes o mesmo erro:
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: warning: cannot set sck period. please check for usbasp firmware update.

ele leva +- 2 minutos como se estivesse escrevendo mas depois dá esse erro...
e aparece escrito: Done Uploading.

talvez até tenha escrito os dados na memoria, porem ao testar no pronterface ele não retornou nada ao apertar conectar (no linux, o windows 8.1 não tem suporte ao driver do USB to TTL que eu tenho aqui)
, tentei outros valores no baudrate pois ele retornava um erro de que não tava certo o baudrate, mas antes disso ele dava acesso negado, até eu abrir o pronterface como root pelo terminal, dai se tentar o baudrate de 115200 ou abaixo ele aparece Connecting... mas não faz nada, e se tentar o 250000 (que é o valor que vem no firmware Marlin, que depois eu mudei e tentei gravar pra ver se mudava algo) ele da erro.

Poderia ser um problema no firmware que eu gravei? vou por o configuration.h do marlin em anexo...

Alguém sabe oque pode estar acontecendo????

sei que ta pedindo pra ver se tem uma atualização pro firmware do usbasp, mas como eu vejo isso? se é q dá pra atualizar....


tem alguma forma de eu ler oque está na memoria do atmega para confirmar se escreveu ou não?????????
Configuration.h

Lord Blackmore

unread,
Dec 29, 2013, 6:15:15 PM12/29/13
to repr...@googlegroups.com

Tentou gravar como? Direto de dentro do arduino, pelo avr dude? Ou por uma GUI especifica? Conferiu o oscilador?

--
Página da Lista: http://groups.google.com/group/reprapbr/about?hl=pt-BR
Versão Forum: https://groups.google.com/forum/?fromgroups#!forum/reprapbr
---
Você está recebendo esta mensagem porque se inscreveu no grupo "RepRapBR" dos Grupos do Google.
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para reprapbr+u...@googlegroups.com.
Visite este grupo em http://groups.google.com/group/reprapbr.
Para obter mais opções, acesse https://groups.google.com/groups/opt_out.

Daniel Franco

unread,
Dec 29, 2013, 6:21:05 PM12/29/13
to repr...@googlegroups.com
pelo próprio programa do arduino...
se o oscilador que você diz for o do atmega eu conferi sim, oscilador é de 20mhz, na Board eu selecionei o Gen7 with ATmega1284P and 20mhz.

Lord Blackmore

unread,
Dec 29, 2013, 8:24:19 PM12/29/13
to repr...@googlegroups.com
O seu PC reconhece o USBasp? aparece no gerenciador de dispositivos o USBasp? vc pode tentar atualizar o driver ... 

Daniel Franco

unread,
Dec 29, 2013, 8:33:27 PM12/29/13
to repr...@googlegroups.com
Aparece...

Atualizar como?

Daniel Franco

unread,
Dec 29, 2013, 8:44:01 PM12/29/13
to repr...@googlegroups.com
Meeeeee... to ficando maluco já...
eu entendi atualizar o software do USBasp e não o driver...
to lendo uma coisa e entendendo outra de tão cansado já, hoje quase o dia todo já tentando resolver esse problema...

Daniel Franco

unread,
Dec 29, 2013, 8:58:58 PM12/29/13
to repr...@googlegroups.com
diz q já esta com a ultima versão... dai agora eu sai de atras de algum site que tivesse um driver atualizado para ele, achei um, desinstalei o driver anterior e marquei a opção para deletar o driver, instalei o driver novo, tentei gravar o bootloader, e deu o mesmo erro....

Lord Blackmore

unread,
Dec 29, 2013, 9:03:27 PM12/29/13
to repr...@googlegroups.com
Daniel ... só posso lhe dizer que ... não stressa ... fiquei tb um período me matando para gravar ... depois de muito me debater fiquei sabendo que o oscilador era diferente do que estava configurado.
vamos por parte então ... 

Veja se o driver e o firm estão atualizados ...


depois procure uma GUI para usar com o AVR DUDE ...


com isso vc poderá gravar direto o arquivo .hex fora do arduino ...

estou por aqui ...

Daniel Franco

unread,
Dec 29, 2013, 9:24:49 PM12/29/13
to repr...@googlegroups.com
Blackmore dá pra gravar o bootloader por essa GUI??? (tem um tutorialzinho dela ai?) eu achei umas aqui, mas nenhuma tinha descrito como gravar o bootloader e algumas nem tinham as especificações do ATmega1284p para poder gravar algo...

Lord Blackmore

unread,
Dec 29, 2013, 9:38:54 PM12/29/13
to repr...@googlegroups.com
dá para gravar qqer firmware ...

Daniel Franco

unread,
Dec 29, 2013, 10:38:32 PM12/29/13
to repr...@googlegroups.com
Não vai...

baixei o avrdude.exe mais atual que tem o atmega1284p, seguindo um tutorialzinho que eu achei, fiz tudo aparentemente certo, ele começa a carregar, da que o programa não está mais respondendo, dai depois de um tempo volta...
se eu ativar Display Window, ele abre o terminal quando eu aperto write e nem chega a acender a luzinha do USBasp e dá o seguinte erro: A sintaxe do nome do arquivo, do nome do diretório ou do rótulo do volume está incorreta.
ja tentei de tudo ali, até mudar os arquivos HEX de lugar e alterar o nome deles... mas sempre da a mesma coisa.

Aiai... chega por hoje... vou dormir e amanha eu vejo se eu consigo resolver isso, ou eu monto um cabo serial mesmo, ou eu compro de alguém um Arduíno...

Lord Blackmore

unread,
Dec 29, 2013, 10:40:19 PM12/29/13
to repr...@googlegroups.com
vc tem gmail? contacta aí (mesmo e-mail que envio para a lista)... vai ver que é coisa simples ... 
estou no aguardo

Daniel Franco

unread,
Dec 30, 2013, 6:24:51 AM12/30/13
to repr...@googlegroups.com
Tenho gmail... é o mesmo que uso aqui pro grupo...

Mas ontem eu dei mais umas pesquisadas, fiquei quase o dia todo mexendo nisso até colocar meu problema aqui no grupo... fiz pelo linux também e deu os mesmo erros... aparentemente essas travadas que deu no avrdude, e aquele erro: "A sintaxe do nome do arquivo, do nome do diretório ou do rótulo do volume está incorreta." é porque o firmware do USBasp não casou com o avrdude... e como só os avrdude's mais novos tem suporte ao ATmega1284p eu não tenho oque fazer.......

.....Ou melhor tenho sim, vou fazer esse programador por porta serial que eu achei durantes as pesquisas sobre o USBasp e que é absurdamente simples de fazer, dai de quebra eu já atualizo o USBasp e vejo se tudo funciona http://eletronicabr.forumeiros.com/t4-programador-avr-pela-porta-serial
;-)

Daniel Franco

unread,
Dec 30, 2013, 6:29:30 AM12/30/13
to repr...@googlegroups.com
Esse tecnologia moderna... ainda perdendo pras tecnologias antigas...

Daniel Franco

unread,
Dec 31, 2013, 7:01:42 AM12/31/13
to repr...@googlegroups.com

Fiz o programador por porta serial, e atualizei o USBasp (usei o programa ponyprog pra escrever o .hex).
Atualizei ele hoje bem cedo, antes de vir pro trabalho, ontem tava muito corrido, e hoje nem deu tempo de testar ele na impressora ainda, mas creio que vai dar certo.

Quando eu pensei em tirar umas fotos eu já tinha gravado o .hex mais recente no USBasp, e já tava ajeitando o programador serial pra melhor conserva-lo... Eu soldei tudo direto, tava sem tempo pra fazer uma PCB, e quando eu tirei essas fotos eu já tinha enchido de cola quente pra ficar tudo bem firme e isolado e depois coloquei-o em uma caixinha de porta serial.

Assim que eu voltar para casa eu vou tentar gravar o bootloader e o firmware da impressora.

Enviado via Motorola Defy+

IMAGE00051.jpg
IMAGE00052.jpg
IMAGE00053.jpg
IMAGE00055.jpg

Daniel Franco

unread,
Dec 31, 2013, 1:15:52 PM12/31/13
to repr...@googlegroups.com
Aparentemente o USBasp funcionou corretamente... mandei a IDE do arduino gravar o bootloader e em seguida o Marlin e não deu erro nenhum...

Só que...
Alguma coisa não deu certo... no windows esse conversor USB-TTL não funciona, eu tenho o windows 8.1 e no site da profilic diz que no 8 e 8.1 não funciona...
Então eu coloquei ele no Debian (linux) com o pronterface... mas não vai... fica em connecting... e nada, o Marlin por padrão (pelo menos esse que eu baixei) vem com o baudrate em 250000, o pronterface em 250000 dá erro... dai se eu tento um valor menor nele ele fica em connecting... dai eu fui reduzindo no configuration.h o baudrate 115200, 57600, 38400, 19200, 9600, 2400, em qualquer um desses se eu por no pronterface qualquer valor de 115200 ou menos ele aparece connecting se eu por 250000 ele da erro... 

Alguem tem uma ideia do que pode ser?????
vou por em anexo o meu configuration.h para quem quiser conferir...
Configuration.h

Daniel Franco

unread,
Dec 31, 2013, 1:39:50 PM12/31/13
to repr...@googlegroups.com
Pessoal, alguem, PLIZZZ... me responda pelo menos isso...
quem mexe a algum tempo com essas impressoras (e tem uma gen7) deve saber...

depois de gravado uma vez o bootloader e o firmware seja com USBasp, ArduinoISP ou qualquer outro, dá pra atualizar (ou até regravar) o firmware pelo USB-TTL ou toda vez tem que plugar o gravador nela pra atualizar o firmware??? (não o firmware como um todo, mas pelo menos o configuration.h)


que se der eu vou escrever outro firmware no meu USBasp pra transforma-lo em um USB-TTL para testar, numa dessas é esse adaptador ai que ta com problema...

Lord Blackmore

unread,
Dec 31, 2013, 1:47:04 PM12/31/13
to repr...@googlegroups.com
Tá difícil em bixo ...
Para vc saber se a memoria foi gravada, aquela IDE que eu passei se vc conectar corretamente o USBasp e o microcontrolador vc tem como ler o conteúdo da memória e salvar em arquivo .. assim vc saberá se o conteúdo foi gravado inclusive na eeprom, Outras IDE´s mostram em forma de tabela.
Desta forma vc verá se foi ou não gravado o conteúdo ...
Uma pergunta boba ...qual é a tua placa?


--

Lord Blackmore

unread,
Dec 31, 2013, 1:49:44 PM12/31/13
to repr...@googlegroups.com
Daniel ...
Se vc usou o USBasp para colocar o programa no microcontrolador, muito provavelmente ele apagou completamente a memoria para gravar novamente. Isso apagou o bootloader e vc não conseguirá atualizar SEM o USBasp.
Porém, vc pode apagar todo o controlador, e gravar o bootloader adequado e aí sim poderá gravar direto pelo arduino sem precisar do USBasp.


--

Valter F.C.

unread,
Dec 31, 2013, 1:51:35 PM12/31/13
to repr...@googlegroups.com
O bootloader é para fazer ele funcionar como arduino.
Você grava apenas 1 vez, e nunca mais. Uma vez um USB-TTL corrompeu o bootloader do meu arduino, daí eu utilizei outro arduino e resolveu.

Desiste desse USB-TTL e parte para um ArduinoISP, utilizando qualquer arduino.
É muito mais fácil e você não vai ter problemas de driver.

Att,

Valter F.C.


Em 31 de dezembro de 2013 16:39, Daniel Franco <daniel.lu...@gmail.com> escreveu:

--

Daniel Franco

unread,
Dec 31, 2013, 1:52:24 PM12/31/13
to repr...@googlegroups.com
a minha placa é uma Gen7v1.2BR2b, com oscilador de 20mhz e ATmega1284p.

aonde eu vou para conferir os .hex??? eu até fiz isso que vc disse de ler a imagem dai tua GUI salvou em .hex, dai eu não sei oque fazer...

Daniel Franco

unread,
Dec 31, 2013, 2:01:37 PM12/31/13
to repr...@googlegroups.com
Eu programei ele seguindo um tutorial... o cara gravou com a IDE do arduino, primeiro ele foi em Gravar Bootloader (depois de ter selecionado a placa certa, no meu caso a Gen7Br com atmega1284p e oscilador de 20mhz) e depois ele carregou o .ini do firmware, e clicou em Carregar Utilizando um Gravador.
A minha IDE do arduino ta em portugues...
Em Ferramenta>Gravador eu selecionei USBasp...

Teoricamente teria que dar tudo certo na hora de gravar, e eu acho que deu certo sim...
só se o meu USB-TTL (a gen7 tem que usar um conversor usb/serial RS232 para conecta-la ao PC) tá com problema...

Valter F.C.

unread,
Dec 31, 2013, 2:08:10 PM12/31/13
to repr...@googlegroups.com
Alguns desses adaptadores não servem para isso.
O que eu testei e funcionou foi este (o que não deu certo, nem lembro qual foi):
http://dx.com/p/cp2102-usb-to-ttl-converter-module-red-146141

O vídeo de eu gravando em um arduino mini pro:
http://www.youtube.com/watch?v=SV32k9gCvik


Att,

Valter F.C.

Lord Blackmore

unread,
Dec 31, 2013, 2:14:21 PM12/31/13
to repr...@googlegroups.com
Daniel,
Verifique se na configuração (boards.txt) se o clock da CPU está com 20MHz ... aqui eu tenho padrão 16MHZ ...


Em 31 de dezembro de 2013 17:01, Daniel Franco <daniel.lu...@gmail.com> escreveu:

Daniel Franco

unread,
Dec 31, 2013, 2:16:09 PM12/31/13
to repr...@googlegroups.com
o meu tem 5 pino só... e eu uso 4... acho que é isso...
ele tem o 3.3v que eu não uso... mas não tem o pino do Reset...

eu vi uma maneira de converter meu USBasp em um TTL UART, vou fazer isso apenas para testar, se funcionar... vou dar uma martelada nesse USB-TTL que eu tenho aqui... hehe

Daniel Franco

unread,
Dec 31, 2013, 2:23:33 PM12/31/13
to repr...@googlegroups.com
Se for o boards.txt que fica em Marlin-Marlin_v1>ArduinoAddons>Arduino_0.xx>Gen7
lá no final do arquivo, a ultima parte tem com o 1284p com 20mhz...

segue em anexo.
boards.txt

Lord Blackmore

unread,
Dec 31, 2013, 2:34:02 PM12/31/13
to repr...@googlegroups.com
sim é ele, mas
pq o uploadspeed está com 115200?? não deveria ser 57600??

Lord Blackmore

unread,
Dec 31, 2013, 2:44:46 PM12/31/13
to repr...@googlegroups.com
Olhando com um pouquinho mais de atenção ...
Na configuração do atmega1284p 16MHZ veja que o bootloader.file diz 16MHZ ... e na configuração do atmega1284p 20MHz o bootloader.file diz 16MHz ...
se vc gravou o bootloader para 16MHz ele não vai funcionar em 20MHz ... e vice versa.
Recomendo que uma vez que o USBasp está funcionando, utilize o bootloader que tem nas pastas do arduino e o grave com uma GUI no processador ... seu caso 20MHz ... e tente fazer o update pelo arduino como deveria ser normalmente.

Daniel Franco

unread,
Dec 31, 2013, 2:56:04 PM12/31/13
to repr...@googlegroups.com
Deixa v se eu entendi oque vc disse...
Gravar o bootloader da gen7 que eu baixei e coloquei nas pastas do arduino, e o marlin pela GUI? é isso?

se eu gravar o .hex do bootloader e depois o .hex do marlin não vai ter perigo da GUI dar erase na parte do bootloader?


@Valter você usa uma Gen7 ai?

Daniel Franco

unread,
Dec 31, 2013, 3:06:36 PM12/31/13
to repr...@googlegroups.com
Black... verificando aqui... acho que nao entendi muito a tua ideia... acho que entendi como fazer, mas nao entendi o porque....
eu usei o bootloader que tem pra baixar lá no tutorial da Gen7BR que tem escrito com todas as palavras que é de 20mhz... se eu tivesse usado o bootloader que vem na pasta do marlin dai nao iria dar certo mesmo... 

aaaaa não ser que o Arduino compile aquele bootloader de 16mhz dentro do .hex do marlin... dai lasco tudo...


Se alguém ai usar uma Graber i3 com placa Gen7Br e tiver funcionando se puder por gentileza me passar o firmware, não faz mal que seja o firmware do Repertier é mais pra testar agora mesmo, eu ia usar o Marlin pq ele tem suporte ao auto-level, mas também posso deixar pra tentar com o marlin depois...

Valter F.C.

unread,
Dec 31, 2013, 3:11:15 PM12/31/13
to repr...@googlegroups.com
Não, não uso Gen7, mas o princípio é o mesmo de qualquer ATMega. (uso Ramps)
Prefiro placas que já venham com o USB, já que existem muitos problemas para se resolver em uma impressora...

Att,

Valter F.C.

Lord Blackmore

unread,
Dec 31, 2013, 4:29:54 PM12/31/13
to repr...@googlegroups.com
Daniel ...

Eu sou um tanto leigo em arduino, e não entendo pq certas coisas são "travadas" (se é que existem para acesso do usuário) ... talvez seja pelo simples fato de que arduino é uma plataforma comercial, mas tentando explicar ...
Basicamente todos os controladores funcionam semelhantemente e se faz necessário que exista uma linha de comunicação para que se grave o firmware (programa) em sua memória flash ou eeprom.
Bootloader, qualquer microcontroador que faça autogravação de sua memória interna é capaz de trabalhar com bootloader, e este nada mais é que um pequeno firmware (programa) que é alocado em um pequeno espaço da memória flash do controlador podendo ser no início ou no final dela. E uma grande vantagem do uso de um bootloader é que se for gravado corretamente ele faz desnecessário gravadores externos (como o USBasp por exemplo).
O firmware (programa) que controla a placa eletrônica, aqui no caso para a impressora 3D, pode ser gravado de duas formas:

1 - com o uso do gravador externo ( neste caso USBasp);
2 - direto pelo bootloader (desde que esteja gravado corretamente);

Eu disse acima que vc pode gravar o bootloader certo pelo USBasp, depois para carregar qualquer novo firmware (programa) na memória flash do controlador vc não precisa mais usar o USBasp, pois poderá gravar direto pelo interface do arduino pela comunicação serial adequada.
É importante comentar que ... com o uso do USBasp, ele apaga toda a memória flash do controlador antes de gravar um novo firmware, sendo assim, perderá tudo o que tiver na memória antes da nova gravação deixando apenas o firmware (programa) que vc mandou gravar naquele momento.

Daniel Franco

unread,
Dec 31, 2013, 7:28:59 PM12/31/13
to repr...@googlegroups.com
fiz uma pesquisa e aparentemente se gravado com a IDE do arduino como ele tem opções separadas para gravar o bootloader e o firmware ele não apaga o bootloader ao escrever o firmware... porem se usar um outro software tem a possibilidade (ou seja, é possível mas nem sempre acontece, depende do programa) de apagar o bootloader ao escrever o firmware.

eu ia tentar escrever o Repetier para testar, porem eu não consegui compilar ele, os que eu baixei do site não tinham arquivo .ini e um que eu achei que tinha .ini tava com alguma falha que quando a IDE ia compilar dava erro...

mas eu estou levando em consideração o que o Valter disse sobre o USB-TTL... eu ia converter meu USBasp em um USB-TTL mas vou deixar pro ano que vem hehe...


Feliz Ano Novo a todos!!!

Daniel Franco

unread,
Jan 2, 2014, 11:35:03 AM1/2/14
to repr...@googlegroups.com
pessoal, tava vendo umas coisa aqui de porta serial... ai eu achei uma coisa interessante...
na comunicação serial tem que ligar o TX no RX e o RX no TX (Transmissão na Recepção e Recepção na Transmissão).

Quando eu chegar em casa vou experimentar inverter esses fios no meu USB-TTL...

Lord Blackmore

unread,
Jan 2, 2014, 12:41:28 PM1/2/14
to repr...@googlegroups.com

Sim ... o equipamento transmite pelo TX e o outro recebe pelo RX ... nao edtava ligando assim?

Daniel Franco

unread,
Jan 2, 2014, 1:59:22 PM1/2/14
to repr...@googlegroups.com
tava pino a pino... tx no tx e rx no rx...
mas isso é porque eu não vi em lugar algum dizendo que tinha que inverter... e nem sabia que tinha que inverter...
lá no site que tem as informações e o tutorial da Gen7 não dizia nada... até sai de atras dos lugares que tem informações sobre a gen7 que eu li e segui pra conferir se não tinha pulado essa informação, mas nem tinha...

Valter F.C.

unread,
Jan 2, 2014, 2:02:37 PM1/2/14
to repr...@googlegroups.com
No desenho do meu vídeo tava mostrando isso...

Att,

Valter F.C.

Daniel Franco

unread,
Jan 2, 2014, 2:09:37 PM1/2/14
to repr...@googlegroups.com
eu nem vi teu video hehe...
porque você falou de gravar, e eu ja tava vendo a conversão de USB - TTL, e o USBasp que eu usei pra gravar tava funcionando já... fora que pra gravar nem usa RX e TX, usa MISO e MOSI... dai eu acabei ignorando...

Aproveitando, me passa o link do teu blog, eu vi ele aquela vez que vc imprimiu um parafuso transparente e depois perdi o link... quero ver se tem alguma coisa interessante que eu possa aprender :-)

Valter F.C.

unread,
Jan 2, 2014, 2:12:52 PM1/2/14
to repr...@googlegroups.com

Att,

Valter F.C.

Daniel Franco

unread,
Jan 2, 2014, 6:09:21 PM1/2/14
to repr...@googlegroups.com
é... foi só inverter o TX e o RX que foi...
que odio q deu... hehe

Lord Blackmore

unread,
Jan 2, 2014, 7:13:50 PM1/2/14
to repr...@googlegroups.com

Falei lah no comeco que poderia ser coisa boba!

Em 02/01/2014 21:09, "Daniel Franco" <daniel.lu...@gmail.com> escreveu:
é... foi só inverter o TX e o RX que foi...
que odio q deu... hehe

--

Daniel Franco

unread,
Jan 2, 2014, 7:28:17 PM1/2/14
to repr...@googlegroups.com
hahahahaha pois é...
mas antes disso eu fiz rodar com o Marlin, só que ele deu varios erros no pronterface relacionado ao extrusor q eu não faço a minima ideia do que seja... mas deu pra mexer os motores (menos o do extrusor), mas isso eu vejo depois... o Valter me passou o Configuration.h da impressora dele q é quase igual a minha (só muda o extrusor e a placa praticamente, os motores são do mesmo modelo e do mesmo vendedor e o frame é o graber também) dai eu vou tentar com base nas configurações dele pra ver se roda tudo legal... depois eu passo pro Marlin de volta, mas isso quando eu for por o auto-level...
Reply all
Reply to author
Forward
0 new messages