LPC macht RESET nach interrupt

OP #2707369
Lesenswert?

Hallo,

es geht um einen LPC2148, der bei jedem Timer1-Match-Interrupt den 
Zustand des Match-Pins wechseln soll.
Interrupts werden generiert, allerdings macht der uC nach ein paar 
Interrupts einen RESET. Ich hab mit ein paar LEDs und Variablen getestet 
(hab leider keinen Debugger), ob es wirklich ein RESET ist, weil ich 
vorher die Vermutung gehabt hab, dass er nur zufällig zum Anfang 
springt.
Hat vielleicht jemand eine Vermutung für dieses Verhalten?

Danke im vorraus
Fabian
Gast #2707624
Lesenswert?

Besorg dir einen Debugger, sonst wirst du da mit dem LPC nicht froh 
werden

Möglichkeiten:
* Data Abort
* Program Abort
* nicht implementierte Interruptroutine
* Pointer auf Adresse 0x00000
* Stack overflow

Das waren mal so die Ursachen die öfter in Frage kommen aber bei weitem 
nicht alle möglichen Ursachen.

Eine genauere Fehlerangabe kann ich dir leider nicht geben da ich meine 
Kristallkugel verlegt habe...
OP #2707791
Lesenswert?

Danke schonmal für die Antwort. Ich hab auch noch ein interessantes 
Dokument dazu auf der NXP-Seite entdeckt:
http://www.nxp.com/documents/application_note/AN10414.pdf
Da steht aber nichts von spontanen Interrupts bei Verwendung der 
Timer-Interrupts. Ich werd auf jeden Fall heute Abend mal den 
default-Vector ergänzen und hoffe, dass zumindest das RESET-Problem 
behoben ist.

Danke nochmal für die Hilfe
Gast #2708322
Lesenswert?

Hallo,

Fabian K. schrieb:
> void __attribute__((interrupt ("IRQ"))) routine(void)
> {
>  // isr Code
>
>  T1IR = 0xFF;
>  VICVectAddr = 0;
> }

dagegen kann man nichts sagen.
Ich hoffe nur dass sich in
>  // isr Code
nichts verbirgt das an den Interrupts (enable, disable, etc. ...) 
rumdreht.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren