Atmega8 MLF problemi con avrdude

meny non mi risulta,
su sinaprog metti manualmente il tipo di micro, solo successivamente puoi fare search, e poi nella finestra fuse appare la signature., non c'e' una ricerca automatica del tipo di micro.
oppure non ho capito bene come usarlo :slight_smile:

Testato:
meny non mi risulta,
su sinaprog metti manualmente il tipo di micro, solo successivamente puoi fare search, e poi nella finestra fuse appare la signature., non c'e' una ricerca automatica del tipo di micro.
oppure non ho capito bene come usarlo :slight_smile:

Sì, è come dici, mi sono espresso male.

Testato:
meny non mi risulta,
su sinaprog metti manualmente il tipo di micro, solo successivamente puoi fare search, e poi nella finestra fuse appare la signature., non c'e' una ricerca automatica del tipo di micro.
oppure non ho capito bene come usarlo :slight_smile:

Senz'altro farà una operazione qualsiasi (tipo anche la lettura dei fuse) così da ottenere contemporaneamente da avrdude la signature, che riporterà sulla maschera (immagino, non so perché non conosco il software).

sto' provando ad usarlo su WinXP (perche' su win7 credevo non mi funzionasse) ma non capisco come farlo andare.
Menny a te funziona giusto ?
dimmi dove sbaglio

