>
> 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.

Reply via email to