• Welcome to LusoRobótica - Robótica em Português.
 

Sanguino

Started by c3dr1c, 27 de March de 2012, 13:26

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

CBX

é igual, os fuses para os 16mhz são os mesmos para os 20mhz

não vai adiantar usar o avrstudio, o bootloader é um ficheiro já compilado.

faz dowload do ultimo firmware do arduinoISP, coincidência ou não a ultima versão é de hoje e funciona no arduino 1.0: https://github.com/adafruit/ArduinoISP

depois pegas no avrdude e tentas gravar o .hex do bootloader

zedlav

Vais ter sempre de mexer nos fuse bits . Vê o datasheet.

c3dr1c

Quote from: CBX on 27 de March de 2012, 20:19
faz dowload do ultimo firmware do arduinoISP, coincidência ou não a ultima versão é de hoje e funciona no arduino 1.0: https://github.com/adafruit/ArduinoISP

depois pegas no avrdude e tentas gravar o .hex do bootloader

Gravar o bootloader no 644P atraves do atmega328 com o firmware la programado. É isto?
"O único modo de descobrir os limites do possivel é aventurarmo-nos um pouco para além deles em direcção ao impossivel."

Uma das Três Leis de Arthur C. Clarke

senso

Podes usar o sketch Arduino ISP, mas tens de meter uma resistência ai de 500ohms no reset para não teres o auto-reset  a funcionar, coisa que interfere na programação.
Outra coisa, se tens tudo como deve ser no IDE do Arduino ele altera os fuses automaticamente quando programas o bootloader.
Avr fanboy

c3dr1c

Essa da resistencia nao sabia. Eu flashei o bootloader no 644 com uma resistencia de 10K la. Ha e um condensador 100nF entre o reset e o ground.
"O único modo de descobrir os limites do possivel é aventurarmo-nos um pouco para além deles em direcção ao impossivel."

Uma das Três Leis de Arthur C. Clarke

senso

Resistência mas é no Arduino não é no micro que está a ser programado.
Não deves ter nenhum condensador no reset, porque programação ISP usa esse pino durante a programação e um condensador só vai afectar e não fazer bem, no máximo metes o pull-up.
Se quiseres enfia o bicho no correio que programo-te isso.
Avr fanboy

c3dr1c

Sim eu tava a falar no arduino.

Entao provavelmente eu nao consigo fazer upload de programas po 644P por causa da maneira que falshei o bootloader?

Bem vou testar como tu dizes, com a resistencia baixa e com o novo ISP.


Ja digo alguma coisa.

Thanks
"O único modo de descobrir os limites do possivel é aventurarmo-nos um pouco para além deles em direcção ao impossivel."

Uma das Três Leis de Arthur C. Clarke

c3dr1c

Com esse ISP nao consigo flashar nada :P

avrdude: stk500_paged_write(): (a) protocol error, expect=0x14, resp=0x64
avrdude: failed to write flash memory, rc=-4
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51


Flashei com o ISP que vem com o meu software arduino 0022 e com a resistencia de 560ohm.
Consigo flashar mas continuo a nao conseguir mandar programas pa la. Da erro na mesma de sync.
Acho que tenho mesmo de ir aprender isso dos fuse bits.

Mas fiz isto com o software arduino e nao com o avrstudio.

Senso se calhar ainda te mando isto :P Thanks
"O único modo de descobrir os limites do possivel é aventurarmo-nos um pouco para além deles em direcção ao impossivel."

Uma das Três Leis de Arthur C. Clarke

zedlav

O Makefile que vem no Sanguino-0018r2_1_4.zip não estão defenidos os fuse bits, o que me leva a perguntar quando o ide do arduino está a flashar onde está ele a buscar essa info? Vê o make file do sanguino e os make file do arduino.

Isto é se tiveres a usar Sanguino-0018r2_1_4.zip.

senso

Não sou utilizador do Arduino/IDE do mesmo, mas se não me enganos é no boards.txt em que quando lá adicionas um core defines os fuses para o bootloader.
Avr fanboy

c3dr1c

Quote from: zedlav on 27 de March de 2012, 22:28
O Makefile que vem no Sanguino-0018r2_1_4.zip não estão defenidos os fuse bits, o que me leva a perguntar quando o ide do arduino está a flashar onde está ele a buscar essa info? Vê o make file do sanguino e os make file do arduino.

Isto é se tiveres a usar Sanguino-0018r2_1_4.zip.

Ya é esse que tou utilizar. Os mais recentes nao consigo flashar, da tambem erro de sync.
"O único modo de descobrir os limites do possivel é aventurarmo-nos um pouco para além deles em direcção ao impossivel."

Uma das Três Leis de Arthur C. Clarke

zedlav

Eu tambem não uso,fiz o download a um pouco. Sim parece que é defenido no boards.txt, mas o Makefile não tem referencias algo está aqui a falhar. @c3dr1c com o avrdude podes ler os fuses diz aí quais são se puderes. Podes sempre flashar com o avrdude e mudar os fuses se eles tiverem mal. devem estar assim low_fuses=0xFF high_fuses=0xDC  extended_fuses=0xFD e os lock_bits=0x0F.

senso

Makefiles só tem referências a fuses se tiver incluido uma "função" para chamar o avrdude, se não, .hex de Atmel não têm informação nenhuma sobre fuses ao contrário por exemplo dos .hex dos PIC.
Avr fanboy

zedlav

@senso exacto. No optiboot o sanguino aparece no make file do ide-1.0 com fuses diferentes  :o não pesco nada desde ide.O makefile que vem com o sanguino nem tem lá o avrdude referido. É normal para o arduino?

zedlav

Aqui no meu atmega644p com o arduino-0023 + Sanguino-0018r2_1_4.zip deu sem problemas, neste momento corre o blink led  a unica diferença foi por o bootloader no 644p sem o arduino-ide.