1-tengo arduino su Com3, quindi nella sezione Programmer metto COM3 e velocita' BR115200
(primo dubbio, sinaprog, ma anche avrdude ed altri, possono essere usati in questo modo, cioe' con la com attraverso il bootloader ?)

2-scelgo in Device -> ATmega328P

3- clicco Search, apro la finestra di dialogo e tutto va come deve andare, il micro e' riconosciuto e la signature e' giusta

avrdude -C avrdude.conf -c arduino -P com3 -b 115200 -p m328p -q
avrdude: AVR device initialized and ready to accept instructions
avrdude: Device signature = 0x1e950f
avrdude: safemode: Fuses OK
avrdude done. Thank you.

4-clicco in Flash "READ"
nella finestra di dialogo mi appare questo errore

"D:\Backup\PERSONALE\Varie\Elettronica\ARDUINO\Bootloader\Programmatore\SinaProg_2.0\data\avrdude.exe" not found

Visto che avrdude.exe viene correttamente trovato nella sua posizione durante il primo passaggio, come mai nel secondo non lo trovo ?
Ho lo stesso risultato sia su Win7-64 che su WinXP-32

Io la lettura l'ho fatta da riga di comando e sempre specificando un file .hex di destinazione, quindi non so dirti. La velocità della com non deve essere comunque quella della board virtuale bensì quella dell'ArduinoISP (se hai 1.0 dovrebbe essere 9600), ma comunque Leo diceva che non dovrebbe essere importante specificare i BAUD.

ma io sto' provando ad usarlo senza ArduinoISP, cioe' via seriale, dal bootloader, e' questo il problema ? :slight_smile:

Testato:
ma io sto' provando ad usarlo senza ArduinoISP, cioe' via seriale, dal bootloader, e' questo il problema ? :slight_smile:

Cioè stai leggendo direttamente il micro di Arduino? Mai fatta questa prova; se ricordi a me interessava lo status di stand-alone.

Testato:
sul sito riporta che funziona su linux tramite wine.

ma probabilmente ci saranno altre gui apposite per linux ? io non ne conosco

wine non è un front-end ma un layer di emulazione windows. Simile c'è cedega (a pagamento) e altri, ma wine è attualmente uno dei migliori

un'altra soluzione è quella di usare una macchina virtiuale come virtualbox o simili, in cui puoi installare widows

lesto:

Testato:
sul sito riporta che funziona su linux tramite wine.

ma probabilmente ci saranno altre gui apposite per linux ? io non ne conosco

wine non è un front-end ma un layer di emulazione windows. Simile c'è cedega (a pagamento) e altri, ma wine è attualmente uno dei migliori

un'altra soluzione è quella di usare una macchina virtiuale come virtualbox o simili, in cui puoi installare widows

Non credo che qualcuno finora abbia detto che wine sia un front-end, il termine è stato usato e ri-usato da Leo

Ripeto, SinaProg è un frontend.

:wink:

Ci rinuncio, nemmeno sinaprog me li riconosce.
Solo alimentando il micro con un alimentatore esterno e non da arduino come signature mi da 0xFFFFFF oppure 0x000000.
Usando arduino mi da sempre "programmer not in sync, resp=0x15" (ho messo il condensatore da 10uF e la resistenza da 120 ohm sul reset coma da guida ma non è cambiato nulla).
Mi sa faccio prima a buttarli già ho ripiegato su un attiny2313.
Mi fa strano però che su 5 ordinati i primi tre li ho usati senza problemi e per gli altri due non c'è stato verso.
Quando non è, non è.

Pelletta:
Ci rinuncio, nemmeno sinaprog me li riconosce.
Solo alimentando il micro con un alimentatore esterno e non da arduino come signature mi da 0xFFFFFF oppure 0x000000.
Usando arduino mi da sempre "programmer not in sync, resp=0x15" (ho messo il condensatore da 10uF e la resistenza da 120 ohm sul reset coma da guida ma non è cambiato nulla).
Mi sa faccio prima a buttarli già ho ripiegato su un attiny2313.
Mi fa strano però che su 5 ordinati i primi tre li ho usati senza problemi e per gli altri due non c'è stato verso.
Quando non è, non è.

BUD, non fare l'impetuoso! Se il problema fosse la sola signature fottuta, come mi è capitato a me proprio con i 2313, l'AVRDUDE messo a punto da BB te li fa funzionare senza problemi. Puoi fare una prova banalissima, usa AVRDUDE da linea di comando per inviare lo sketch e aggiungi l'opzione -F che evita di controllare la signature e vedi cosa succede. Posso garantirti che se lo sketch passa il micro funziona a meraviglia (da verificare eventuali esigenze di usare il pin reset). Non buttare niente!

Testato:
ma io sto' provando ad usarlo senza ArduinoISP, cioe' via seriale, dal bootloader, e' questo il problema ? :slight_smile:

Non puoi usare l'Arduino come programmatore, intendendo con "Arduino" l'Atmega8U2.
Solo un programmatore può leggere un chip. Ecco perché si usa l'ArduinoISP caricato sull'Atmega328 per comunicare con un altro chip ancora, perché l'ArduinoISP "inganna" avrdude spacciandosi per un STK500. Ma l'Atmega8U2 è solo un'interfaccia di comunicazione, come fai tu non arriverai mai a nulla XD

leo72:

Testato:
ma io sto' provando ad usarlo senza ArduinoISP, cioe' via seriale, dal bootloader, e' questo il problema ? :slight_smile:

Non puoi usare l'Arduino come programmatore, intendendo con "Arduino" l'Atmega8U2.
Solo un programmatore può leggere un chip. Ecco perché si usa l'ArduinoISP caricato sull'Atmega328 per comunicare con un altro chip ancora, perché l'ArduinoISP "inganna" avrdude spacciandosi per un STK500. Ma l'Atmega8U2 è solo un'interfaccia di comunicazione, come fai tu non arriverai mai a nulla XD

però gli legge la signature, quindi in qualche modo dialoga con il micro di Arduino. E poi l'IDE non programma Arduino tramite AVRDUDE? perché non dovrebbe funzionare tramite linea di comando direttamente su Arduino?

Non sta usando l'Arduino come programmatore, sta dialogando con il bootloader del microcontrollore. Il bootloader può solo scrivere sulla flash uno sketch in arrivo. Non ha funzioni di programmatore: quelle ce le ha l'ArduinoISP.

leo72:

[quote author=Michele Menniti link=topic=102853.msg773215#msg773215 date=1335388063]
però gli legge la signature, quindi in qualche modo dialoga con il micro di Arduino. E poi l'IDE non programma Arduino tramite AVRDUDE? perché non dovrebbe funzionare tramite linea di comando direttamente su Arduino?

Non sta usando l'Arduino come programmatore, sta dialogando con il bootloader del microcontrollore. Il bootloader può solo scrivere sulla flash uno sketch in arrivo. Non ha funzioni di programmatore: quelle ce le ha l'ArduinoISP.
[/quote]
Io non ho detto che lo usa come programmatore, ho detto che usa AVRDUDE; prob stoi dicendo strunz, ma è per capire, quindi intanto mi muovo per logica. Quando con l'IDE mando il blink ad Arduino, uso AVRDUDE, giusto?
Pensavo che usando AVRDUDE e aggiungendo i comandi di lettura potesse funzionare lo stesso, evidentemente non è così, perché l'AVRDUDE può scrivere dialogando con il BL ma non può leggere se non tramite un programmatore, è questo il succo?

Sì, per la precisione avrdude non scrive direttamente ma si interfaccia al bootloader, il bootloader risponde ad avrdude dicendogli che lui è un programmatore (falso!), avrdude spedisce lo sketch ed il bootloader lo riversa sulla flash.

Comunque resta il fatto che se BUD si interfaccia al suo micro mediante Arduino+ArduinoISP può provare a flasharlo con l'opzione -F, se il problema è solo della signature gli funziona lo stesso. :wink:

Ho appena finito di saldare il circuito di riserva con l'attiny2313, do una pulitina in giro (ci vorrà una ruspa) e mi rimetto al lavoro con sti ragnetti malefici.
Tenterò come suggerito, provo a caricare il bootloader da terminale usando l'opzione -F

Leo molto interessanti questi concetti su avrdude.
due domande
Nel primo step sinaprog riceve la signature, la legge il bootloader e la passa ad avrdude?
Nel secondo step errore dice semplicemente che non trova avrdude, e' falsa come info ?

Sono riuscito a caricare il blink!
L'opzione -F ha fatto i miracoli: avrdude se n'è strafregato della signature e ha caricato il file hex sul micro.
A questo punto mi ritrovo a dover generare il file hex con l'ide di arduino, prenderlo e caricarlo da terminale senza usare l'ide.
Mi rimane solo da provare a cambiare i fuse sempre da terminale ma il letto chiama.
Grazie Michele