Hi,

We building an application to use a PRU to do realtime DAQ using an ADC. 
The PRU code is done, but due to the datarate (52.7ksps at 24 bit/sample * 
8 channels) we are having problems with the buffers in the rpmsg framework. 
The PRU does the DAQ, and pushes it trough the rproc/rpmsg framework to our 
linux userspace application. There we recuperate the data and write it to a 
file. 

Now the problem we are experiencing is that the VRing buffers are probably 
overflowingl due to threading of our userspace program. The retrieval of 
the data from the character device goes well for a while, and suddenly we 
get some data loss, and it goes back to working for a while,... In Dmesg we 
get messages like this: 

[ 2591.809917] rpmsg_pru rpmsg0: Message length table is full


We already tried grouping samples to make maximum use of the 512byte 
buffers, and in the resource table we increased the number of buffers to 
the maximum of 256. This improved the behaviour a bit, but the problem 
persists although less frequent. Increasing the userspace process priority 
does not improve this nor does setting the cpu governor to performance

Is there a way  to increase the buffer size of the RPMSG messages so more 
samples can be grouped together in a single message? Changing these 
definitions in the kernel module 
<https://github.com/beagleboard/linux/blob/4.4/drivers/rpmsg/virtio_rpmsg_bus.c>
 and 
recompiling it?

#define MAX_RPMSG_NUM_BUFS (512)
#define RPMSG_BUF_SIZE (512)



Or is there a way to increase processing time for our userspace application 
to reduce the time not reading the buffers?


Thanks in advance

Thomas


-- 
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].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beagleboard/9f4010cf-eb32-4198-a0e2-969eee825ad9%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to