Ich möchte eine Funktion 64 Mal pro Sekunde mit einem ARM-Prozessor aufrufen, auf dem Linux ausgeführt wird. (Beispiel: Rasberry Pi oder Freescale i.mx6).
Idealerweise möchte ich nicht zu viel Jitter. Ich möchte regelmäßig eine Aufgabe ausführen ... (z. B.: Scannen eines Geräts)
Wenn möglich, möchte ich einen Hardware-Interrupt, der 64 Mal pro Sekunde aufgerufen wird.
Mit "Standard-PC-Hardware (x86)" war es möglich, IRQ8 von der RTC (Uhr) zu verwenden, um dieses Verhalten zu erreichen.
Was ist das Äquivalent zur ARM-Prozessorarchitektur?
Referenz 1 , siehe Abschnitt „Alte „RTC-Klasse“-Treiber“
Ich würde denken, dass ein Watchdog-Timer in dieser Situation funktionieren würde. Wenn der Timer 0 erreicht oder überläuft (es hängt davon ab, ob er abwärts oder aufwärts zählt), löst der Prozessor einen Interrupt aus. Wenn Sie den Timer richtig konfigurieren, kann er möglicherweise bei 64 Hz triggern, aber das hängt von den Pre- und Postscalern ab. Es sieht so aus, als hätte der ARM-Prozessor solche Fähigkeiten .
Sie könnten immer einen Echtzeit-Thread erstellen (vorausgesetzt, Ihr Kernel wurde mit Echtzeitunterstützung kompiliert) und eine Endlosschleife haben, die Nanosleep verwendet, um die gewünschte Abtastfrequenz von 64 Hz zu erhalten.
Wie streng ist Ihre Jitter-Anforderung genau?
Platzhalter