PRU FAQ 2013-05-15

The details are all in the TI manuals, or you can reference an excellent
compilation from various official sources on github:

https://github.com/selsinork/beaglebone-black-pinmux

I need to make sure I’m understanding correctly. If I want to use PRU1’s pin 8 as an input, should I use the address 0x8e0 or 0x0e0? Should I set the mode to 0x26 to use input and enable the receiver? Thanks for the help!

In the pru, R31 is for input, so in that table you’re looking for pin “pr1_pru1_pru_r31_8”. That’s on P8.27, which is used by the HDMI framer. If you need to use this pin, instructions on disabling the hdmi framer can be found by searching this group.

Of course you’ll have to enable the receiver, otherwise the state of the pin couldn’t be measured!

Also, here’s a easier to digest table for the pru header pins: https://docs.google.com/spreadsheet/ccc?key=0As0aJokrBccAdGkxeHkyYW1qRHNQdm5yZDhPQlRNR2c#gid=0

Hello,

I am also very interesting about this.

I need to complete a fast ADC / DAC with some numeric matrix calculation. I thought about using a BBB, and the PRUs seemed to be a very interesting point. The numeric part could be done using Xenomai.

Apparently the use of SPI with the PRUs is possible. So can I use SPI ADC / DAC with the PRU?

Could anyone be more precise on how to do it? Write SPI drivers for the PRU?

If I was not clear enough, tell me :slight_smile:

Thank you very much

We’ve seen talk of a closed beta C compiler for the PRU’s. I’ve seen that it could come out of closed beta any day now, and looking for it has become a daily routine.

I’ve found the below, which links to information/download of a c compiler for pru from TI. Would anyone know if this is the same as the closed beta Jason has hinted at here and there?

http://www.element14.com/community/community/knode/single-board_computers/next-gen_beaglebone/blog/2014/04/30/bbb--pru-c-compiler

Thanks

It sounds legit to me. My team had access to the closed beta, but as my team's lead pru programmer, I decided not to use it because the calling convention I made up (in the absence of any standard for PRU) wasn't compatible with the compiler's.

It sounds legit to me. My team had access to the closed beta, but as my team's lead pru programmer, I decided not to use it because the calling convention I made up (in the absence of any standard for PRU) wasn't compatible with the compiler's.

It sounds legit to me. My team had access to the closed beta, but as my team's lead pru programmer, I decided not to use it because the calling convention I made up (in the absence of any standard for PRU) wasn't compatible with the compiler's.

We've seen talk of a closed beta C compiler for the PRU's. I've seen that
it could come out of closed beta any day now, and looking for it has become
a daily routine.

I've found the below, which links to information/download of a c compiler
for pru from TI. Would anyone know if this is the same as the closed beta
Jason has hinted at here and there?

http://www.element14.com/community/community/knode/single-board_computers/next-gen_beaglebone/blog/2014/04/30/bbb--pru-c-compiler

It is a slightly updated version from the one I've been providing in
beta. I've been waiting for a response to my request for a direct
download, rather than needing to download all of CCS, before I posted
something. Seems the cat is out of the bag!

For me personally, it is not just preferable, it is a requirement. As I refuse to use CCS.

After installing CCS with the PRU compiler, you can simply just use the compiler as a command-line compiler (like all the other TI compilers) and ignore the CCS IDE. The installer is only about 20MB download to start with and then it downloads the rest as needed. It’s a quick install on Linux (YMMV on Windows).

http://processors.wiki.ti.com/index.php/Download_CCS

Mark

Mark, it is not CCS specifically that I have a problem with. I have a very strong aversion to having JRE on any of my Windows machines. So, if the tool is not made available as a separate native windows ( or perhaps *NIX ) binary, I probably wont even give it a second look.

Well, install it, copy the PRU directory somewhere else and rm -rf the CCS directory - no more JRE. There is no dependency on the CCS IDE from the compilers.

Mark

Direct download link: http://software-dl.ti.com/codegen/non-esd/downloads/beta.htm

I afraid this is the part I didn’t understand with PRU. Assumed Pin-Mux is correct for usage of plain GPIOs - is PRU able to access all of them? If not: which ones are accessible?

And I already stumbled upon this r30 thingy…how can I set/read GPIOs with it?

Thanks for helping me with these stupid questions!

You can access all regular gpio, but those will be slower than the one tick pru gpio access.

Check out the PRU documentation at https://github.com/beagleboard/am335x_pru_package , it explains how to use R30 and R31, section 5.2.2.

Here’s an explanation on accessing main memory from the pru: http://nomel.tumblr.com/post/30006622413/beaglebone-tutorial-accessing-main-memory-from-the-pru

To control the regular gpio blocks, you would access them through their registers. You can find the gpio registers and their addresses in the processor manual at http://www.ti.com/lit/pdf/SPRUH73 , section 2.1 for addresses of gpio blocks, and section 25 for offsets of the different gpio registers for each block.

Dear all,

As i understand it is impossible to implement PRU, ethercat slave on Beagleboard, since i refer to ( https://groups.google.com/forum/#!searchin/beagleboard/ethercat|sort:relevance/beagleboard/EiiZ4rwo9q0/ZvqUXIKAS28J ) and ( https://groups.google.com/forum/#!searchin/beagleboard/ethercat|sort:relevance/beagleboard/1_yqmvkguZY/y-mrwkY7IJsJ).

I am still wondering that is it possible to use PRU as ethercat or powerlink master on Beagleboard? Because in my opinion, i can purchase commercial motor driver such as yaskawa or panasonic as slave?

Any ideas?

No. It is not possible.Signals are missing on the expansion headers to implement ether-cat.
It cannot be done.

Gerald

Dear Gerald,

Thanks for your reply. Sorry that i am not very clear about Signals are missing on the expansion headers? you means the signals suppose to link to Ethernet PHY, now link to expansion headers(P8,P9)? if so it means it possible rewire the signals? Because i saw this https://www.youtube.com/watch?v=M1LxQBjttWg , please take a look; it seems Sascha rewire it.

Even though it is impossible to implement this, may i know what signals i need if i want to implement etherCat Master by PRU on BBB, which signals are missing now? Any clues, documentations, links will be appreciated.

Thank very very much!