AT91SAM9261, ständiger Spurious Interrupt

Gast #3204104
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
Gast #3207909
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
Gast #3211397
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
Gast #3211421
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.
#3211450
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

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