Variable nach WDT-Reset auslesen (avr 32 Uc3c)

Gast #2505646
Hallo,


ich suche nach einer Möglichkeit eine Variable (2 Bit reichen) vor einem 
WDT-Reset zu schreiben und nach einem WDT-Reset auszulesen.

Diese soll jedoch nicht im Flash gespeichert werden.
Leider sieht es so aus, als würde der WDT-Reset den RAM leeren und ich 
finde keine Möglichkeit diesen Vorgang zu umgehen, denn dann könnte ich 
sie an eine feste Adresse schreiben und nach dem Reset eben von dort 
lesen.
Hat jemand eine Idee?

(Mikrocontroller: Uc3c0512c)

Viele Grüße
Gert
Gast #2507171
Hallo,

erstmal vielen Dank für die schnellen Antworten.
Die Software-lösung ist für mich komfortabler.
Nur war in meinem Linker-Script die "noinit" Sektion nicht definiert.

Also habe ich (unter Zuhilfenahme der Forenbeiträge und der appnote 
doc32158.pdf von atmel) folgende noinit sektion definiert.


1. .noinit (NOLOAD):
2. {
3.   PROVIDE (__noinit_start = .) ;
4.   *(.noinit*)
5.   PROVIDE (__noinit_end = .) ;
6. }  > bss

Erklärung:
1. Zeile: -Die Sektion heisst noinit. Man kann sie auch anders nennen 
nur muss man dann nachher die Variable im C-Code anders deklarieren.
Bei mir sieht das dann so aus:
uint8_t variablennamenachwahl _attribute_ ((section (".noinit")));
- Das NOLOAD attribute ist dafür zuständig, dass der Speicherbereic 
nicht bei einem Reset (zumindest bei einem Software-Reset) gelöscht 
wird.
3. Zeile - 5. Zeile: Habe ich aus einem Forenbeitrag rauskopiert. Ich 
bin mir nicht sicher was da abläuft, aber es scheint zu funktionieren.

6. Zeile: da ich die .noinit Sektion in den SRAM hinter die bss sektion 
legen will, gebe ich das hier einfach an mit dem größer-zeichen an.

Im Anhang die komplette lds-File meines Uc3c0512c. Die letze Sektion ist 
die, die ich angelegt habe.

Velen Dank für die Hilfe und viele Grüße
Gert
Angehängte Dateien:

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.