closed

Loginbox

Please enter your username and password into the following fields to log in.


  • Username:
  • Password:
  •  
  • Auto log in on every visit.


  •  

EEprom immer mit alten Werten besetzt



Lschreyer offline
Schreiberling
Avatar
Gender: n/a
Location: n/a 
Age:
Posts: 500
Registered: 02 / 2007
Private message
Subject: EEprom immer mit alten Werten besetzt  -  Posted: 07.07.2020 - 16:36   -  
Ich habe in einem Programm einmal testweise ein paar Strings als Structconst ins eeprom gelegt.
Dazu dann wie üblich das {$EEPROM} davor gestellt:

Code
{$EEPROM}
var
  ee_udatabank: byte; 
  
structconst 
  ss: string[20] = 'blablabla';



Dann habe ich das rückgängig gemacht, wieder {$IDATA}davor gestellt und aus structconst const gemacht:

Code
{$EEPROM}
var
  ee_udatabank: byte; 
  
{$IDATA}
const 
  ss: string[20] = 'blablabla';




Dennoch landet jetzt bei jedem Make der alte Inhalt wieder ins eeprom.
Wie werde ich das wieder los?
DANKE SCHON EINMAL IM VORAUS FÜR DIE HILFE!
go down go up
Gunter offline
Administrator
Avatar
Gender: male
Location: GERMANY  Frankfurt Main / Germany
Age:
Posts: 1654
Registered: 02 / 2003
Private message
Subject: Re: EEprom immer mit alten Werten besetzt  -  Posted: 07.07.2020 - 18:12   -  
indem du die EESAVE Fuse deaktivierst (auf binär '1' setzt)

und hier im Forum ist eine höfliche Umgangsform gerne gesehen:
ein HALLO am Anfang
und ein
DANKE SCHONMAL am Ende des Posting
Du willst ja von uns kostenlose Hilfe.
Dann sollte man sich auch an die "NetikEtikette" halten


Beste Grüße,
Gunter
2 Dinge sind unendlich: das Universum und die menschliche Dummheit.
Aber bei dem Universum bin ich mir noch nicht ganz sicher
--
Albert Einstein

---
The concept of global warming was created by and for the Chinese in order to make U.S. manufacturing non-competitive
--
Donald J. Trump on Twitter
This post has been edited 4-times. Last edit: 07.07.2020 - 21:18 by Gunter.
go down go up
Lschreyer offline
Schreiberling
Avatar
Gender: n/a
Location: n/a 
Age:
Posts: 500
Registered: 02 / 2007
Private message
Subject: Re: EEprom immer mit alten Werten besetzt  -  Posted: 09.07.2020 - 11:02   -  
HALLO

Ich bin ein Freund weniger Worte in Foren, schreibe daher meist so kurz wie nötig, daher lasse ich Hallos, ich grüße euchs, Moin Moins oder Grüßgotts in Foren eigentlich immer weg. Aber wenn das hier so sehr gewünscht ist, bitte, dann folgt jetzt immer erst ein Gruß an alle Forenmitglieder.
Das war mir in den all den Jahren hier nicht aufgefallen und ich entschuldige mich hier in aller Form, dass ich die grundsätzlichen Regeln der Höflichkeit in diesem Forum nicht beachtet habe.

Zum eigentlichen Thema:

Quote
indem du die EESAVE Fuse deaktivierst (auf binär '1' setzt)

Die Methode würde Sinn ergeben, und war das erste, dass ich probiert habe, leider funktioniert sie nicht.

Es wird dann immer noch bei jedem Make der Inhalt wieder hergestellt. Eine Analyse der Zugriffe aus Avrco ergab dass die .eep -Datei offenbar nach einem Make nicht gelöscht wird, der Inhalt bleibt bestehen, Prog nimmt sie dann wieder und schreibt die alten Daten ins Eeprom.

Offenbar wird nach einer Code-Änderung von $EEPROM auf $IDATA bei einem neuen Lauf die .eep-Datei nicht aktualisiert.
Es hilft also nur das Löschen der .eep Datei damit sie neu erzeugt wird.
Erst wenn ich im Code etwas neues in $EEPROM anlege wird die Datei wieder aktualisiert.


DANKE!
DANKE SCHON EINMAL IM VORAUS FÜR DIE HILFE!
go down go up
Gunter offline
Administrator
Avatar
Gender: male
Location: GERMANY  Frankfurt Main / Germany
Age:
Posts: 1654
Registered: 02 / 2003
Private message
Subject: Re: EEprom immer mit alten Werten besetzt  -  Posted: 09.07.2020 - 12:12   -  
Hi,
die sauberste Methode die EEprom Programmierung zu steuern ist unten gezeigt.
Gruß, Gunter
You must be logged in or your permissions are to low to see this Attachment(s).
2 Dinge sind unendlich: das Universum und die menschliche Dummheit.
Aber bei dem Universum bin ich mir noch nicht ganz sicher
--
Albert Einstein

