Go Down

Topic: Impossibile programmare Atmel standalone - Invalid device signature (Read 1 time) previous topic - next topic

acik

Ho un Atmel Atmega328 con a bordo il bootloader Arduino UNO.

Lo vorrei programmare tramite un' Arduino UNO usato come ISP

L' ho collegato come da schema: http://arduino.cc/en/Tutorial/ArduinoISP

Al momento di programmare ottengo:

avrdude: Yikes!  Invalid device signature.
        Double check connections and try again, or use -F to override
        this check.

PaoloP

Code fast. Code easy. Codebender --> http://codebender.cc/?referrer=PaoloP

uwefed

Se l' Atmega da programmare non ti serve un programmatore ISP. Basta togliere il ATmega del Arduino e collegare massa, 5V, rx, tx e reset del ATmena al Arduino. (usi l'arduino come inerfaccia USB-seriale).
Ciao Uwe.

Michele Menniti


Se l' Atmega da programmare non ti serve un programmatore ISP. Basta togliere il ATmega del Arduino e collegare massa, 5V, rx, tx e reset del ATmena al Arduino. (usi l'arduino come inerfaccia USB-seriale).
Ciao Uwe.

Nella Guida che ti hanno consigliato è spiegata anche questa seconda tecnica ;)
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

acik

Grazie a tutti.
La guida l' avevo letta tutta prima di scrivere sul forum :-)

Ho scoperto il problema: il nuovo Atmel non ha i quarzi. Dovevo prima abilitare l' oscillatore interno (installando un quarzo) e poi programmarlo senza quarzo.

Quindi ho:
Messo un quarzo.
Caricato di nuovo il bootloader (dopo aver creato il mio Atmega328_standalone_internal_clock)
Reset
Caricato il mio sketch.


Pero' a questo punto sarebbe da segnalare a chi sviluppa l' IDE. Quell' errore mi ha tratto in inganno, doveva apparire una qualcosa tipo "The device is not responding, maybe non powered or non working (check power and crystal)

Michele Menniti

sì e magari far uscir un omino conn un quarzo e due c in mano incazzato come una bestia con te :smiley-yell:
Purtroppo mi pare che tu non abbia capito molto della situazione, pur avendo risolto.
1 - i micro escono di fabbrica con l'oscillatore interno attivo a 1MHz, in questo caso si programmano senza quarzo e se il quarzo c'è non sucede nulla, si programmano lo stesso
2 - se ti arriva un micro con bootloader è OVVIO che è impostato per lavorare con l'oscillatore ESTERNO quindi il quarzo è INDISPENSABILE
3 - montando il quarzo non hai fatto altro che far funzionare il richiesto oscillatore esterno e non hai, come tu credi, abilitato l'oscillatore interno, cosa che puoi fare a questo punto SOLO cambiando opportunamente i valore dei fuse.

In definitiva, se tu oltre a leggere la Guida ne avessi applicato gli insegnamenti, la prima cosa che avresti fatto sarebbe stata quella di montare il quarzo ed i due C e ti saresti risparmiato un Topic  ;)
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

leo72

Le segnalazioni di errore provengono da avrdude, non dall'IDE di Arduino. avrdude è lo strumento che viene invocato da terminale per programmare fisicamente i micro.

Tornando al quarzo, se compri dei chip nuovi, come ha detto Menniti essi lavorano con l'oscillatore interno, però se hanno il bootloader precaricato essi sono invece impostati per lavorare col quarzo esterno quindi senza di esso non funzioneranno mai.

MauroTec

Appunto il programma Arduino IDE è un front-end a tanti altri piccolo o grandi programmi, uno di questi è appunto avrdude, ma anche nel caso si trattasse di un'unico programma, il tentativo mancato di comunicare con il micro è generico e non è possibile stabilire la causa, nel senso che potrebbe trattarsi anche del cavo scollegato per cui è impossibile legare un messagio di errore specifico alla mancata comunicazione.

Però capisco che alle volte il tente e ritenta porta a desiderare un messagio di errore che ci illumini, senza considerare che ciò è impossibile.

Ciao.
AvrDudeQui front end per avrdude https://gitorious.org/avrdudequi/pages/Home

Go Up