Please note as of Wednesday, August 15th, 2018 this wiki has been set to read only. If you are a TI Employee and require Edit ability please contact x0211426 from the company directory.

PRU Linux Loader

From Texas Instruments Wiki
Jump to: navigation, search

Content is no longer maintained and is being kept for reference only!
For the most up to date PRU-ICSS collateral click here

General Overview

The PRU application and kernel loaders for Linux are two software tools which can be used to load a binary to the PRU’s memory area and to manage the code executed in the PRU.

The application loader supports interactions with the PRU from the user space and is recommended for applications and protocol emulations. The kernel loader provides API’s to interact with the PRU in the kernel space and is recommended for peripheral emulation development.


Source Code

The PRU Linux loader source code and example codes can be found at PRU_SW Project. The following command can be used to download the source tree:

host$ svn export https://gforge.ti.com/svn/pru_sw

The pru_sw package is organized as follows:

   |--\trunk
   |
       |--\app_loader	    Contains user space library (PRUSSDRV) for loading and interacting 
       |		    with PRU in user space. 
       |
       |--\example_apps     Contains example PRU assembly code and associated code to build, 
       |		    load, and test the PRU code.
       |
       |--\kernel_loader    Contains kernel drivers and kernel-level code used to interact 
       |                    with the PRU.
       |
           |--\can	    Contains out-of-kernel soft-CAN module, hal include files, 
           |		    and PRU firmware.
           |           
           |--\pru_lib	    Contains API's for loading and interacting with PRU at kernel-level.
           |
           |--\uio	    Contains kernel patch for uio_pru module that sets up resources 
           |		    for the app_loader.
           |
           |--\suart	    Contains out-of-kernel soft-UART module, hal include files, 
           |		    and PRU firmware.
           |
       |--\peripheral_lib   Contains peripheral libraries needed by example_apps.
       |
       |--\utils	    Contains PRU assembler for Linux system.
       |


PRU Linux Application Loader Documentation

1. PRU Linux Application Loader User Guide
2. PRU Linux Application Loader API Guide
3. PRU Linux-based Example Code Guide