pruss
v0.1.5
Published
PRU userland driver for BeagleBone.
Downloads
14
Readme
PRU
Assembler, disassembler, driver for TI's PRUSS-v2 stack.
Native support for Beaglebone's programmable real-time unit including debugger, assembler, disassembler and instructions not found in TI's default pasm
package.
Usage
Driver
var pruss = require('pruss');
// ...
// Run code on PRU0
pruss.prus[0].run('./path/to/some/firmware');
Assembler
pasm --help
Disassembler
pdasm --help
Installation
Default BeagleBone Black installation as of November 1st 2013, (Angstrom v2012.12 (Core edition) rev 2ac8ed60f1c4152577f334b223b9203f57ed1722) does not come with the packages required for compiling nodejs C modules. This can be fixed by running:
opkg install python-compiler python-misc python-multiprocessing
Proceed with standard NPM installation:
npm install pruss
Finally, make sure your device tree has the PRU UIO driver enabled. It will be automatically loaded with the correct device-tree overlay. The following fragment details part of such an overlay:
/dts-v1/;
/plugin/;
/{
compatible = "ti,beaglebone-black";
part-number = "YOURPART";
version = "YOURVERSION";
fragment@0{
target = <&pruss>;
__overlay__{
status = "okay";
};
};
};
This can then be enabled by compiling and loading the overlay via capemgr:
dtc -@ -O dtb -b 0 -o YOURPART-YOURVERSION.dtbo YOURPART-YOURVERSION.dts
mv YOURPART-YOURVERSION.dtbo /lib/firmware
echo "YOURPART" > /sys/devices/bone_capemgr.*/slots
You can verify the PRUSS subsystem is loaded by searching for it under platform devices:
ls /sys/bus/platform/devices/ | grep pruss # Should see 4a300000.pruss or similar