Wie eine Funktion in einem Treibercode als ISR registrieren
-
01-10-2019 - |
Frage
Nach dem Feedback, das ich bekam von meiner vorherigen Frage auf Linux Kernel Entwicklung ,
Ich habe einen Treiber (in Linux-Kernel v2.6.32) geschrieben, indem sie es mit einem vorhandenen Treiber zu vergleichen und „borgen“ stark von seinem Code. Der Fahrer ist für registrierte Ordnung. Die init () und Sonde () arbeiten gut. Ich bin auch in der Lage, das Peripheriegerät Register zuzugreifen. : -)
Doch ich bin ein wenig trüb über die IRQ / ISR . Die Peripheriegeräte ist ein Eingabegerät und heben einen Interrupt auf einem GPIO-Pin.
Wie bewege ich voraus aus dem aktuellen Zustand der IRQ zu handhaben und meine ISR-Funktion durchführen?
Lösung
Haben schauen Sie auf dem Linux Device Drivers Buch? Es hat ein ganzes Kapitel über die Interruptverarbeitung . Es sollte die Hintergrundinformationen, die Sie benötigen.