Upload Sketch su Arduino Mega 2560 da rete o via SD

Per leggerli quale comando devo utilizzare?

dovrebbe essere:
-U lfuse:r:-:h -U hfuse:r:-:h -U efuse:r:-:h

Ora sono lontano dall'Arduino....Penso di provare lunedì mattina....
Vi ringrazio

:slight_smile: :slight_smile: :slight_smile:

OK, allora ti lascio i compitini :smiley:
1 - leggi i tre fuse
2 - confrontali con gli standard: low=FF high=D8 extended=FD
3 - se trovi valori diversi ripristina quelli originali, poi rifai le tue prove
4 - se con i fuse a posto hai ancora problemi rivediamo tecnica e collegamenti ISP

Rileggevo il messaggo di errore:

avrdude: verification error, first mismatch at byte 0x1e000

Qui mi pare che ci sia stato un pò un miscuglio di problemi. Sono stati cioè mescolati i problemi con i fuse con quelli relativi alla programmazione della Flash.

L'errore che si evidenzia in alto parrebbe relativo alla barriera dei 128 kB ($1E000 = 120 kB) dell'Arduino MEGA.
Non mi ricordo se l'hai specificato, per cui ti chiedo cortesemente: stai usando che cosa per programmare lo sketch?

Sta usando IDE 1.0.5
Gli sketch riesce a programmarli senza problemi, tramite IDE + USB
NON riesce a caricare il bootloader via ISP ed ottiene quegli errori
Il dubbio che mi è venuto è che il fuse h sia programmato a favella per cui non ci sia spazio sufficiente per il bootloader
Ho constatato che sulla carta la board che ha usato per quel suo bl ha gli stessi fuse della originale MEGA 2560/ADK, quindi non dovrebbe aver brickato.
Da qui la richiesta di leggere i tre fuse prima di fare altre prove e verificare per bene (cosa che finora non abbiamo fatto) tutta la tecnica ISP che usa.

Il problema è che stia usando un qualcosa (Arduino UNO con sketch ArduinoISP?) che non riesca a scrivere oltre la barriera dei 128K di Flash. Siccome il bootloader sta nella parte più alta della memoria, il programmatore DEVE per forza passare oltre i 128K. Magari scrivendo il suo sketch tale limite non lo supera e l'errore non si presenta.

Quindi era per sapere che versione di Arduino usava e capire quale fosse il bootloader sopra caricato.

All'inizio ha riportato le connessioni, è palese che sta usando due Arduino MEGA ;). Ora, se non erro, il problema over 128K è del compilatore e non dell'Arduino, ma è possibilissimo che le cose stiano come dici tu, per cui potrebbe risolvere con l'aggiornamento software di Astrobeed.

Quindi è probabile che stia usando l'ArduinoISP compilato con un compilatore che non può indirizzare dati oltre i 128 kB. Ergo, l'ArduinoISP può non riuscire a scrivere oltre i 128 kB della memoria della seconda Mega. Io la prova la farei.

Certamente, una volta messi a posto i fuse converrà fargli fare l'aggiornamento e poi provare, ArduinoISP della 1.0.5 non dovrebbe avere più alcun problema, si tratta quindi solo di installare la patch seguendo le istruzioni messe nel primo post del Topic. OK!

Risultato dei compiti assegnati:
-->Lettura dei Fuse

C:\Arduino\arduino-1.0.4-windows\arduino-1.0.4\hardware\tools\avr\bin>avrdude.ex
e -CC:\avrdude.conf -patmega2560 -cstk500v1 -P\\.\COM8 -b19200 -U lfuse:r:-:h -U
 hfuse:r:-:h -U efuse:r:-:h

avrdude.exe: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.07s

avrdude.exe: Device signature = 0x1e9801
avrdude.exe: reading lfuse memory:

Reading | ################################################## | 100% 0.02s

avrdude.exe: writing output file "<stdout>"
0xff
avrdude.exe: reading hfuse memory:

