PRU exploration project

There are a lot of proposals for the projects to leverage the
powerful PRUSS(1) in the Beagle Bone board but the PRUSS is not
as well documented/understood as we, the Beagle Board community,
would like. Based on proposals so far, some projects are likely
to run into fresh territory on the PRUSS which means you might
be, in the few weeks of GSoC, be the first person to try it and
risk running out of time!

Given the need for exploring the PRUSS as a precursor, I would
like ask if any of the GSoC proposers would be interested in
doing the PRUSS exploration as the GSoC project. Here is a quick
description of what needs to be done:

1. Figure out AND write examples to use features on the PRUSS.
This would be based on the current github project for PRUSS
support(2). Things that needs to be figured out and have examples
written for are:
(a) Timing for access to SRAM/DDR/Other PRU RAM
    - There are timing counters on the PRU to help with this.
(b) Using EDMA
    - Examples are for the PRUSS on a different SOC then the BBB.
(c) Access conflicts between the 2 PRUs and the main ARM procesor.
    - Discussed but not really understood
(d) Using the on board peripherals
    - Described but are they available on the BBB? Do they work?
(e) Other aspects of the PRUSS needed for the projects.

2. Document the examples and write up your findings on the wiki.

(1) PRUSS is the entire subsystem containing the 2 PRU


This proposal interests me. Given that many things I need to accomplish for my logic analyser proposal like possible uses of EDMA, simultaneous uses of both PRUs (and access conflicts), timing issues and the like, I think working on these aspects during the GSoC period could help me lay a sound foundation for my LA project, which I might consider as a post-GSoC extension of this project.

We can discuss on the timeline of this project further.

Looking forward to your reply.

Best Regards