Was macht diese Befehlszeile?

OP #2162708
Lesenswert?
• ▲
▼
Hallo,

ich bin gerade dabei Einstellungen für den Watchdog in meinem AVR 
vorzunehmen und dabei auf diese Seite gestoßen:
http://www.nongnu.org/avr-libc/user-manual/group__avr__watchdog.html

Dort ist die nachfolgende Zeile beschrieben, die mir ein wenig 
rätselhaft erscheint (aber sicher nicht Watchdog-Spezifisch ist):
1
uint8_t mcusr_mirror __attribute__ ((section (".noinit")));

Kann mir jemand sagen was in dieser Zeile genau passieren soll? Meine 
Vermutung ist, dass hier dem Linker gesagt wird wo er die Variable 
ablegen soll, aber so ganz sicher bin ich mir trotzdem nicht. Abgesehen 
davon habe ich bisher nirgends einen Bereich ".noinit" 
verwendet/vorgesehen.
OP #2168609
Lesenswert?
• ▲
▼
Ok, danke dir für die Antwort.
Das mit dem "uninitialisierten Datensegment" ist mir allerdings noch 
nicht absolut klar. (was genau macht ihn aus? wo liegt er gewöhnlich im 
Speicher?...)
Kennt jemand eine Seite auf der diese verschiedenen Speicheraufteilungen 
gut/anschaulich beschrieben sind?

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.