Go Down

Topic: Perennité des données en EEPRROM (Read 948 times) previous topic - next topic

bricopin

Bonjour à tous,
Dans mon programme, j'inscris plusieurs valeurs dans l'Eeprom afin de pouvoir les y retrouver même après une coupure de l'Arduino Mega.
Mais, que ce passe t' il lorsque je fais une mise à jour du programme.
La mise à jour du sketch efface t' elle ces données ?
Merci
JP

Christian_R

Tes données ne sont pas effacées par le nouveau programme , ce n'est pas écrit sur la même zone en mémoire.
Christian

Pac2Kro

#2
Apr 12, 2013, 09:43 am Last Edit: Apr 12, 2013, 09:46 am by Pac2Kro Reason: 1

La mise à jour du sketch efface t' elle ces données ?


Non.

Cette mémoire est non volatile, seul une écriture au même endroit peut modifier tes données.


Edit : grillé à quelques nano secondes!!!

68tjs

Tu trouveras plus d'informations sur l'effacage ou le non-effacage de l' EEprom dans la documentation d'avrdude.
Avrdude est l'utilitaire qui est appelé par l'IDE lors de la mise à jour du programme.

skywodd

Bonjour,


Tu trouveras plus d'informations sur l'effacage ou le non-effacage de l' EEprom dans la documentation d'avrdude.
Avrdude est l'utilitaire qui est appelé par l'IDE lors de la mise à jour du programme.

+1

J'ajouterai aussi que l'effacement ou non de l'eeprom lors de la programmation de la carte est conditionné par la configuration du microcontrôleur.
Ce qui compte au final c'est l'état du fusible EESAVE :
Quote
Preserve EEPROM memory through the Chip Erase cycle; [EESAVE=0]

(cf http://www.engbedded.com/fusecalc)

Par défaut l'EEPROM sur les cartes arduino classique n'est pas effacé lors de la programmation.
Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

bricopin

Merci a vous,
Je peut donc considérer que mon problème ne provient pas de la.
Je cherche une autre piste.
JP

gunsman76

Il faut faire quoi pour effacer la mémoire eeprom en totalité ?

skywodd


Il faut faire quoi pour effacer la mémoire eeprom en totalité ?

Sur une carte arduino, à défaut de pouvoir le faire avec avrdude tu peut le faire avec ce programme :
http://arduino.cc/en/Tutorial/EEPROMClear

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Pac2Kro

Effacer ne veut pas dire grand chose.

C'est remplir de 0x00 ou de 0xFF (ou autre).

Cela peut se faire avec une boucle "For" et la librairie EEPROM.

gunsman76

Oui ou alors je remet des données au même endroit, ou encore je change d'adresse d'écriture et de lecture.


Oui ça parait logique, en fait je pensais simplement que lorsque l'on transversait on effaçait la totalité de l'Eeprom

Pac2Kro

Le programme n'est pas téléversé dans l'EEPROM, mais dans une autre mémoire. Donc aucun risque de modifier la mémoire de l'EEPROM en téléversant.

gunsman76

Ok merci pour votre aide, je progresse chaque jour !

Go Up