Go Down

Topic: Contare i cicli di riprogrammazione della memoria (Read 1 time) previous topic - next topic

leo72

Guardando nella documentazione di avrdude ho scoperto che i uC Atmega possono contare i cicli di cancellazione della Flash.
Tale dato è memorizzato nelle ultime locazioni di memoria EEPROM interna e viene incrementato ad ogni ciclo di riscrittura.

Se si va a scrivere su tali locazioni tale valore viene perso.
Anche se si cancella tutta la memoria del microcontrollore (opzione "-e" di avrdude) si perde tale valore a meno che non si inserisca nel comando di avrdude il parametro "-y" che legge tale contatore, lo memorizza, cancella la memoria del uC e poi lo riscrive nuovamente.
E' anche possibile "forzare" un valore con il comando -Y.

In questo modo basta leggere queste locazioni e si può sapere la vita presunta della memoria.  :o

Tutta la documentazione è disponibile qui:
http://www.nongnu.org/avrdude/user-manual/avrdude_4.html#Option-Descriptions

Federico Vanzati

decisamente interessante! appena riesco provo a vedere cosa dice il mio!
F

leo72

Bisogna precisare una cosa. Se si usa Avrdude SENZA il parametro "-y" ad ogni erase il contatore viene azzerato. Bisognerebbe prendere l'abitudine di inserire quel parametro sempre.

Non so, ad esempio, l'IDE di Arduino se lo imposta, anzi non so neanche con che cosa essa programmi lo sketch: come si fa a vedere con che parametri lavora?

Go Up