Pages: [1]   Go Down
Author Topic: Contare i cicli di riprogrammazione della memoria  (Read 921 times)
0 Members and 1 Guest are viewing this topic.
Global Moderator
Italy
Online Online
Brattain Member
*****
Karma: 313
Posts: 21625
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged


Global Moderator
Milano, Italy
Offline Offline
Edison Member
*****
Karma: 15
Posts: 1163
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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

F

Global Moderator
Italy
Online Online
Brattain Member
*****
Karma: 313
Posts: 21625
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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?
Logged


Pages: [1]   Go Up
Jump to: