pruss

0.1.5 • Public • Published

PRU

Assembler, disassembler, driver for TI's PRUSS-v2 stack.

build status coverage license version downloads

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 

Readme

Keywords

Package Sidebar

Install

npm i pruss

Weekly Downloads

1

Version

0.1.5

License

CC0-1.0

Last publish

Collaborators

  • izaakschroeder