Hi Paul,

You may wish to see some code I wrote for a quadcopter project in college. 
 One of the pieces of code used the PRU and shared DDR memory to transfer 
images from a camera to the ARM.

https://github.com/Rose-Hulman-ROBO4xx/1314-BeagleBone-Quadcopter/tree/master_rev2/code/ControlAlgorithm/quadcopter_apps/camera

This may be out of date information however. It has been a while since I 
used PRUs. But hopefully studying my code will be enough to get you started!

Thanks,
Chris

On Tuesday, September 13, 2016 at 9:25:37 AM UTC-5, [email protected] 
wrote:
>
> Hi,
>   I am investigating the beagleboard black PRUs at the moment for data 
> acquisition and/or transmission. For context I'll explain what I want to 
> do. I want to use a 16 bit ADC/DAC at 100KSps. It is a half duplex system, 
> so I can use both PRUs to receive, then load new firmware and transmit. 
> Starting the transmission must be to 1 us accuracy. Hopefully that will 
> explain what I am trying to do.
>
>  I am using the PRU Software package 4.0.2. My kernel is Linux Beaglebone 
> 4.4.9-ti-r25. I have the CCSv6 environment setup and I can build and run 
> examples on the PRU, and I have built a user space example (Pru Lab 6 user 
> space) and it is working fine sending strings to and from both PRUs using 
> RpMsg. Great so far....
>
> I would like to extend the User space example to allow me to fill PRU 
> memory (basically Sine wave sample data to use as a carrier for modulation) 
> , or write directly from user space any samples I want to transmit. Also 
> any examples in user space using the pruss_intc.ko to send/receive 
> interrupts from the PRUs would be good. 
>
> The data I want to fill into the PRU will fill most of the data memory in 
> the PRU, I don't want to have to load it up piece by piece through RpMsg, 
> which looks to be maximum 512 bytes per transfer. I am hoping to trigger 
> commands through RpMsg for the PRU to read/write data to shared or ARM DDR 
> memory. There are plenty of examples on the PRU side to read/write to 
> shared or DRR memory, so i should be able to plod through the examples to 
> create my code for the PRU. 
>
> However I can't see any example on the ARM side. Is it possible for a user 
> space program to read/write to shared memory ? Or allocate a section of DDR 
> memory for the each PRU to write to that nothing else will touch ? 
>
> Also once the ARM is through with writing to shared or DRR memory the PRU 
> generate a ARM Host interrupt (EVOUT1 to EVOUT7).  Does pruss_intc.kp map 
> these interrupts to user space, or allow a callback to be added ?
>
> I know a lot of questions, apologies if they are basic, new to this. 
>
> Regards,
> Paul 
>

-- 
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/93a54194-f09a-4347-bbe3-fbfc097bb7ea%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to