Pages: 1 2 [3] 4   Go Down
Author Topic: Atmega8 MLF problemi con avrdude  (Read 3126 times)
0 Members and 1 Guest are viewing this topic.
Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 410
Posts: 11980
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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!
Logged

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

Global Moderator
Italy
Online Online
Brattain Member
*****
Karma: 313
Posts: 21616
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

ma io sto' provando ad usarlo senza ArduinoISP, cioe' via seriale, dal bootloader, e' questo il problema ? smiley
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  smiley-lol
Logged


Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 410
Posts: 11980
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

ma io sto' provando ad usarlo senza ArduinoISP, cioe' via seriale, dal bootloader, e' questo il problema ? smiley
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  smiley-lol
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?
Logged

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

Global Moderator
Italy
Online Online
Brattain Member
*****
Karma: 313
Posts: 21616
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged


Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 410
Posts: 11980
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
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?
« Last Edit: April 25, 2012, 04:56:20 pm by Michele Menniti » Logged

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

Global Moderator
Italy
Online Online
Brattain Member
*****
Karma: 313
Posts: 21616
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Pensavo che usando AVRDUDE e aggiungendo i comandi di lettura potesse funzionare lo stesso, evidentemente non è così, perché l'VARDUDE 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.
Logged


Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 410
Posts: 11980
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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. smiley-wink
Logged

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

Marche
Offline Offline
Edison Member
*
Karma: 32
Posts: 2261
azioni semplici per risultati complessi
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

0
Offline Offline
Faraday Member
**
Karma: 38
Posts: 5604
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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 ?
Logged

- [GUIDA] IDE1.x - Nuove Funzioni - Sketch Standalone - Bootloader - VirtualBoard
http://arduino.cc/forum/index.php/topic,88546.0.html
- [LIBRERIA] ST7032i LCD I2C Controller Library
http://arduino.cc/forum/index.php/topic,96163.0.html

Marche
Offline Offline
Edison Member
*
Karma: 32
Posts: 2261
azioni semplici per risultati complessi
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

Global Moderator
Italy
Online Online
Brattain Member
*****
Karma: 313
Posts: 21616
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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?
Su specifica richiesta, il bootloader risponde ad avrdude spedendo la signature del micro. Esaminando il codice, pero' mi par di capire che si tratti di una firma "precaricata" nel senso che spedisce 3 costanti che, secondo me, sono semplicemente caricate col valore del micro per il quale e' stata fatta la compilazione dello sketch. Quindi in teoria l'Optiboot non legge niente. Per averne la certezza basterebbe compilare per un 328 non P e caricarlo su un 328P per vedere se risponde sempre la cosa sbagliata.

Quote
Nel secondo step errore dice semplicemente che non trova avrdude, e' falsa come info ?
Non mi ricordo l'errore.
Logged


Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 410
Posts: 11980
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Figurati BUD, posso assicurarti sin d'ora che non avrai alcun problema a cambiare i fuse; quello che succede è che si rovina l'area in cui è scritta la signature (l'ATMEL ha risposto ad Astrobeed che la cosa non è impossibile a verificarsi), ma tutto il resto non na problemi; io ho ferito due tiny2313 nelle stracentinaia di prove col mio HV, ma li programmo regolarmente smiley

@ Leo: la verifica viene fatta, tant'é che BUD non riesce a programmare i suoi8 mente con l'opzione -F ci riesce; vero che lui usa l'ISP, ma basta ricordarti che il problema del 328noP era proprio quello della signature
Logged

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

Global Moderator
Italy
Online Online
Brattain Member
*****
Karma: 313
Posts: 21616
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

@ Leo: la verifica viene fatta, tant'é che BUD non riesce a programmare i suoi8 mente con l'opzione -F ci riesce; vero che lui usa l'ISP, ma basta ricordarti che il problema del 328noP era proprio quello della signature
Ma di quale cosa stiamo parlando ora? Con Testato che e' entrato nel discorso con altri problemi non ricordo piu'.

Logged


Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 410
Posts: 11980
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

@ Leo: la verifica viene fatta, tant'é che BUD non riesce a programmare i suoi8 mente con l'opzione -F ci riesce; vero che lui usa l'ISP, ma basta ricordarti che il problema del 328noP era proprio quello della signature
Ma di quale cosa stiamo parlando ora? Con Testato che e' entrato nel discorso con altri problemi non ricordo piu'.
Hai ragione, si perde il filo, ma io sto continuando sempre a parlare della signature e tu a Testato hai detto "Quindi in teoria l'Optiboot non legge niente", invece non è così.
Logged

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

Global Moderator
Italy
Online Online
Brattain Member
*****
Karma: 313
Posts: 21616
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Hai ragione, si perde il filo, ma io sto continuando sempre a parlare della signature e tu a Testato hai detto "Quindi in teoria l'Optiboot non legge niente", invece non è così.
Io ho esaminato il codice Optiboot e dentro ho non c'e' la lettura della memoria del micro ma solo l'invio verso la seriale del valore di 3 costanti. Le costanti sono variabili che hanno gia' un valore predefinito, e secondo me quel valore lo assumono in fase di compilazione quando viene creato il bootloader. Tant'e' che il makefile per generare l'Optiboot contiene proprio il parametro del micro da passare al compilatore.
La finta signature serve per far credere ad avrdude di stare dialogando con un programmatore.
Logged


Pages: 1 2 [3] 4   Go Up
Jump to: