How to begin use of PRU with beagleBone?

I have the need to do real-time signalling, and collect data from SPI
in real-time.

I would like to then transfer this data in chunks to linux.

Can I find help here?

So I just found an old thread in the archive "Fast Feedback Control
with Beagle Bone?" in which two links to useful info were posted:
http://processors.wiki.ti.com/index.php/Programmable_Realtime_Unit_Subsystem

and

AM335x ARM® Cortex™-A8 Microprocessors (MPUs) -Technical Reference Manual
http://www.ti.com/lit/ug/spruh73a/spruh73a.pdf

I just skimmed the PRUSS section of the Technical Reference, and saw
the section that talked about the linux assembler for the PRUSS, but
didn't see anything about how to actually load code.

The wiki link says "Register 30 of each PRU is exported from the
subsystem in addition to the normal R31 output of the PRU cores." so
does this mean I can't have access to the big RAM? I would like to be
able to transfer up to ~1MB/s to linux... which means I'll probably
need at least 2-4MB for buffering.

The Pru Subystem has 12kB of shared RAM.

I am also working on this, I was able to get PASM to assemble my programme

Now working on getting the loader to load it up and test it.

Tom

I have the need to do real-time signalling, and collect data from SPI
in real-time.

I would like to then transfer this data in chunks to linux.

Can I find help here?

I encourage you to seek help here, but also to visit http://e2e.ti.com to raise issues back to TI and report back here.

As I work to understand the PRU, my plan is to eventually include the assembler as part of BoneScript and use JavaScript introspection on loops to generate assembly macros to handle basic functions in loops on the PRU.

There will likely be many solutions to work with the PRU, but that is the one I’m going to focus on.

The TI Sitara Linux SDK will likely add support for the PRU, so you can stay tuned for that. There is also work on TI Starterware (http://www.ti.com/tool/starterware-sitara) that may very well have support for the PRU in the future, but I’m less clear on that.

The references to the wiki and diving in there seem like a good approach if you want to get started with it right away. My expectation is that in 3-6 months, it’ll be a lot easier to get the easy tools to use it.

Wow, did a search for Starterware and stumbled across this. Using js
as a shim for PRU assembly is a genius idea -- reminds me of CorePy.

In fact, I could almost kick myself for not having thought of
something like this, especially since I had some experience with
CorePy (first open source program I ever built).