Gestione EEPROM arduino due

Ciao, volevo utilizzare la eeprom su arduino due, ho trovato la libreria ufficiale, dice che sia simile a quella per arduino 1, mega etc, è questa:

http://www.arduinolibraries.info/libraries/due-flash-storage

Solo che (se non traduco male) dice: l'archiviazione flash viene ripristinata ogni volta che carichi un nuovo sketch al tuo Arduino...

Cosa vuol dire? che ogni volta va a riscrivere? Oppure interpreto male? Nel caso si riduce notevolmente l'uso della eeprom....

Sulla DUE non c’è la EEPROM, la libreria la emula utilizzando la flash, non solo i valori salvati vengono cancellati ogni volta che carichi uno sketch, ma devi fare i conti anche con l’endurance della flash che 1/10 di quella della EEPROM, ovvero se scrivi troppo spesso sulla EEPROM virtuale rischi di buttare via la DUE perché raggiungi il limite di scritture sulla flash.

Oh cavolo, non lo sapevo, quindi mi conviene a tutti gli effetti usare una eeprom esterna…
Una domanda, dato che siamo in tema, lo sketch viene salvato sulla flash giusto? Siccome per fare un programma, carico diverse volte per vedere le modifiche, se la flash dura 1/10 quindi circa 10.000 scritture?
Grazie

thedrifter:
Siccome per fare un programma, carico diverse volte per vedere le modifiche, se la flash dura 1/10 quindi circa 10.000 scritture?

Esatto, dopo di che NON è più garantito che funzioni bene …

Comunque … 10’000 scritture del codice non sono poche, per quante correzioni tu faccia …

Guglielmo

Bhè, si, 10.000 caricamenti sono un po' tantini :D Grazie

thedrifter: Bhè, si, 10.000 caricamenti sono un po' tantini :D Grazie

10.000 scritture, da intendersi come valore minimo garantito, in realtà dura di più, della flash non sono poche, anche ipotizzando che riprogrammi la DUE 20 volte al giorno tutti i giorni la durata minima sono quasi 2 anni. :)

Direi + che sufficienti per fare un progetto :slight_smile:
In questo progetto ho già una memoria che uso per le immagini, vedrò di utilizzare quella, ci sono librerie che fanno già qualcosa tramite SPI?

Se poi vuoi avere la certezza usa una DUE per scrivere un progetto e usa una DUE vergine programmata 1 volta col codice definitivo per usarla nel progetto/apparecchio definitivo.

Ciao Uwe

Tu dici usando la flash per emulare la eeprom? Altrimenti conviene invece usare nel progetto quella programmata più volte, così facendo altri progetti rimane sempre la meno usata, altrimenti se si usa sempre la solita per fare le prove, prima o poi si esaurisce.... Non che sia un problema per quello che costa è? :)

thedrifter: Altrimenti conviene invece usare nel progetto quella programmata più volte, così facendo altri progetti rimane sempre la meno usata

Vero, e per la durata-cliente dovrebbe cambiare pochissimo o nulla.

Tuttavia sono 10mila programmazioni minime

Facciamo 50 scritture a progetto?

Sono 200 progetti.

Facciamo un progetto al mese?

Sono quasi 17 anni di prove con la stessa board prima che si "esaurisca" ;) (pensa che le vecchie EPROM finestrate erano garantite per sole 100 riprogrammazioni...)

Piuttosto non ho capito la necessità stringente di usare la flash interna, quando basta una comune EEPROM i2c. Quanti dati sono? Perché praticamente tutti i moduli RTC i2c hanno a bordo anche una EEPROM.... quindi se ti servisse l'RTC avresti già anche la memoria.

No, non userei la flash interna, se c'era la eeprom ok, altrimenti uso una eeprom esterna, era solo per risparmiare hardware, è un progettino complesso e meno roba aggiungo meglio è... i dati da salvare sono pochi, giusto le impostazioni del display. Ma visto che ho già una eeprom I2C per caricare immagini nel display, vedo di usare quella per salvare i miei pochi dati...