Ho usato AVRDUDE solo per provare a scrivere i fuse (non sapendo come fare altrimenti).
La scrittura del efuse a FF va a buon fine, ma non quella a 0D.
Se adesso provo a scrivere il bootloader originale , quando termina in errore(byte 0x1e000 0xff != 0x0d), ho il led del pin 13 che lampeggia a intermittenza.
Nonostante questo errore, se lo collego via usb e invio lo sketch del blink, lo upload e funziona( per essere sicuro ho impostato il blink a 100 ms invece di 1000).
Quindi in teoria non dovrebbe essere brikkato.
Il tutto è nato quando ho provato a caricare il bootloader Adriadne.
$0D può non essere accettato perché passi al chip il valore di fuse che non esistono. Secondo il sito Fuse Calculator: http://www.engbedded.com/fusecalc
Sì, è come dice Leo, allora puoi provare 0x05 o 0x07, tanto incidono solo sul BOD level.
Però il blink come prova non è idoneo, quel cavolo di LED lampeggia per la qualsiasi; impostalo su un pin diverso e aggiungi una R + led al volo, oppure carica uno sketch che mostri qualcosa sul serial monitor, insomma una prova più seria, ok?
Se risponde all'IDE non c'è ragione per la quale non funzioni l'ISP....
ma i fuse sono identici alla board originale!!!
Fai una cosa, con avrdude leggi tutti e tre i fuse e cerchiamo di capire cosa dobbiamo sistemare, certamente l'extended che è FD e non FF, ma vediamo gli altri due
OK, allora ti lascio i compitini
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
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.