PRU speak fails to compile

51 views
Skip to first unread message

williams...@gmail.com

unread,
Jun 28, 2017, 3:39:57 PM6/28/17
to BeagleBoard
Hello,

I am trying to use the PRU from my beagleboard black for real time control. The PRU speak is great because it's the easiest way I could find for using the ADC PWM DIOs in real time.

However, some things changed and the code doesn't compile anymore with errors described in the github page here.

Any help solving the compilation problem or suggesting another similar library is very welcome. 

Thanks!

Robert Nelson

unread,
Jun 28, 2017, 3:53:39 PM6/28/17
to Beagle Board, williams...@gmail.com
I believe pruspeak was tied to the v3.14.x-ti remoteproc implementation..

void *rproc_da_to_va(struct rproc *rproc, u64 da, int len);

https://github.com/deepakkarki/pruspeak/blob/master/src/driver/pru_speak.c#L109

Got defined in v4.4.x-ti as:

void *rproc_da_to_va(struct rproc *rproc, u64 da, int len, u32 flags);

here's the diff of that file:

v3.14.x-ti -> v4.1.x-ti -> 4.4.x-ti -> v4.9.x-ti

https://gist.github.com/RobertCNelson/03ebe1183fac80b4e9a16a4d71f24991/revisions

Regards,

--
Robert Nelson
https://rcn-ee.com/

Robert Nelson

unread,
Jun 28, 2017, 3:54:35 PM6/28/17
to Beagle Board, williams...@gmail.com
On Wed, Jun 28, 2017 at 2:52 PM, Robert Nelson <robert...@gmail.com> wrote:
> On Wed, Jun 28, 2017 at 1:23 PM, <williams...@gmail.com> wrote:
>> Hello,
>>
>> I am trying to use the PRU from my beagleboard black for real time control.
>> The PRU speak is great because it's the easiest way I could find for using
>> the ADC PWM DIOs in real time.
>>
>> However, some things changed and the code doesn't compile anymore with
>> errors described in the github page here.
>>
>> Any help solving the compilation problem or suggesting another similar
>> library is very welcome.
>
> I believe pruspeak was tied to the v3.14.x-ti remoteproc implementation..
>
> void *rproc_da_to_va(struct rproc *rproc, u64 da, int len);
>
> https://github.com/deepakkarki/pruspeak/blob/master/src/driver/pru_speak.c#L109
>
> Got defined in v4.4.x-ti as:
>
> void *rproc_da_to_va(struct rproc *rproc, u64 da, int len, u32 flags);

correction, this got first defined in v4.1.x-ti..

williams...@gmail.com

unread,
Jul 29, 2017, 5:59:38 PM7/29/17
to BeagleBoard, williams...@gmail.com
I did some modifications to the pru_speak.c to correct errors until it finally compiled.

Now the problem is that the directory /sys/class/misc/pru_speak/ is not created and the "build/bdist.linux-armv7l/egg/pru_speak/pruspeak.py", line 20, in __init__ method fails with:

IOError: [Errno 2] No such file or directory: '/sys/class/misc/pru_speak/pru_speak_abort'

I don't know how to proceed from that. Some googling sugested a misc_register() call, but there are no miscdevice at all at the pru_speak.c.

Any help?
Reply all
Reply to author
Forward
0 new messages