collapse

* Posts Recentes

Emulador NES em ESP32 por dropes
[22 de Abril de 2024, 14:14]


Arame de Estendal por almamater
[18 de Abril de 2024, 16:16]


O que é isto ? por SerraCabo
[12 de Abril de 2024, 14:20]


Amplificador - Rockboard HA 1 In-Ear por almamater
[11 de Abril de 2024, 20:46]


Meu novo robô por josecarlos
[29 de Março de 2024, 18:30]


Bateria - Portátil por almamater
[25 de Março de 2024, 22:14]


Escolher Osciloscópio por jm_araujo
[06 de Fevereiro de 2024, 23:07]


TP4056 - Dúvida por dropes
[31 de Janeiro de 2024, 14:13]


Leitura de dados por Porta Serie por jm_araujo
[22 de Janeiro de 2024, 14:00]


Distancia Cabo por jm_araujo
[08 de Janeiro de 2024, 16:30]

Autor Tópico: Sanguino  (Lida 30255 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline c3dr1c

  • Mini Robot
  • *
  • Mensagens: 854
Re: Sanguino
« Responder #30 em: 28 de Março de 2012, 11:36 »
Entao e metes-te como?
Tenho aqui o avrdude, so tenho de perceber como funciona. Vou ler uns tutoriais...

O sanguino é esse que tas a utilizar. O arduino que uso é o 0022 mas nao deve ser por ai...

Edit: utilizo isto no avrdude para ver os fuse bits:
avrdude -c stk500 -p m8 -P /dev/ttyS0 -U hfuse:r:high.txt -U lfuse:r:low.txt

? ? ?


EDIT:
Vou experimentar isto:
http://www.instructables.com/id/Turn-Your-Arduino-Into-an-ISP/?ALLSTEPS

Pode ser que dê. Eu para ler os fusebits tenho de fazer um cabo para conectar o pc ao icsp ne?
« Última modificação: 28 de Março de 2012, 12:39 por c3dr1c »
"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

Offline zedlav

  • Mini Robot
  • *
  • Mensagens: 78
Re: Sanguino
« Responder #31 em: 28 de Março de 2012, 14:11 »
Boas.
Eu para flashar os meus atmegas uso um programador isp-usb criado por mim com um software tambem feito por mim, por isso não uso avrdude nem outro conhecido.

Se usares linux com avrdude.
Código: [Seleccione]
avrdude -c stk500 -p m644 -P /dev/ttyUSB0 -U hfuse:r:high.txt -U lfuse:r:low.txtttyUSB0 se for por usb ttyS0 se for a porta serial.

Se for em windows deves ver o que vais ter de meter em troca de /dev/ttyUSB0.

Se fosse com o meu programador seria algo como.
Código: [Seleccione]
usb_isp -rfuses



Offline zedlav

  • Mini Robot
  • *
  • Mensagens: 78
Re: Sanguino
« Responder #32 em: 28 de Março de 2012, 14:22 »
Onde está stk500 acho que é avrisp.  Não tenho a certeza.

Offline c3dr1c

  • Mini Robot
  • *
  • Mensagens: 854
Re: Sanguino
« Responder #33 em: 28 de Março de 2012, 14:26 »
Txi nao percebo nada disto :P

Bem vamos la fazer o ponto de situação.
Tenho o bootloader 0018r2_1_4 flashado no atmega644, com arduino 0023.

Supostamente foi bem gravado, ou pode acontecer algo neste processo que faça com que nao funcione?

Agora pelo que voces me dizem, trata-se dos fuse bits que tenho de verificar.

Entao para ler esses fuse bits, tenho de criar um cabo usb-icsp e ter por exemplo o avrdude, para poder ler os seus valores, certo?

Vou pesquisar sobre o cabo e o avrdude...

"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

Offline zedlav

  • Mini Robot
  • *
  • Mensagens: 78
Re: Sanguino
« Responder #34 em: 28 de Março de 2012, 14:42 »
Desculpa eu é que não sou o melhor gajo para explicar por escrito.

Para ver qual é o problema temos ir por partes a primeira é ler os fuse, se estes tiverem bem então lemos a flash e comparamos com o ficheiro hex para ver se tudo está igual.
Os atmegas 644p e outros vem de fabrica a 8mhz com RC, e no 644p ainda têm um fuse bit que divide o clock por 8, por isso é que deves ver os fuse bits.


1º - Tu tens um arduino(hardware) este vai emular um gravador isp.
2º - Ligas da mesma forma que ligas para gravar o bootloader, mas não abres o arduino(ide).
3º - abres uma linha de commandos e executas esse commando do avrdude para ler os fuses.
4º - Se conseguio ler verifica se os fuses lidos são iguais aos que necessitas.

Estás com linux?



Offline c3dr1c

  • Mini Robot
  • *
  • Mensagens: 854
Re: Sanguino
« Responder #35 em: 28 de Março de 2012, 15:03 »
Sabes sim, eu é que nao me debrucei muito sobre o tema.

Bem sendo assim tenho tudo ja o que preciso. É so estudar o funcionamento do avrdude. Ha um tutorial bom na net, vou faze-lo.

Nop, é o windows...
"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

Offline c3dr1c

  • Mini Robot
  • *
  • Mensagens: 854
Re: Sanguino
« Responder #36 em: 28 de Março de 2012, 15:25 »
Bem como tu ja tinhas dito tenho de trocar o /dev/ttyUSB0, que é o que me ta a dar problemas no avrdude... De resto acho que ja tou a perceber como isto funciona...
"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

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: Sanguino
« Responder #37 em: 28 de Março de 2012, 15:26 »
Trocas o /dev/ttyS0 por COMx, em que x é o numero da porta COM em que o teu Arduino aparece.
Avr fanboy

Offline c3dr1c

  • Mini Robot
  • *
  • Mensagens: 854
Re: Sanguino
« Responder #38 em: 28 de Março de 2012, 15:28 »
Ya foi o que acabei agora de experimentar. E deu...

...mas deu algo que eu nunca esperava :P

stk500_getsync<>:not in sync:resp 0x00
avr done. thank you

thank you uma porra!!!! este erro percegue-me, tenho de levar o chip a um bruxo :P
"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

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: Sanguino
« Responder #39 em: 28 de Março de 2012, 15:33 »
Mas tens o auto-reset desactivado e os pinos do ISP  todos bem ligados?
Miso com Miso, Mosi com Mosi, alimentação no sitio certo, reset com pull-up de 10K?
Avr fanboy

Offline c3dr1c

  • Mini Robot
  • *
  • Mensagens: 854
Re: Sanguino
« Responder #40 em: 28 de Março de 2012, 15:42 »
Eia pois é, desactivar o auto reset, com a tal resistencia de 500ohm em vez de 10kohm no arduino como me tinhas dito certo? Nao fiz isso agora...

Sim os cabos ISP tao correctamente ligados, acabei de ver na datasheet.
Tenho o cristal de quarto 16mhz com dois condensadores de 22pf ligados tb. e mais as entradas vcc e ground... Isto no 644

Reset com pull-up de 10kohm onde? No 644? Isso nao tenho...


EDIT:
Ja meti uma resistencia de 560Ohm no arduino, em vez da de 10k. Tb experimentei sem a resistencia de 10k no reset do 644 e com a resistencia. Erro na mesma.
Ja experimentei baudrates de 9600, 38400 e 19200 mas nada.

A unica coisa que eu vi de diferente foi o erro a mudar 0x00 para 0xe0 :P

É muito facil queimar um chip destes sem querer?
« Última modificação: 28 de Março de 2012, 15:53 por c3dr1c »
"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

Offline zedlav

  • Mini Robot
  • *
  • Mensagens: 78
Re: Sanguino
« Responder #41 em: 28 de Março de 2012, 15:54 »
o firmware do isparduino emula o avrisp ou o stk500?

Offline c3dr1c

  • Mini Robot
  • *
  • Mensagens: 854
Re: Sanguino
« Responder #42 em: 28 de Março de 2012, 15:58 »
Citar
// this sketch turns the Arduino into a AVRISP
// using the following pins:
// 10: slave reset
// 11: MOSI
// 12: MISO
// 13: SCK

// Put an LED (with resistor) on the following pins:
// 9: Heartbeat - shows the programmer is running
// 8: Error - Lights up if something goes wrong (use red if that makes sense)
// 7: Programming - In communication with the slave
//
// October 2009 by David A. Mellis
// - Added support for the read signature command
//
// February 2009 by Randall Bohn
// - Added support for writing to EEPROM (what took so long?)
// Windows users should consider WinAVR's avrdude instead of the
// avrdude included with Arduino software.
//
// January 2008 by Randall Bohn
// - Thanks to Amplificar for helping me with the STK500 protocol
// - The AVRISP/STK500 (mk I) protocol is used in the arduino bootloader
// - The SPI functions herein were developed for the AVR910_ARD programmer
// - More information at http://code.google.com/p/mega-isp

Pelo que leio diria que era os dois loool.

Experimentei com st500 e dáme timeouts....


Citar
In System Programmers based on the AVR Mega8 chip, including Arduino(tm)

Avrisp protocol firmware (includes support for fuses and locks).

November 2011 Source code is now available on github.

June 2011 Haven't tried it, but perhaps the fastest way to get ArduinoISP working on the UNO is to disable the bootloader. Then when the board resets it goes right into ArduinoISP. Note: you will want some way to re-enable the bootloader.

July 2009 How about a shield for the Arduino for use with mega-isp? mega-isp-shield

Older code: Arduino-AVR910: works with AVRDude to copy your hex file to your AVR chip. If you already have an Arduino you can use it to burn projects to other AVR chips (Mega8, Tiny2313, Tiny13, etc).

Vou experimentar com o AVR910...
« Última modificação: 28 de Março de 2012, 15:59 por c3dr1c »
"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

Offline zedlav

  • Mini Robot
  • *
  • Mensagens: 78
Re: Sanguino
« Responder #43 em: 28 de Março de 2012, 16:03 »
Aqui http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1277933355 eles usam como argumento no avrdude avrisp.

Offline c3dr1c

  • Mini Robot
  • *
  • Mensagens: 854
Re: Sanguino
« Responder #44 em: 28 de Março de 2012, 16:14 »
tb nao deu...

pois avrisp... tem logica... :P

Bem so me falta flashar o 644 pelo avrdude. Pode ser que funcione depois :P

VOu experimentar.
"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