I have mostly made a FFT analyzer from a BBB. There are up to 3 LTC2500 ADCs sampling analog
data at 1MSPS, 32 Bits per sample. I got my Agilent 89441A back to work, therefore this here is idle
for >> 1 year. I started that with PRU0, but PRU1 has more usable pins.
PRU 1 was reading the data with the help of an external CPLD that converted SPI to Bytes since even
the PRU could not read SPI at 3*100 MBit. There is a 12 KB dual port buffer somewhere accessible to
both the ARM and the PRU. The lowest words of the buffer make a command/status interface between
ARM and PRU (command, status, 3 parameters, 3 test results, etc). The rest of the buffer is used to
transfer long time series to the ARM in a ping-pong way. (The way I used it.)
The shared buffer has a fixed address on the PRU side, and also on the ARM side. You cannot use
this address in your ARM program but you can mmap() it into the virtual memory space of the ARM.
That is a standard system call.
The following source code was not meant for publication, it is half-done. Don't hit me too hard.
But the access to the shared ram works from both sides, this here is the ARM side.
It seems you have the PRU side already. What you need is probably openpru().
Sorry for the semi-German in the source.
regards, Gerhard