Forum: Mikrocontroller und Digitale Elektronik AT91SAM9261, ständiger Spurious Interrupt


von Tom (Gast)


Lesenswert?

Hallo,

bei meinem AT91SAM9261 habe ich jetzt aktuell ein Micrium OS drauf und 
starte vor dem Systemstart den PIT.

Jetzt habe ich das Problem, dass ich permanent einen SpuriousInterrupt 
bekomme. Ich verstehe noch nicht so ganz, warum dieser kommt. In den 
Notes von Atmel habe ich gefunden: "By applying a pulse on an external 
interrupt signal programmed as level sensitive". Habt ihr hiermit schon 
mal Erfahrungen gesammelt und könnt mir eventuell Tipps geben, worauf 
ich gucken muss?

Danke Tom

von Sascha (Gast)


Lesenswert?

Hallo Tom,
ich habe das Interrupt System eines AT91SAM9G10 aufgesetzt. Es gibt da 
ein paar kleine Probleme die bei der Initialisierung auftreten können. 
Somit können Spurious Interrupts auftreten, die es eigentlich gar nicht 
gibt. Der Handler für den Spurious Interrupt kann das aber bereinigen. 
Es ist schon etwas her und ich muss in meinen Unterlagen nochmals 
nachlesen.
Vermutlich liegt es aber am Interrupt Handler deines Micrium OS, das den 
Interrupt Vector nicht kennt und einfach löscht bzw. ignoriert.

Gruß Sascha

von Tom (Gast)


Lesenswert?

Hallo Sascha,

war eine Weile nicht im Lande und konnte jetzt erst deinen Post lesen.

Danke für die Antwort. Ich glaube schon, dass es mit dem OS und dessen 
InterruptHandler zusammenhängt. Ich weiß derzeit halt nur noch nicht, 
wodurch die Spurious ausgelöst wird. Irgendwo habe ich auch gelesen, 
dass er durch den Core getriggert wird, wenn dieser einen neuen 
Interrupt bekommt, bevor der alte ordentlich abgearbeitet wurde. Werde 
mal ein wenig mehr Zeit mit debuggen verbringen müssen.

Danke Tom

von amateur (Gast)


Lesenswert?

>Vermutlich liegt es aber am Interrupt Handler deines Micrium OS,

Würde mich wundern.

Abschickt wird er vom Prozessor, obwohl er das nicht sollte. Ob das 
System (OS) nun darauf vorbereitet ist oder nicht ist eine andere Sache.

von Stefan C. (felsnadel)


Lesenswert?

Hallo Tom,
ich hatte mal ein ähnliches Problem mit einem AT91SAM7X256. Das Problem 
ist aufgetreten, wenn eine externe Interruptquelle disabled wird und 
zeitgleich dieser Interrupt noch pending ist bzw. im selben Moment wird. 
Ein clear des betreffenden Interrupt nach dem disablen bei gesperrten 
Irqs hat damals geholfen.

Gruß
Stefan

von Tom (Gast)


Lesenswert?

Danke für eure Antworten.
@Stefan: werde mal in die Richtung schauen

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.