Using PRU Cape, TI's product for BBB

I have recently purchased the PRU cape from TI for BBB and tried to run it by following the instructions given in the wiki page and hands on lab

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

http://processors.wiki.ti.com/index.php/PRU_Training:_Hands-on_Labs

but i really cannot understand how to use it.

  1. Do i need to connect an FTDI cable? If yes, then how with the cape sitting on top of it which removes access to those pins?
  2. Is RS-232 used to debug the bbb?
  3. How do i use CCS to connect to BBB using the cape and program it considering I am familiar with coding TI DSPs?

I want to access the PRU in the BBB and program using CCSv6 like it is done for DSPs. Thus I have purchased the cape.

Any help would be appreciated.

I have recently purchased the PRU cape from TI for BBB and tried to run it by following the instructions given in the wiki page and hands on lab

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

http://processors.wiki.ti.com/index.php/PRU_Training:_Hands-on_Labs

but i really cannot understand how to use it.

  1. Do i need to connect an FTDI cable? If yes, then how with the cape sitting on top of it which removes access to those pins?
  2. Is RS-232 used to debug the bbb?

The serial console is just for log output.

  1. How do i use CCS to connect to BBB using the cape and program it considering I am familiar with coding TI DSPs?

You need JTAG to use CCSV6 with PRU. At reset, the PRUs are held in reset and the Remoteproc bootloader on the ARM processor loads the PRU firmware and takes the PRU out of reset. When you develop code on the PRU with CCSV6, you normally don’t have the ARM processor running, so TI provides GEL files to bring the PRU out of reset. The GEL files look very similar to C code and can directly read/write from/to AM335x I/O registers. After that, CCSV6 loads the code onto the PRU and then you have a full debugger available to step, set breakpoints, etc. If you have worked with DSPs, then this will be familiar to you.

Regards,
John

Thank You John.

I just gave an order for JTAG and header pins.
This makes quite a few things clear.

  1. But when it comes to GEL files, do i need to do it for BBB in CCS v6? Because when I saw in target configuration that beaglebone black is already there and also there is AM335x separately.
  2. And do I need to install anything on a micro SD card and then boot the BBB before i connect and start programming using CCS?

Thank You John.

I just gave an order for JTAG and header pins.

Be careful when installing the JTAG header because this is a fine pitch connector and difficult to solder unless you have the proper fine point soldering tip. My best advise is to use solder flux and don’t worry about bridging pins with solder at first. Make sure all pins are properly soldered, and then using flux, hold the board at an angle so that the solder falls onto your soldering iron. A little solder wick can also be helpful to remove solder bridges.

Which JTAG emulator did you buy? I recommend Blackhawk USB200 as a minimum if you want decent performance.

After you have installed the connector and connected your JTAG emulator, open the target configuration and run the test. This takes about 10 seconds to complete, and you do not want to see any errors. This will tell you if your connector is installed correctly.

This makes quite a few things clear.

  1. But when it comes to GEL files, do i need to do it for BBB in CCS v6? Because when I saw in target configuration that beaglebone black is already there and also there is AM335x separately.

The target configuration is where you specify the GEL file. In the advanced section, select PRU and you will see an entry for GEL file. I believe that when you use the PRU support package, the CCSV6 project is already setup so this should already be working for you.

  1. And do I need to install anything on a micro SD card and then boot the BBB before i connect and start programming using CCS?

I believe all you need is MLO on the SDCard. When you start the debugger, it resets the processor and runs the ROM bootloader which configures some of the CPU subsystems like the CPU SRAM clock and other SRAM settings. You should contact Jason Reeder who is the TI author of the PRU support package. His contact details are in the GIT repo. Take any of the PRU examples and do “git blame xxx.c” and you will have his contact details. Ah, I just found his e-mail address: jreeder@ti.com. Jason is one of the most helpful people I know.

Regards,
John

Hi John

I was on a budget so I purchased the Blackhawk USB 100v2 and also i soldered the 20 pin header as shown in the image below. Since then I have been trying to program the Beaglebone But accessing the PRU is so difficult via CCS. DId you do it and did it work for you?
As per your suggestions i loaded the MLO file into the sd card adn still no image could be read or I could access the PRU.

IMG_20160729_104951.jpg

I’m currently traveling and don’t have access to my desktop. From what I recall, you have to use the MLO from the PRU examples repo and also configure the PRU GEL scripts for this to work. The I was able to run all the PRU examples:

http://processors.wiki.ti.com/index.php/PRU_Training:_Hands-on_Labs

Regards,
John