Forum: Mikrocontroller und Digitale Elektronik AVR __eeprom: Welche Compiler?


von Raoul D. (raoul_d219)


Lesenswert?

Hallo zusammen,

ich habe einen alten Quelltext für eine atmega88a, in dem folgendes 
auftaucht:
1
__eeprom T_EEPROM eeprom = {
2
  0xff,    
3
...
4
};

Das Schreiben (bzw. Lesen) aus dem EEPROM geht dort dann so:
1
  // write the settings back to eeprom
2
  eeprom = ee;
3
  
4
...
5
6
        // save the new settings into eeprom    
7
        eeprom = ee;

Meine AVR Zeiten sind schon lange vorbei, doch welcher Compiler konnte 
das?

Danke!

von Sebastian R. (sebastian_r569)


Lesenswert?

Das müsste IAR sein?

von Raoul D. (raoul_d219)


Lesenswert?

Sebastian R. schrieb:
> Das müsste IAR sein?

Ok.
DAnn könnte ich jetzt die 14-Tage trial Lizenz von denen nehmen, oder 
den ganzen Kram nach avr-gcc umschreiben ...

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Raoul D. schrieb:
> oder
> den ganzen Kram nach avr-gcc umschreiben ...

Das ist keine große Sache:
1
#include <avr/eeprom.h>
2
3
// EEPROM values
4
uint16_t ee_DUMMY __attribute__((section(".eeprom"))); 
5
// deadtime 
6
uint8_t ee_DEAD_TIME_HALF __attribute__((section(".eeprom")))= 48;
7
// commutation
8
uint8_t ee_motor_fwd_commutation __attribute__((section(".eeprom"))) = MOTOR_FWD_COMMUTATION;
9
uint8_t ee_motor_rev_commutation __attribute__((section(".eeprom"))) = MOTOR_REV_COMMUTATION;
10
11
// und spaeter
12
motor_fwd_commutation = eeprom_read_byte(&ee_motor_fwd_commutation);
13
motor_rev_commutation = eeprom_read_byte(&ee_motor_rev_commutation);

von Veit D. (devil-elec)


Lesenswert?

Hallo,

vielleicht hilft dir diese Seite noch.
https://www.nongnu.org/avr-libc/user-manual/group__avr__eeprom.html

von Johann L. (gjlayde) Benutzerseite


Lesenswert?

Matthias S. schrieb:
> uint16_t ee_DUMMY __attribute__((section(".eeprom")));

Oder kürzer
1
uint16_t ee_DUMMY EEMEM;

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Johann L. schrieb:
> Oder kürzer
> uint16_t ee_DUMMY EEMEM;

Wenns klappt, umos besser. Das Projekt da oben ist schon etwas älter. 
Aber jetzt hat der TE beide Varianten, das sollte klappen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.