Bidirectional communication allows the Beaglebone to take inputs and control multiple outputs from the PRU.
Details
GSoC 2020 project under BeagleBoard.org
Name: Deepankar Maithani
Wiki: https://elinux.org/BeagleBoard/GSoC/Deepankar
Mentors: Abhishek Kumar,Jason kridner, Saketh, RMA, ds2
Organisation: BeagleBoard.org
Know More about me: My Website :
-
pru-gcc : Required to compile the PRU firmware. Install using following commands
sudo apt-get update sudo apt-get install gcc-pru
More info can be found here gnupru
-
libgpiod: Required to compile the userspace code. Current version used is 1.4.1-2rcnee3~buster+20190906
sudo apt-get install -y libgpiod-dev
-
Linux version used for development is (not a strict requirement): Linux beaglebone 4.19.94-ti-r42 #1buster SMP PREEMPT Tue Mar 31 19:38:29 UTC 2020 armv7l GNU/Linux
-
Linux Headers: Required to build the kernel Module
apt-cache search linux-headers-$(uname -r) sudo apt install linux-headers-$(uname -r)
-
unidirec_595 : It contains code to establish unidirectional communication between ARM and PRU
- hardwaretest_595: It contains pru firmware that can be run to test if all the wirings are correctly made and IC is working fine
- pru_pinconfig:It contains shell script and systemd service file to set modes on the enhanced PRU pins
- rpmsg_595:Contains pru firmware to establish communication between ARM and PRU. The user can send data from userspace to the shift register outputs
- ReadMe: Explains the usage of code in the folder
-
biidirec_299 : It contains code to establish Bidirectional communication between ARM and PRU
- hardwaretest_299: It contains pru firmware that can be run to test if all the wirings are correctly made and IC is working fine
- pru_pinconfig:It contains shell script and systemd service file to set modes on the enhanced PRU pins
- rpmsg_299:Contains pru firmware to establish communication between ARM and PRU. The user can send data from userspace to the shift register outputs or can read the shiftregister pins as input
- ReadMe: Explains the usage of code in the folder
-
driver :It contains the loadable kernel module and make file to build it.
- ReadMe: Explains the usage of code in the folder
-
References : It contains documents like TRM, SRM and data sheets
-
uspace_examples : It contains codes that runs in the userspace to fetch or send data. It uses libgpiod.
Refer to the Wiki and ReadMe files inside the folders