Reading | ################################################## | 100% 0.01s

avrdude.exe: writing output file "<stdout>"
0xd8
avrdude.exe: reading efuse memory:

Reading | ################################################## | 100% 0.01s

avrdude.exe: writing output file "<stdout>"
0xfd

avrdude.exe: safemode: Fuses OK

avrdude.exe done.  Thank you.

1)lfuse-->0xff hfuse-->0xd8 efuse-->0xfd
2)I fuse quindi sono corretti
3)Riprovato a scrivere il bootloader, utilizzando Arduino Mega con sketch ArduinoISP: risultato:

avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x1e000
         0xff != 0x0d
avrdude: verification error; content mismatch
avrdude: Send: Q [51]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [10] 


avrdude done.  Thank you.

Confermo di utilizzare IDE 1.0.5

-L'aggiornamento software di Astrobeed scusate, che cos ' è? Dove lo trovo?

Buona giornata a tutti

Per sicurezza ho anche provato a leggere i fuse dell'Arduino che utilizzo come programmatore e i fuse sono gli stessi

Possibile che tu sia il primo a programmare un bootloader da MEGA a MEGA?
Perché a me sembra un bel BUG questo. :frowning:
Forse ha ragione Leo.

PaoloP:
Possibile che tu sia il primo a programmare un bootloader da MEGA a MEGA?
Perché a me sembra un bel BUG questo. :frowning:
Forse ha ragione Leo.

No, ricordo che Pablos aveva due MEGA (ne ha regalata una a me, alla fine delle fatiche XD) però sinceramente non ricordo cosa facevamo, forse solo il caricamento diretto dello sketch via ISP
Ambro, fatti prima una bella copia di tutto quanto e poi segui le istruzioni del primo posto di questo mio Topic, se è come sembra il problema è propriom il bug noto del caricamento di software oltre i 128k, con questa procedura dovresti risolvere.

Per certo c'è che da UNO a MEGA è fattibile. Da MEGA a MEGA ci sono dei problemi, quindi: o è il bootloader (che non è lo stesso) oppure è il limite dei 128 kB (problema accertato) oppure la somma dei 2.

leo72:
Per certo c'è che da UNO a MEGA è fattibile. Da MEGA a MEGA ci sono dei problemi, quindi: o è il bootloader (che non è lo stesso) oppure è il limite dei 128 kB (problema accertato) oppure la somma dei 2.

aspetta Leo, perché dici che è così certa la cosa, ora io non ricordo con certezza, ma quando facemmo le prove con Astro usai TiDiGino, che è una MEGA attrezzata da Elettronica In, però sono ragionevolmente sicuro di aver caricato sketch. Siccome il problema è software perché la UNO dovrebbe funzionare come programmatore ISP e la Mega no? Ti riferisci sempre ad una UNO con toolchain aggiornata?

Ovviamente.
Con bootloader compilato con toolchain aggiornata non ci dovrebbero essere problemi.

Ma la MEGA i problemi li ha perché già il suo bootloader non riesce a scrivere oltre i 128 kB per cui io presumo che sia un bootloader compilato con toolchain non aggiornata e che quindi tutte le schede soffrano di questo problema.

allora se non ricompila il bl potrebbe non risolvere :frowning:

Il problema è di AVRdude o di Arduino as ISP su MEGA non del bootloader.
Lui non riesce a caricare il bootloader non gli sketch col bootloader; quindi il problema è a monte.

Ho seguito le tue istruzioni, su due postazioni pc diverse, sempre partendo dall'ultimo ide 1.0.5, ma il problema rimane, sempre uguale.

Ricordo poi, che anche se va in errore la programmazione del bootloader, io poi su quell'Arduino, sono in grado di caricare gli sketch normalmente, e sembra che il bootloader venga caricato, perchè provando a caricare il bootloader Ariadne, al reset HW della scheda, rimane in ascolto sulla porta 69 TFTP, quindi in qualche modo il bootloader, viene caricato.