.eep Dateien aus AVR-Studio 4.13 in Matlab Werte ändern?, avrgcc, Atmega8

Gast #833782
Lesenswert?
• ▲
▼
Hallo,
Ich verwende AVR-Studio 4.13 und als Programmiersprache, für den Atmega 
8, C.
Wenn man Variablen im EEPROM speichert und z.B schreibt double eeTsoll 
EEMEM = 25; schreibt der Compiler eine .eep Datei mit dem Wert 25 und 
der Adresse (glaube ich halt) in hexformat.

Wie kann ich z.B in Matlab diesen Wert ändern und dann wieder in den 
Atmega laden (laden mit AVR-Studio)?
Mich würde interessieren wie die Hexzahl aufgebaut ist.

Zum speichern der double Variable wurde folgendes gemacht:
union {    // "Konverter"
      double d;        // Beim Auslesen double
      uint8_t i[sizeof(double)];  // zum Abspeichern uint8_t Array
}u;

So holt man die Varible aus dem EEPROM
        eeprom_busy_wait();
  eeprom_read_block(&(u.i),&eeTsoll,sizeof(double));
  eeprom_busy_wait();
  Tsoll = u.d;

So schreibt man die Variable in den EEPROM
u.d = Tsoll;
eeprom_busy_wait();
eeprom_write_block(&(u.i),&eeTsoll,sizeof(double));

Das heißt sie wird als uint8_t Array abgespeichert.

hier das was dann in der .eep Datei steht:
:040000000000C841F3
:00000001FF

Danke
Werner
Weiß leider nicht wie die double Variablen hier aufgebaut sind, 
möglicherweise finde ich es aber noch heraus.
Also wenn jemand eine Idee hat bitte schreiben
Gast #833791
Lesenswert?
• ▲
▼
>:040000000000C841F3
>:00000001FF

Das nennt man INTEL-HEX-Format. Jede Zeile besteht aus Zeilentyp, 
Adresse, Datenbytes und Prüfsumme, wenn mich nix täuscht.
Informier dich einfach mal, wie Intel-Hex genau aufgebaut ist, dann 
isses kein Problem mehr mal flux zwei Bytes zu ändern.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren