ARM: (PXA270) Fast Interrupt mit Prozess "verknüpfen"

Gast #624526
Lesenswert?
• ▲
▼
Hi,

ich hoffe das hier ist das richtige Forum. Also ich hab hier einen
PXA270 auf dem 2 Prozesse laufen sollen. Einer zum Messen und einer zum
Versenden der Daten. Der Messprozess soll aufjedenfall höchste Priorität
haben. Ich wollte ihn mit einem FIQ aktivieren. Das Problem ist jetzt,
das ich nicht weis wie ich dem OS oder dem Prozessor sagen kann , das er
bei einem Fiq an einem bestimmten Pin nur den Messprozess und bei allen
sonstigen IRQ's andere Prozesse auslösen soll.

Ich hab in der Reference Manual was von einer Interrupt Vektor Tabelle
gelesen. Kann ich da für den Fiq einfach den Einsprungspunkt einer
Funktion für meinen Messprozess eintragen?

Ich arbeite das erste mal mit Mikrocontrollern (und mit ARM Assembler)
und weis einfach nicht weiter...

danke im voraus.

PS: ich hab diese Frage schon in PC Programmierung gestellt... war wohl 
das falsche Forum.
Gast #624556
Lesenswert?
• ▲
▼
Auf der Herstellerseite gibt es zwar ein Codebeispiel zur 
Interruptbehandlung unter WinCE, aber ich glaube nicht das es auch FIQ 
behandelt. Außerdem ist keine brauchbare Dokumentation vorhanden (der 
Hersteller kann beispielsweise für die Hardware Abstraktion Layer 
defines für WinCE festlegen... das bringt aber nichts wenn es keine 
Übersicht und Beschreibung zu diesen defines gibt).
Gast #624596
Lesenswert?
• ▲
▼
Oje... ich hab gar keine Ahnung von Devicedriver Entwicklung. Ich wüsste 
gar nicht was der Treiber alles behandeln soll. Und dann muss ja auch 
die Kommunikation mit anderen Prozessen geregelt werden. Kann ein 
Treiber eigentlich für eine bestimmte Zeit in Echtzeit laufen oder kann 
die Ausführung eines Treibers unterbrochen werden? Die Interrupts kann 
man ja deaktivieren, aber nicht das mir das WinCE noch mit dem 
Prozessscheduler in die Quere kommt.

Ist es vieleicht möglich die Interruptregister so zu konfigurieren das 
ein Interrupt an einem Pin automatisch ein FIQ ist (und dann hoffentlich 
vom OS richtig behandelt wird)?
#624625
Lesenswert?
• ▲
▼
Kurzes Googlen hat bzgl. Windows CE + FIQ das hier gefunden:
http://msdn2.microsoft.com/en-us/library/ms904915.aspx

Der PXA270 hat einen ziemlich mächtigen Interrupt Controller, mit dem es 
bestimmt möglich ist, einen von einem GPIO Input ausgelösten Interrupt 
als FIQ zu routen - im PXA270 Developer's Manual steht mehr dazu (Kap. 
24 GPIO Controller, Kap. 25 Interrupt Controller).

Gruß,

Dominic

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.