| 1 | 1.) build/install pru kernel module driver & library objects/headers |
| 2 | a. https://github.com/beagleboard/am335x_pru_package.git |
| 3 | b. headers go in /usr/include/pruss/ |
| 4 | c. in app_loader/interface/, `CROSS_COMPILE= make` |
| 5 | d. in app_loader/lib/ move objects to /usr/lib && `ldconfig` |
| 6 | |
| 7 | 2.) build/install assembler |
| 8 | a. in pru_sw/utils/pasm_source/, `source linuxbuild` (wtf) |
| 9 | b. executable is one dir up, put in $PATH |
| 10 | |
| 11 | 3.) load "kernel module" |
| 12 | a. `echo BB-BONE-PRU-01 > /sys/devices/bone_capemgr.9/slots` |
| 13 | |
| 14 | 4.) write pru assembly |
| 15 | a. this is the most fun part |
| 16 | b. assemble object via binary in step 2 |
| 17 | |
| 18 | 5.) write host loader |
| 19 | a. C |
| 20 | b. init lib, setup intr. |
| 21 | c. load object from 4a via lib func |
| 22 | d. block until intr via lib func |
| 23 | e. clean up via lib func |