Introduction
Features
Getting started
OpenPRU organization
Building the examples
Information about using EVM boards
Creating a new OpenPRU project
Contributing to the OpenPRU repo
Technical Support
OpenPRU is a software development package that enables development on the PRU processor core. PRU cores are included in Texas Instruments (TI) Sitara devices and Jacinto class of devices.
The OpenPRU project currently supports these processors:
- AM243x: AM2431, AM2432, AM2434
- AM261x: AM2612
- AM263x: AM2631, AM2631-Q1, AM2632, AM2632-Q1, AM2634, AM2634-Q1
- AM263px: AM263P2-Q1, AM263P2, AM263P4-Q1, AM263P4
- AM64x: AM6411, AM6412, AM6421, AM6422, AM6441, AM6442.
For basic PRU development support on AM335x, AM437x, AM57x, and AM62x, refer to the PRU Software Support Package (PSSP).
Release notes are here. Please refer to the release notes for information like compatible SDK versions on each release.
The OpenPRU project provides:
- PRU Academy
- PRU Getting Started Labs (project creation, coding in assembly & C, compiling, loading PRU code, debugging PRU code)
- Training labs (GPIO, interrupt controller, broadside accelerators, etc.)
- Application examples
- These PRU examples can be used as a foundation for your design: I2S, SPI, I2C, ADC, etc.
- Helpful software tools
- firmware macros
- register definitions
- example drivers
Each project is tested on at least one processor. Many projects can be ported to other processors, even if the example does not currently have a build configuration for the other processors. For more information, refer to academy/readme.md and examples/readme.md.
Please follow the Getting started steps to install dependencies and properly set up the OpenPRU repository.
For more information about the organization of both the OpenPRU repo and the OpenPRU projects, please refer to OpenPRU organization
Note
Use gmake in Windows, and make in Linux.
gmake is present in CCS. Add the path to the CCS gmake at
C:\ti\ccsxxxx\ccs\utils\bin to your windows PATH.
Unless mentioned otherwise, all make commands are invoked from the root
folder of the open-pru repository.
Makefiles can be used to:
- build or clean all OpenPRU projects
- build or clean a specific OpenPRU project
- build or clean code for a specific core
For detailed steps on how to use makefiles, run make help from the root
folder of the open-pru repository.
-
When using CCS projects to build, import the CCS project from the project folder. The project files can be copied to the ccs workspace of the PRU project.
-
Build the PRU project using the CCS project menu. Refer to the MCU+ SDK documentation > Using SDK with CCS Projects:
- Once you click on build in the PRU project, the PRU firmware header file is generated in the CCS release or debug folder. The PRU header file is moved to
<open-pru/examples/empty/firmware/device/>
-
Build the R5F project using the CCS project menu. For more details, refer to the MCU+ SDK documentation > Using SDK with CCS Projects linked above.
-
The PRU Firmware header file path is included in the R5F project include options by default.
-
Build Flow: Once you click on build in the R5F project, SysConfig files are generated. Then the R5F project will be generated using both the generated SysConfig files, and PRU project binaries.
For more details on EVM Board usage, please refer to the Getting started section of MCU+ SDK README_FIRST_*.html page. The MCU+ SDK User guides contain information on
- EVM setup
- CCS Setup, loading and running examples
- Flashing the EVM
- SBL, ROV and much more.
Getting started guides of MCU+ SDK are specific to a particular device. The links for all the supported devices are given below
- AM243x Getting Started Guide
- AM64x Getting Started Guide
- AM261x Getting Started Guide
- AM263Px Getting Started Guide
- AM263x Getting Started Guide
An existing project can be copied into a new directory, or imported into CCS, to serve as a starting point for PRU development.
For example, copy examples/empty to examples/my_project.
Since empty and my_project are in the same parent directory, my_project
can be built from the project directory after updating any paths that use the
project name:
$ cd /path/to/open-pru/examples/my_project
$ make -s
For additional steps to create a new OpenPRU project, refer to page Creating a New Project in the OpenPRU Repo.
Please refer to Contributing to the OpenPRU project.
For questions to the TI apps team, reach out to us on TI's E2E forums. Please note that support may be limited for OpenPRU projects in the examples/ folder.
The open-pru Discussions tab is another place for discussion between community members.