Next-generation PRU Libraries for the BeagleBone

105 views
Skip to first unread message

Kumar Abhishek

unread,
Feb 2, 2015, 1:17:52 PM2/2/15
to beaglebo...@googlegroups.com, beagl...@googlegroups.com
Proposing an idea for mentoring in this Google Summer of Code discussion among mentors and developers from the BeagleBoard community.

The PRU is one such peripheral which differentiates the BeagleBoard from almost any other development platform out there and has given rise to many awesome projects. However:
(i) Entry barrier is high
(ii) There are many libraries out there like libpruio, libprussdrv and others that intend to make the PRU more accessible. However with no common infrastructure each application ends up defining a shared memory pool (which is limited to 8 MB at most) and defines a protocol according to the need or situation. As such, code reusage is quite difficult.
(iii) The remoteproc infrastructure is promising but has a very high entry barrier (Having worked with it to develop BeagleLogic last year) and there is as such no definite interface to userspace. There is a virtio based serial port solution but comes with its overhead.

The idea proposes development of a language-agnostic framework for the PRU - from the kernel driver to userspace libraries.

Please have a look at this Wiki page entry for more information and design goals as of now:
http://elinux.org/BeagleBoard/GSoC/Ideas#PRUSS_Support_for_the_newer_kernels

​I open this idea to discussion from prospective students, developers and the BeagleBoard community to help in drafting the proposal and defining how you would want the API to be while also limiting the scope so that the vision can be achieved over this GSoC and the times to come.

​Best Regards
Abhishek

[cc: The BeagleBoard Discussion group]​

TJF

unread,
Feb 8, 2015, 8:09:31 PM2/8/15
to beagl...@googlegroups.com, beaglebo...@googlegroups.com
Hi!

I think there's some potential for optimization to clarify what's your aim:

Am Montag, 2. Februar 2015 19:18:04 UTC+1 schrieb Kumar Abhishek:
(ii) There are many libraries out there like libpruio, libprussdrv and others that intend to make the PRU more accessible. However with no common infrastructure ...

The infrastructure is clear here, since libpruio depends on libprussdrv.

BR

PRASANTA KUMAR DUTTA

unread,
Mar 4, 2015, 9:31:15 AM3/4/15
to beaglebo...@googlegroups.com, beagl...@googlegroups.com
Hello, 
I am an ECE student from NIT durgapur and would like to work on a BeagleBone project for GSoC 2015. I have prior experience in working with BB Black, during mu summer inter at IIT Guwahati. I have built an autonomous bot that can communicate with other bots and perform a task. I had worked with the PWM, ADC and PRU modules. Please guide me on how to proceed for GSoc.
Thank you.

Jason Kridner

unread,
Mar 25, 2015, 3:55:39 PM3/25/15
to beaglebo...@googlegroups.com, beagl...@googlegroups.com, jeli.f...@gmail.com
Abishek,

With all the use of libprussdrv, it would be great to move that library over as part of any effort to switch to remote_proc.

Regards,
Jason
Reply all
Reply to author
Forward
0 new messages