NOTICE: The Processors Wiki will End-of-Life on January 15, 2021. It is recommended to download any files or other content you may need that are hosted on processors.wiki.ti.com. The site is now set to read only.
PRU Linux Loader
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[edit]
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[edit]
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. |