msp430 warum so oft DW RESET

Gast #77689
Das sind die Interrupt-Vektoren. Wenn keine IR-Routine für den
ntsprechenden Interrupt vorhanden ist, dann darf dieser (natürlich)
auch nicht auftreten. Wenn doch, dann ist das ein schwerer
Programm(ier)fehler. Als Notnagel wird in diesem Programm dann ein
Reset erzeugt. Analog funktioniert ja auch ein Watchdog: Programmfehler
löst dort auch einen Reset aus.

Stefan
Gast #77690
Hallo zusammen!

msp430-gcc bietet die Möglichkeit, eine Funktion namens
'UNEXPECTED()' zu überlagern. Was macht diese routine? Ganz einfach,
anstelle der 'DW RESET' wird ein Assemblercode erzeugt, der einfach
nach 'UNEXPECTED()' verweist. Man kann in dieser Routine (in der
eigenen natürlich) dann selber entscheiden, was bei unbeabsichtigt
auftretenden Interrupts passieren soll. Diese unbeabsichtigten
Interrupts können beispielsweise dann auftreten, wenn das IE-Flag für
einen Interrupt gesetzt ist, aber keine Handlerroutine existiert.

Gruß,
Patrick...
#77691
Wie Stefan schon sagte, es wird versucht durch einen Neustart einen
schweren Programmierfehler zu vertuschen.

Besser ist es daher, für jeden Interrupt auch einen Handler
aufzusetzen, der die CPU nachhaltig stopt und vielleicht noch einen
freien Pin setzt, als Zeichen, daß ein schwerwiegender Programmfehler
aufgetreten ist.


Peter
Gast #77692
Ganz herzlichen Dank für eure Beiträge! Wenn ich richtig verstanden
habe, verweisen im Beispiel die meisten Interrupt-Vektoren auf das
RESET-Label. Bis jetzt habe ich gemeint, dass zB auf Platz 10 nur der
Vektor "Watchdog timer" stehen dürfe.

Auf jeden Fall bin ich glücklich, dass das msp430 Forum lebt. Dies ist
für mich als Einsteiger beruhigend!

Gruss  Benno

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 22 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.