Le vendredi 11 septembre 2015 02:10:24 UTC-3, William Hermans a écrit :
>
> Carlos, I forgot to mention before also that you seem to have a flaw in 
> your code some where. I mentioned clearing your data variables already, but 
> there is potentially more there too is you're getting duplicate time 
> stamps, and data. The first impression I get from this is that 
>
>
>    - a) you're not clearing your data variables between reads / writes on 
>    the ARM side. And . . .
>    - b) You have no locking mechanism between the PRU, and ARM to tell 
>    the ARM side program it is ok to read the data.
>
>
> Hello Willian, first of all, thank you again for your suggestions and 
clarifications. I am convinced now that it will work better (and with 
simpler code) if I implement some locks and keep reading a flag bit to know 
if it is time to read/write the memory. As far as I can tell, I can do it 
in a non blocking way on the PRU side. On the ARM side, It can be possible 
to spawn a new thread specialized in checking this, so the arm program can 
do other things without having the main thread blocked. There will be 
nothing to do in the control task before having a new sample to process, 
but on the supervisory task I can fill in some buffers and send some data 
to a web server running on the beaglebone... so anyone can plug in a eth 
cable, open the web browser and sort of watch the "live" results or choose 
to download every data after the experiment is over.
Ah, no, I have no lock mechanism aside from the interrupt system, which is 
not working as I expected on the ARM code.

Carlos Novaes

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