The Natural Philosopher wrote:
> On 15/09/2020 12:12, Computer Nerd Kev wrote:
>> -Some valuable low-level info:
>> http://xinu.mscs.mu.edu/Interrupt_handling_(Raspberry_Pi)
>
> No link found
https://embedded-xinu.readthedocs.io/en/latest/arm/rpi/Raspberry-Pi-Interrupt-H
andling.html
>> -Hints at usage with Linux:
>>
https://www.iot-programmer.com/index.php/books/22-raspberry-pi-and-the-iot-in-c
/chapters-raspberry-pi-and-the-iot-in-c/55-raspberry-pi-and-the-iot-in-c-input-
and-interrupts?start=1
>> -Getting into it properly here:
>>
https://www.iot-programmer.com/index.php/books/22-raspberry-pi-and-the-iot-in-c
/chapters-raspberry-pi-and-the-iot-in-c/55-raspberry-pi-and-the-iot-in-c-input-
and-interrupts?start=2
>
> Hmm. So its either code device drivers to get speed, or code your own
> network drivers and write a minimal real time kernel.
Circle claims to support networking. I haven't looked into the
practicalities of using it too deeply (obviously you'd have to
look into how it uses interrupts itself).
https://github.com/rsta2/circle
Note that the Pi also has a "Fast Interrupt" (FIQ), which might be
useful for minimising lattency. In Linux, FIQ is used by the Pi
Foundation's dwc-otg USB driver (and any settings to tell it not to
use FIQ don't seem to work anymore - I tried hard), but not by the
standard dwc2 USB driver which can be used instead.
In my case the Kernel high resolution timer system is also something
to look into because my requirement is to write to the GPIO at a
certain time after a previous write. If, like me, you can calculate
in advance when the external interrupt signal is going to come, then
that might be something you want to look at too.
https://www.kernel.org/doc/html/latest/timers/highres.html
--
__ __
#_ < |\| |< _#
--- SoupGate-Win32 v1.05
* Origin: Agency HUB, Dunedin - New Zealand | FidoUsenet Gateway (3:770/3)
|