Forum: Compiler & IDEs msp430 warum so oft DW RESET


von Benno Gassmann (Gast)


Angehängte Dateien:

Lesenswert?

warum wird hier die DW RESET sooft wiederholt?
Besten Dank für eure Antworten!

mfg B. Gassmann

von Stefan Kleinwort (Gast)


Lesenswert?

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

von OldBug (Gast)


Lesenswert?

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...

von Peter D. (peda)


Lesenswert?

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

von Benno Gassmann (Gast)


Lesenswert?

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

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.