EV3 PRU - topikachu/ev3dev GitHub Wiki
The [AM1808 SoC](EV3 Processor) has 2 Independent Programmable Realtime Unit (PRU) Cores.
Usage
PRU0: Used to provide software UART for input ports 3 and 4.
PRU1: Not used.
Documentation
Firmware
The PRU requires firmware to implement the UART interfaces. We are using the firmware from LEGO (distributed in the ev3dev-uart package).
/lib/firmware/PRU_SUART.bin
Device Driver
Origin
The device driver originally comes from TI and was ported from LMS2012. LMS2012 had 2 copies of this driver, one in the linux kernel source and one in the LMS2012 source. We are using the one from the kernel. The one in the LSM2012 section has been modified by LEGO to work with their d_uart.c driver.
ev3dev Implementation
Only slight modifications were made to this driver to get it to work with the 3.3.0 kernel. Code is here.