Okay awesome, thank you! This weekend I will get a chance to dig into this more. So a lot of the examples I've seen using uio_pruss involve a device tree overlay for gpio pin muxing, I'm comfortable doing that, but I've noticed lately that slots isn't around anymore because I guess a lot of people were messing things up by echoing into it. Should I still be using an overlay to do my pins? Or would something like config-pin work just fine?
Thank you! On Thursday, March 22, 2018 at 10:26:57 PM UTC-7, TJF wrote: > > The main reasons for a failing prussdrv_open() are > > 1. the driver uio_pruss didn't load > 1. check lsmod if uio_pruss is listed > 2. check dmesg for errors > 2. the user has no write access to the interupts /dev/uio[0-7] > 1. check your write access by ls -l /dev/uio* > 2. Use ether sudo for your operation or adapt the uio* devices by > chmod (ie. in a boot script) > > BR > > Am Freitag, 23. März 2018 02:37:59 UTC+1 schrieb [email protected]: >> >> Hi TJF, >> >> Thank you for such a direct and concise solution! As I mentioned in one >> my earlier replies today, I had some trouble getting libprussdrv to work on >> 4.9 because prussdrv_open() failed everytime I tried to use it. But It's >> been a while and I'm game to try it again with a fresh image and >> everything, so I'll try all this tonight and hopefully I get somewhere :) >> >> Thank you! >> Evan >> >> On Thursday, March 1, 2018 at 11:27:01 AM UTC-8, TJF wrote: >>> >>> Hi Evan, I'm still with you! >>> >>> The solution is drop rproc and use libprussdrv instead. You'll find >>> everything you need, just use it out-of-the-shelf. Everything is explained >>> in the docs. The steps are: >>> >>> 1. compile your PRU code by pasm assembler >>> 2. load the uio_pruss driver with suiting parameter extram_pool_sz= >>> 3. adapt your C code >>> >>> >>> - make a code frame to load the pasm binary to PRU (copy/paste from >>> one of the examples) >>> - get ERam pointer by function prussdrv_map_extmem() >>> - write your integer data to that pointer from ARM side >>> - use function prussdrv_get_phys_addr() to get the physical address >>> - pass the physical address to PRU (ie via DRam) >>> - read the integers from there from PRU side >>> >>> Everything gets easy when you use the matching tools. >>> >> -- 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/e0c27205-dcec-4751-9947-414baa88c4e8%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
