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.
