PRU speak fails to compile


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);

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


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


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/”, 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?