problemi bootloader arduino Nano Every

Ho da poco comprato un Arduino Nano Every e vorrei burnare un bootloader su un Arduino Uno, il problema è che quando vado a caricare lo sketch su l’Arduino Nano ottengo il seguente errore:

exit status 1
reference to ‘SPISettings’ is ambiguous

Qualcuno sa da cosa è causato questo problema?

Come ho scritto molte volte su questo forum, Arduino Nano Every con Arduino Nano, ha in comune ... solo il nome, tutto il resto è differente e NON è garantita la compatibilità con programmi che fanno operazioni a basso livello.

Arduino Nano monta il classico ATmega328P (per il quale si trova di tutto e di più), Arduino nano Every monta il nuovo ATmega4809 che è completamente diverso dal vecchio ATmega328P per cui, tutte le librerie "standard" che non fanno accesso a basso livello dovrebbero funzionare, tutto ciò che accede a qualche registro o opera a livello più basso ... molto probabilmente NON funziona se non viene modificato per il ATmega4809.

Quale programma usi per caricare il bootloader? Il classico "Arduino as ISP"? ... che esso funzioni, così com'è, su ATmega4809 è tutto da verificare ... ::slight_smile:

Guglielmo

Si utilizzo Arduino as ISP per caricare il bootloader. Quindi di conseguenza sarebbe possibile, facilmente cambiare le "impostazioni" oppure è necessario un buon livello di programmazione per farlo?

... c'è da capire bene come funziona la MCU e vedere se c'è da modificare qualche cosa sulle chiamate SPI ... ::slight_smile:

Guglielmo

Ok … hanno fatto casino con l’uso di nomi di classi per la SPI che con il ATmega4809 sono riservati … quello che ti allego “compila” senza errori, il che però NON significa che poi funzioni veramente … provalo e facci sapere :wink:

Naturalmente attenzione hai collegamenti e a dove sono i vari pin MISO, MOSI; SCK e RESET (che NON è il reset della Nano, ma un pin usato per inviare il segnale di reset alla UNO).

Guglielmo

ArduinoISP_OnEvery.ino (16.6 KB)

Intanto grazie mille per l’aiuto. Stavo notando, però, che su programmatore adesso non c’è più la scelta di Arduino as ISP ma solo questa qui. Devo proseguire con questa selezione?

DOPO aver caricato il codice sulla Every, devi selezionare la scheda TARGET (ovvero il tuo Arduino UNO), NO la scheda dove hai caricato il programma “Arduino as ISP” … che fa solo da programmatore !

QUI un ottima guida (ovviamente NON parla della Every, ma tutto il resto è valido) … studiala!!!

Guglielmo

Ok, grazie per il file, me lo sono letto e ho chiarito i dubbi. Nonostante ciò non sembra funzionare, dopo aver fatto i collegamenti e caricato sul Nano lo sketch, nel momento in cui vado a scrivere il bootloader mi da il seguente errore

avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x03
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0xe0
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0xe0
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0xe0
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x00
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0xe0
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0xe0
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0xe0
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x00
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0xe0
Errore durante la scrittura del bootloader

Ci deve essere un errore in quello che stai facendo ...
... descrivi ESATTAMENTE e PASSO PASSO come fai, che tasti usi sul IDE, i collegamenti fatti, ecc. ecc.

Guglielmo

Allora ho preso la scheda Nano l'ho collegata all'usb, selezionato la scheda Nano Every e rispettivo processore, poi la porta e ho caricato lo sketch che mi hai inviato.

Dopo di ciò ho fatto i collegamenti (Nano-UNO): D10-Reset, D11-D11, D12-D12, D13-D13, 5V-5V, GND-GND.

Successivamente ho selezionato la scheda Arduino UNO e in strumenti ho messo su programmatore: Arduino as ISP e poi scrivi bootloader.

Mah ... i collegamenti sembrano corretti ... evidentemente c'è qualche altra cosa che non va ... come avevo detto:

gpb01:
... quello che ti allego "compila" senza errori, il che però NON significa che poi funzioni veramente ...

Dai retta, comprati un programmatore ISP, ormai si prendono con pochi euro e programmi il tuo UNO senza problemi.

Guglielmo