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.

Reply via email to