SPRADU2 August 2026 AM625
To apply and experimentally verify the PRU's high‑speed UARTs based on SDK 11.1, the PRU UART driver must first be added to the native kernel. Apply the following commands and the corresponding patch.
host# patch -p1 < pru-tty-driver-v6.12-20251204.diff
host# make linux
host# sudo DESTDIR=/media/tony/root make linux_install
# ln -sf PRU_UART_12Mb.out.v1.1 am62x-pru0-fw
# ls /dev/ttyPRU*
/dev/ttyPRU0 /dev/ttyPRU1 /dev/ttyPRU2 /dev/ttyPRU3
root@am62xx-evm:~# echo start > /sys/class/remoteproc/remoteproc2/state
[ 703.729726] remoteproc remoteproc2: powering up 30074000.pru
[ 703.737406] remoteproc remoteproc2: Booting fw image am62x-pru0-fw, size 25852
[ 703.744705] remoteproc remoteproc2: remote processor 30074000.pru is now up
Now you can run UART applications to write data to these UART nodes. Currently, simply using the open() and write() functions enables high‑speed UART data transmission via the PRU. The following is reference code for transmitting data using the open() and write() functions.
write(fp0, data, data_len);
fp0 = open("/dev/ttyPRU0", O_RDWR | O_NONBLOCK);
Figure 3-3 shows the waveform measured using a logic analyzer to verify the entire data path from the application layer to the underlying hardware by transmitting the data randomly generated on the Linux side.
Figure 3-3 Random UART Data Waveform At Linux Side