LusoRobótica - Robótica em Português
Sistemas específicos => Arduino / AVR => Tópico iniciado por: filipe89 em 26 de Março de 2013, 21:23
-
estou a tentar meter o bootloader num atmega328-PU via porta paralela segundo este esquema
http://www.arduino.cc/en/Hacking/ParallelProgrammer (http://www.arduino.cc/en/Hacking/ParallelProgrammer)
mas está a dar-me o erro:
avrdude: AVR device not responding
avrdude: initialization failed, rc=-1
avrdude: Yikes! Invalid device signature.
avrdude: Expected signature for ATMEGA328P is 1E 95 0F
estou a fazer alguma coisa mal?
-
Eu com esse tipo de fichas nunca fiz mas com o ARV e FTDI que comprei esta semana ainda nao me correu nada bem,mas ainda nao tive muito tempo.
Se alguém tiver ai um bom tutorial para colocar o bootloader por AVR que deixe o link.
-
experimentei com este cabo http://electronics-diy.com/avr_programmer.php (http://electronics-diy.com/avr_programmer.php) que já tinha feito à uns tempos para um AVR, e nada, dizia o erro 0x00
-
O teu micro é um 328-PU, tens selecionado o 328P-PU
-
Como mudo para o s/ P??
-
não mudas, ou compilas o bootloader para esse micro ou usas o parâmetro "-F" para ignorar a verificação da assinatura, vai funcionar na mesma sem problemas porque o arduino não usa nenhuma das funções do picopower
-
Se alguem tiver tb uma pcb ja feita em Eagle,tipo um clone do arduino,e se me quiser oferecer agradecia.
-
não mudas, ou compilas o bootloader para esse micro ou usas o parâmetro "-F" para ignorar a verificação da assinatura, vai funcionar na mesma sem problemas porque o arduino não usa nenhuma das funções do picopower
esse -F é posto no atalho certo?
-
que atalho?
-
Se alguem tiver tb uma pcb ja feita em Eagle,tipo um clone do arduino,e se me quiser oferecer agradecia.
layout da pcb de que pcb? do arduino? acho k no site do arduino.cc estao la os eagle files das boards...
eu ja tenho algumas pcbs feitas do arduino serial e algumas shields, tipo lol-shield, motor-shield, e posso mandar fazer de outras boards...
-
Hugo algo tipo isto.
[url]http://api.ning.com/files/VHb649odKsR6AvXPiI5f4HI-OIHNGaiKnA96cRBgDwckwLCEYU97zI134*nfmwNeQPUFLCBp3cW5RB7FUXz3gNirZE8JoD7Q/DSCN2028.JPG
-
que atalho?
atalho para o programa do arduino, pelo menos é com isso que estou a tentar meter o bootloader
-
não, faz isso na linha de comandos com o avrdude, poupas muito tempo e chatisses
@tops72: http://lusorobotica.com/index.php?topic=5809.0 (http://lusorobotica.com/index.php?topic=5809.0)
-
:/ dá-me uma pequena ajuda,
comandos e onde é que o arduino grava o bootloader em .hex
avrdude -c avrisp -p m328 -v -e -U flash:w:hexfilename.hex -U lock:w:0x0F:m
??
-
para programar precisas da seguinte sintaxe:
-p -> o microcontrolador a programar
-c -> o teu programador
-P -> porta a que o programador está ligado
-F -> ignora a assinatura
-U -> grava "qualquer coisa"
em primeiro lugar tens de gravar os fuses manualmente, para o bootloader do uno é uma coisa do género:
avrdude -p m328 -c avrisp -P com5 -F -U lfuse:w:0xff:m -U hfuse:w:0xde:m -U efuse:w:0x05:m
para gravar o bootloader, na linha de comandos navegas até à pasta onde está o bootloader (ou alternativamente copias o ficheiro .hex para a raiz do disco, mais simples) ou especificas no "flash:w:hexfilename.hex" o caminho absoluto até ao ficheiro.
o código para gravar o bootloader é semelhante:
avrdude -p m328 -c avrisp -P com5 -F -U flash:w:hexfilename.hex
-
já estava a espera de algo do género, não dá com porta paralela.
-
não dá porquê?
-
diz:
Can't set buffers for "lpt1"
EDIT:
Experimentei com um cabo que já tinha feito (https://lusorobotica.com/proxy.php?request=http%3A%2F%2F1.bp.blogspot.com%2F_B8Dh2WXNvg0%2FSpleeJeRIZI%2FAAAAAAAAC9k%2FCExjABYOHYc%2Fs400%2FRangkaian%2BDownloader.jpg&hash=624bf4a6eab0f5ee775e600248a2c2dec92fd718) com este esquema, mas deu-me not in sync: resp=0x00 depois de tirar o -F
-
Coisa esquisita...
fui para o linux, mudei o ficheiro avrdude.conf, não consigo enviar o bootloader, mas já consegui enviar um programa de blink, supostamente de 1000 uS mas ele faz para aí em 15 seg
-
Não vale a pena meter o -F, se ele funcionar tem que funcionar sem -F.
Com a porta paralela experimenta meter é -i 50
O cabo da porta paralela entre o PC e o ATmega não deve ter mais de 30 - 40cm. Aliás, no caso desse programador, menos ainda, o ideal era o AVR estar ali mesmo "em cima" da ficha.
-
ontem ainda consegui passar um bootloader com o programa do arduino, não sei se influenciou se não, mas tinha ligado a porta série.
mas depois ao enviar um programa pela porta série dizia o erro not in sync: resp=0x43 entre outros.
Será que o bootloader ficou mal gravado por causa do comprimento do cabo?
-
avrdude: Yikes! Invalid device signature.
avrdude: Expected signature for ATMEGA328P is 1E 95 0F
A única coisa que verifico aqui é o endereço detectado pelo avrdude ser diferente do micro.
Edita o ficheiro "avrdude.conf" e procura pelo "ATmega328P"
A seguir em "signature" altera o valor para 0x1e 0x95 0x0f ou 0x1e 0x95 0x14
-
já tinha alterado.
acredito que tenha sido o bootloader mal gravado, hoje arranjei um arduino e vou tentar passar por ai
-
Com outro arduino foi só alterar o ficheiro para 0x1e 0x95 0x14 fazer o bootloader e voltar ao que estava