picture credits : xkcd.com Preface: If the content here seems to be out of context, you’ll probably want to start from here. So you have decided to play with PRUs and after this blinky post, you have some understanding about how to work with PRUs. Cool ! Thats a courageous decision, as PRUs are quite challenging. To make life easier, we need some tools to work along. This post will help you make some of your own tools, using mostly bash scripts/aliases, and explain how to use other known tools with PRUs.
This is the first post in a series of posts that will try to put the PRU programming process in the simplest and the most logical form, connecting all the dots (rpmsg, remoteproc etc). The posts of this series will have PTP (Programming The Pru) at the beginning of its title. As its just the beginning, this post aims to get you a blinky application using PRUs on your BeagleBone Black.
BeagleScope project can be found here Some Shots These are are some clicks of the hardware setup that I am going to use for the beaglescope project. Pic 1 : BBB power supply Pic 2 : ADC power connections Pic 3 : ADC power source Pic 4 : Something like a cape Pic 5 : The connections of 'something like a cape' Pic 6 : ADC data connectors Pic 7
Here I have compiled a list of commands and some info to get you started with BeagleBone Black. I will keep updating this list of commands as I find something new . I hope that it will save you some time . picture credits: xkcd.com All of these commands are to be executed on the BeagleBone black (BBB for short) itself after you login as root, and are expected to work on kernel version 4.4.11+ Content Starters Environment Variables Config-pin utility Force rebooting Sharing your Ubuntu system’s Internet with BBB Kernel Development Linux Headers Install latest kernel BBB kernel source BBB clone kernel source Cross-compiler toolchain Particular kernel config file Cross compiling the kernel source Cross compile a driver Working with PRUs Fact 1 To shutdown PRU0 To shutdown PRU1 More Starters : Environment Variables - ssh into your BBB and append your bashrc with following lines: export PINS=/sys/kernel/debug/pinctrl/44e10800.pinmux export SLOTS=/sys/devices/platform/bone_capemgr/slots export FW=/lib/firmware Config-pin utility - To change the pinmux settings for a pin does not need device tree overlays now (4.4+ kernel), you can simply use ‘config-pin’ utility.
This is the first in a series of posts to explain and provide with some basic examples to work on PRU cores in AM335x. The AM335x SoC can be found on famous embedded board BeagleBone Black. The post are: Introduction to PRUs (this) To make you comfortable with the concept of realtime systems with PRUs, and basic introduction to various peripherals in the PRU-ICSS subsystem. Remoteproc To explain the working of remoteproc Linux driver to manipulate remote processing unit ie PRU for AM335x SoC.