> > Anyhow, I noticed we've drifted slightly off-topic here... ;-) >
Holy molly ... we did, however you guys provided me enough info leads for a whole year of insomnia. Nevertheless there are a point I'd like to bump up : Correct, pretty much anything can be used from userspace like that, > although some people will frown at you for bypassing the kernel if you do. Righteo, so far I was using the somewhat slow (but easy) way thyrough FS, however I am stuck with running my program as root, as I can't access the PWM (or hardware) as normal user. Using the mmap() method would be permission free, would it ? Cheers guys, PL On Monday, November 2, 2015 at 3:44:01 PM UTC+8, Matthijs van Duin wrote: > > On 2 November 2015 at 07:52, William Hermans <[email protected] > <javascript:>> wrote: > >> Determinism. I do agree with what you're saying, but sometimes, you need >> things to happen at exactly <some time interval >. In userland, you may be >> able to achieve that most of the time, but you will not be able to achieve >> that all of the time. Even if that time interval does not happen very often. >> > > Determinism is relative. RT kernels should in principle allow things to > happen within <some time interval> all of the time, provided the interval > is not too tight, you correctly configured priorities, and you don't run > into a seriously misbehaving driver. > > PRUSS of course offers absolute determinism, but only if you stay within > the subsystem. As soon as you start using peripherals outside it your > timing starts getting affected by interconnect traffic from the cortex-A8. > > For some applications even the jitter due to competing interconnect > traffic is already bad. For most however the jitter of an RT kernel is > probably fine. > > As an added bonus, we get to offload the main core in the process :) >> > > I'd consider PRU to be a more precious resource than cortex-A8 cycles > though. > > >> So /dev/iio:device0 is a buffer for the ADC when operating in continuous >> mode >> > > Ah, yes I also use a tiny ring buffer for ADC which I reserved (using DT) > in OCMC ram. Configured DMA to write the ADC data to the buffer whenever > it's available, and userspace can simply read the latest measurements from > the buffer whenever it needs them. > > >> I now consider iio a waste of time. In a way, like you, I do not like >> unnecessary abstraction layers. Especially those that seem to fight against >> ones willingness to learn >> > > I have to admit I didn't look at it very long, but to me it also seemed > overly complicated and opaque. > > Anyhow, I noticed we've drifted slightly off-topic here... ;-) > -- For more options, visit http://beagleboard.org/discuss --- You received this message because you are subscribed to the Google Groups "BeagleBoard" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
