Video of my very first print using LinuxCNC running on a BeagleBone with the BeBoPr cape to control my MendeMax RepRap 3D printer. The BeagleBone is running a Xenomai real-time kernel, but using the PRU (Programmable Realtime Unit, a 200 MHz deterministic microcontroller for off-loading time-critical tasks) to do step/dir and pwm generation. The PRU code is fairly advanced, and supports a configurable task list with full control over the number and types of tasks (ie: make as few/many step/dir and/or pwm outputs as you want). The PRU is currently running a 10 uS task loop, but can run faster or slower depending on how many tasks you want to run. The 10 uS is easily handling 4 step/dir tasks plus a pwm task with 3 outputs and is only busy about 1.5 uS (so 85% idle).
Look in the src/hal/drivers/hal_pru_generic directory. The *.p files are for the PRU, and the *.c files are the Linux/LinuxCNC side driver for it.
I like your printer a lot. Have made major changes since this post? Do you use slic3r or other slicing software or do you do this all in linuxcnc?