www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik SoftReset mit goto *((void**) 0)


Autor: Glorfindel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tach Leute,

ich brauche in meinem Programm einen Software-Reset. Einen WatchDog
kann ich nicht nehmen, da am Atmel noch ein DSP mit einer in Software
realisierten RS232 hängt. Geht der Watchdog-Reset los, scheint es die
Out/Input-Pins in einen Tristate zu bewegen und meine RS232
interpretiert das als nee Lowflanke eines zu empfangenen Bits.

Jetzt mache ich das über ein Anspringen des Resets mit goto *((void**)
0).

ich muss aber irgendwie Daten retten und möchte die nicht ins ram
schreiben.

Gibt es irgendwelche Register die nicht reinitialisiert werden, oder
kann ich dem gcc mitteilen das der ein paar Speicherbereiche unberührt
läßt?

Autor: Glorfindel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
...sorry...ich will die nicht ins EEPROM schreiben.....

Autor: Roland Praml (pram)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
evtl mit .noinit

http://www.nongnu.org/avr-libc/user-manual/mem_sections.html

Da hier aber Datenmüll drin steht, musst du unbedingt irgendwie fest
stellen ob ein Poweron-Reset ausgeführt wurde (Steht z.B. im MCUCSR)

Gruß
Roland

Autor: TravelRec. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ähem, mal ohne Quatsch: jeder echte Reset, ob Watchdog, Power-Up oder
Brown-Out initialisiert die I/O Register, also auch die Ports - das ist
beabsichtigt und auch unvermeidlich. Wenn Du nur an den Anfang Deines
Programms springen willst, mach das und initialisiere dann per Hand,
was initialisiert werden muß. Oder spendier den kritischen Pins am DSP
externe Pullups, die bei TriState die Leitungen auf High-Pegel halten.

Autor: Kai Riek (kairiek)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wieso kannst du deine Daten nicht ins RAM sichern. Gibt es da einen
speziellen Grund?

Autor: Glorfindel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
oh, klasse. das MCUCSR - Register kannte ich nicht. Bin, was den Atmel
angeht halt noch im "Beginner" - Status. Wenn ich da das PORF abfrage
reicht mir das schon.

Besten dank an alle und bis denn,

Glorfindel

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.