Go Down

Topic: [Mega 2560] Non termina l'upload dello sketch (Read 7 times) previous topic - next topic

pablos

#30
Jul 03, 2012, 08:47 pm Last Edit: Jul 03, 2012, 08:53 pm by pablos Reason: 1
Dunque dopo diverse prove mi ha insospettito questa riga dello sketch di ArduinoISP

#define RESET     SS

ss è il pin 53 della mega 2560, sta a vedere che il reset lo fa lui !!

così cercando ho trovato la connessione corretta perchè nelle prove precedenti non avevo nessuna attivita dei leds TX e RX, mentre con questo schema si
http://www.instructables.com/files/orig/FOU/SYEK/GQ5PXCS8/FOUSYEKGQ5PXCS8.jpg

ho adattato lo schema collegando i rispettivi mega 2560
50-50
51-51
52-52
53(ss) del programmer > al reset del mega da programmare

purtroppo dopo 3-4 minuti di leds eccitati tx-rx attendo con ansia .... esce l'errore nella verifica

avrdude: verification error, first mismatch at byte 0x1e000
        0xff != 0x0d
avrdude: verification error; content mismatch


mi sa che è partito qualcosa nel chip e chop

molto simile all'errore che mi ha portato ad aprire il topic
Binary sketch size: 1602 bytes (of a 258048 byte maximum)
avrdude: verification error, first mismatch at byte 0x0000
        0x0c != 0x14
avrdude: verification error; content mismatch

no comment

Michele Menniti

Questo errore significa che non riesce a leggere la signature del micro, ma non è detto che sia rotto; potrebbe anche essere un problema del 16u2 che infastidisce il reset. Perso per perso dovresti interrompere il collegamento tra il DTR del 16u2 e il reset del mega2560. In alcune board Arduino c'è un jumper su pista (in pratica due piazzole collegate da una pista), basta aprirlo con un taglierino ed è fatta; altrimenti vai sempre di taglierino ma vicino ad un componente in modo che poi tu possa facilmente ripristinare il collegamento.
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

pablos

no comment

pablos

Ho caricato il bootloader, ma modificato come da questo http://www.robotc.net/wiki/ARDUINO_MEGA_Update_Bootloader
sostituendo il file stk500boot_v2_mega2560.hex (ovviamente ho rinominato l'originale non ho sovrascritto)

il risultato è sempre con errore finale di verifica, ho provato a collegarlo e caricare il blink .... meraviglia lo ha preso!!  e il 13 lampeggia come da previsione, provo a caricarne un altro
l'upload e di nuovo inchiodato  =(

Non mi arrenderò devo riuscire a farlo ripartire !!
no comment

Michele Menniti

è una cosa proprio strana, ma perché non cerchi i bootloader originali aggiornati? dove l'hai scovato quello?
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

pablos

I boot aggiornati più che prenderli dall'ide 1.0.1 dove li prendo?
ho provato la 0022 - 1.0 - 1.01 stessa cosa in tutte.

Riguardo alla tua ipotesi del "disturbo" tra il DTR del 16u2 e il reset del mega2560 non trovo argomenti correlati, cosa intendi come DTR a livello di pin del chip?

Ps quel link è uscito cercando "mega 2560 adk bootloader"  ho letto mezzo internet  XD

ciao
no comment

pablos

#36
Jul 06, 2012, 09:57 am Last Edit: Jul 06, 2012, 10:01 am by pablos Reason: 1
[Risolto] si fa per dire :) ho fatto molte prove
In pratica in quell'arduino 2560 posso caricarci lo sketch definitivo una volta sola.

Se decidessi di cambiare sketch devo prima ricaricare il bootloader e poi il nuovo sketch allora così funziona.

Non capisco perchè, ma una sovrascrittura di un altro programma non me la fa fare.

Se il 16U2 (chip per la USB) avesse il boot partito non mi farebbe fare nulla nemmeno la prima volta, deduco io. 
no comment

leo72

Ma non è che hai armeggiato con il file boards.txt ed hai impostato qualche lock bit in maniera differente?

Michele Menniti


Ma non è che hai armeggiato con il file boards.txt ed hai impostato qualche lock bit in maniera differente?

potrebbe anche essere, è evidente che gli fa il Chip_erase solo se manda il bootloader; però con il solo sketch non dovrebbe essere in grado di modificare nulla.

Pablos:
1 - vediamo la board che stai usando?
2 - vuoi provare a mandare lo sketch più volte ma tramite avrdude?
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

pablos

Quote
Ma non è che hai armeggiato con il file boards.txt

no no, ho scaricato l'IDE 1.0.1 e ho usato quello senza toccare nulla

Ho solo sostituito in un primo tempo il file stk500boot_v2_mega2560.hex con un altro modificato, ma che si è rivelato inutile, ho rimesso poi l'originale.

ciao
no comment

pablos

La board che uso è questa (quella incriminata)
http://arduino.cc/en/Main/ArduinoBoardADK

Quote
vuoi provare a mandare lo sketch più volte ma tramite avrdude?

volentieri, hai una guida da farmi leggere? connessioni e robe varie?

thx ciao




no comment

lesto

io non ne so nulla, ma potresti leggere i fuse impostati e dirceli? giusto per capire. Ovviamnte lo fai prima di uppare lo sketch e anche dopo. Non vorrei che l'arduino IDE faccia qualche schifezza di mezzo
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Michele Menniti

Ok, proviamo (ma solo se hai Win, con Linux ti fai aiutare da Leo):
1 - Recupera il file hex dello sketch (p.es. il blink genera "Blink.cpp.hex") e mettilo in C:\
2 - metti direttamente in C:\ una copia della cartella "avr", che si trova all'interno della cartella dell'IDE, nel percorso: C:\MyPath\arduino-xxxx\hardware\tools, in modo da avere C:\avr\
3 - scrivi il seguente comando in un file batch, anch'esso creato in C:\:
"C:\avr\bin\avrdude.exe" -C "C:\avr\etc\avrdude.conf" -p m2560 -c arduino -b 19200 -P COMX -U flash:w:C:\Blink.cpp.hex:i
COMX è la porta con cui sta lavorando il tuo Arduino collegato al PC, che io sappia non deve essere > COM9 altrimenti ti dà un errore sulla sintassi
La configurazione hardware è quella ISP, quindi non devi cambiare nulla
4 - vai in C:\ e scrivi il nome del file batch e poi INVIO.

Se il comando viene eseguito ma hai errore in qualche sezione scrivi direttamente sulla linea di comando:
"C:\avr\bin\avrdude.exe" -C "C:\avr\etc\avrdude.conf" -p m2560 -c arduino -b 19200 -P COMX -t
e poi posta tutto ciò che ne esce.
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

pablos

#43
Jul 06, 2012, 12:03 pm Last Edit: Jul 06, 2012, 12:07 pm by pablos Reason: 1
Grazie Menniti per il tuo tempo

si ho win

ci pensa un po su 30 sec circa
Code: [Select]
C:\avr\bin>avrdude.exe -C "C:\avr\etc\avrdude.conf" -p m2560 -c arduino -b 19200 -P COM6 -t
avrdude.exe: stk500_getsync(): not in sync: resp=0x00

avrdude.exe done.  Thank you.


non è bello
no comment

lesto

sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Go Up