NetBSD-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Hard Real-Time?
Manuel Bouyer <bouyer%antioche.eu.org@localhost> writes:
[snip]
> It should be doable in an interrupt handler running at high IPL - these days
> the global interrupt enable flag is turned off for very short time
> (a few instructions) on NetBSD. Maybe even IPL_VM would be acceptable.
> But your GPIO needs to be able to generate an interrupt.
> I know it works on Allwinner A20, but I'm much less familiar with RPI.
Interrupts with gpio and RPI won't be a problem. You can test some
behavior in a simple manor with gpioirq(4) and gpiopps(4) uses them.
The thing I have found that is a little annoying is that interrupts
appear to be delivered only to CPU0 (at least on the RPI3) as far as I
can tell and this can pose a problem if you are trying to service lots
of them.
Don't know about the RT part of the question. I do use schedctl with
SCHED_FIFO at the highest priority for the RPI0 that is listening and
decoding WWVB signals that I have (basically it uses gpiopps(4) as a
pulse width ruler against a tiny radio ordered off of ebay and decodes
it in userland with a program I found. The time is then fed to ntpd
using the shared memory segment driver. It also feeds the pulse to a
second gpiopps(4) to get the pulse-on-the-second into ntpd). This all
works ok as long as WWVB has a good signal.
--
Brad Spencer - brad%anduin.eldar.org@localhost - KC8VKS - http://anduin.eldar.org
Home |
Main Index |
Thread Index |
Old Index