---
The concept of global warming was created by and for the Chinese in order to make U.S. manufacturing non-competitive
--
Donald J. Trump on Twitter
go down go up
Gunter offline
Administrator
Avatar
Gender: male
Location: GERMANY  Frankfurt Main / Germany
Age:
Posts: 1654
Registered: 02 / 2003
Private message
Subject: Re: EEprom immer mit alten Werten besetzt  -  Posted: 09.07.2020 - 12:36   -  
und klar:
eine .eep wird nicht mehr gelöscht. Höchstens überschrieben.
Kann doch sein, dass jemand das ProgEE mal aus- und dann wieder einschaltet.
Kann man natürlich auch jedes Mal im Prommer steuern.
Aber mit Define_Fuses ist das eine "saubere Sache" weil diese Infos wesentlich und dann auch in der Source dokumentiert sind.
Ausserdem kann es ja sein, dass das .eep von 3. Seite stammt und gar nicht
vom Compiler erzeugt wird.

Gunter
2 Dinge sind unendlich: das Universum und die menschliche Dummheit.
Aber bei dem Universum bin ich mir noch nicht ganz sicher
--
Albert Einstein

---
The concept of global warming was created by and for the Chinese in order to make U.S. manufacturing non-competitive
--
Donald J. Trump on Twitter
This post has been edited 1-times. Last edit: 09.07.2020 - 12:39 by Gunter.
go down go up
Gunter offline
Administrator
Avatar
Gender: male
Location: GERMANY  Frankfurt Main / Germany
Age:
Posts: 1654
Registered: 02 / 2003
Private message
Subject: Re: EEprom immer mit alten Werten besetzt  -  Posted: 09.07.2020 - 18:01   -  
siehe im Prommer:
Options - Programmer Options und da rechts unten bei General
Gunter
2 Dinge sind unendlich: das Universum und die menschliche Dummheit.
Aber bei dem Universum bin ich mir noch nicht ganz sicher
--
Albert Einstein

---
The concept of global warming was created by and for the Chinese in order to make U.S. manufacturing non-competitive
--
Donald J. Trump on Twitter
go down go up
Merlin offline
Schreiberling
Avatar
Gender: male
Location: UNITED KINGDOM 
Age:
Posts: 897
Registered: 03 / 2005
Private message
Subject: Re: EEprom immer mit alten Werten besetzt  -  Posted: 10.07.2020 - 10:12   -  
Sorry - only English.

The programmer only downloads what it necessary (for speed). It does not blank EEPROM first.

Therefore if your new EEPROM data is smaller than the old, some of the old data will be left in place.That (usually) doesn't usually matter because it is unused.

If if bothers you though you could use either Erase EEPROM (if available) or Erase Device in the options menu of the programmer.

Regards
Merlin.

:magic:

Software is a black art.
go down go up
Lschreyer offline
Schreiberling
Avatar
Gender: n/a
Location: n/a 
Age:
Posts: 500
Registered: 02 / 2007
Private message
Subject: Re: EEprom immer mit alten Werten besetzt  -  Posted: 14.07.2020 - 11:15   -  
The problem here is, that the compiler/maker does not overwrite the .eep file if ye remove anything from the eeprom data.

If I create some eeprom constants and do a maker run, it creates the constant data in the .eep file. So far so good.
If I then remove the constants from the code, it does not recreate the .eep file, the data remains in the .eep file.
The "prog" program takes the .eep file and writes it to the controller, still with the old constant data in it.

So I have to manually delete the .eep file to let the maker recreate it. I had expected that it recreates the .eep file every time it makes the project when a change was made, but that does not seem to be the case.
DANKE SCHON EINMAL IM VORAUS FÜR DIE HILFE!
go down go up
Merlin offline
Schreiberling
Avatar
Gender: male
Location: UNITED KINGDOM 
Age:
Posts: 897
Registered: 03 / 2005
Private message
Subject: Re: EEprom immer mit alten Werten besetzt  -  Posted: 14.07.2020 - 16:48   -  
Ah, I missed that.
Merlin.

:magic:

Software is a black art.
go down go up
 


Registered users in this topic
Currently no registered users in this section

Delete cookies of this forum  •  FAQ / Help  •  Team page  •  Imprint   |  Local time: 05.08.2020 - 12:31