Forum: Mikrocontroller und Digitale Elektronik ATXMega16D4 - Zwei Variablen mit selber Adresse bei noinit


von Tom (Gast)


Lesenswert?

Hallo,

ich habe ein Problem bei der Verwendung von noinit-Variablen. Es teilen 
sich eine noinit Variable und ein globale Variable die selbe 
Speicheradresse. Wie kann das passieren? Muss ich den noinit-Bereich 
explizit zuweisen?

ATXMega16D4 mit AVRStudio 6.2, Initialisierung der Variablen wie folgt:
1
volatile uc_8 random_number __attribute__ ((section (".noinit")));
2
volatile uc_8 checksum;

Beide Variablen laut Debugger:
random_number  0  unsigned char{data}@0x2001
checksum       0  unsigned char{data}@0x2001

von Tom (Gast)


Lesenswert?

Jetzt läuft es,

einfach in den Linker-Optionen folgendes zuweisen:

-Wl,--section-start=.noinit=0x802000 -Wl,--section-start=.bss=0x802002

Für meinen Fall bei zwei noinit-Variablen.


Gruß,
Tom

von Easylife (Gast)


Lesenswert?

Hm, ob nichtinitialisierter Speicher so richtig "random" ist...?

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.