Processor SDK Android PRU-ICSS Ethernet
Starting in v4.3, Processor SDK documentation is no longer hosted on processors wiki.
Please bookmark the new links:
- Linux, RT-Linux: http://software-dl.ti.com/processor-sdk-linux/esd/docs/latest/linux/index.html
- RTOS: http://software-dl.ti.com/processor-sdk-rtos/esd/docs/latest/rtos/index.html
- Android: http://software-dl.ti.com/processor-sdk-android/esd/docs/latest/android/index.html
Return to the Software Developer's Guide
By default in the Android Processor SDK release, kernel drivers are configured as built-in modules. However, there is a known issue in the current PRU driver framework that causes boot delays and loading failures if the PRU drivers are configured as built-in. For that reason, the following set of steps must be followed to get the necessary kernel modules onto the device running Android in order to use the PRU Ethernet peripherals.
On the Linux host machine
Before completing the following steps, it is assumed that you've booted your board running Android and that the device shows up in the list when you query for devices using the adb utility: adb devices.
- Navigate to the install directory of the Android Processor SDK
- cd ~/ti-processor-sdk-android-am57xx-evm-04.00.00.xx/
- Build the required Linux driver modules from source
- make linux
- Push the recently built modules to your board running Android using adb
- ./bin/adb root
- ./bin/adb remount
- ./bin/adb push board-support/linux-4.x.yy+gitAUTOINC+zzzzzzzzzz-zzzzzzzzzzz/drivers/remoteproc/pruss_intc.ko /system/lib/modules
- ./bin/adb push board-support/linux-4.x.yy+gitAUTOINC+zzzzzzzzzz-zzzzzzzzzzz/drivers/remoteproc/pruss.ko /system/lib/modules
- ./bin/adb push board-support/linux-4.x.yy+gitAUTOINC+zzzzzzzzzz-zzzzzzzzzzz/drivers/remoteproc/pru_rproc.ko /system/lib/modules
- ./bin/adb push board-support/linux-4.x.yy+gitAUTOINC+zzzzzzzzzz-zzzzzzzzzzz/drivers/net/ethernet/ti/prueth.ko /system/lib/modules
- ./bin/adb shell sync
- Reboot your board
- ./bin/adb reboot
On the Android device terminal
These steps should be carried out once the kernel modules have been copied to the /system/lib/modules/ directory and the board has been rebooted as described in the previous series of steps.
- Change to the root user
- Bring up the PRU Ethernet port and acquire an IP address (eth3 given as an example)
- dhcpcd eth3
- Check the newly acquired IP
The PRU Ethernet peripherals are only supported on the AM57xx IDK boards for the Android Processor SDK release. For more information about the PRU Ethernet implementation please visit PRU-ICSS_Ethernet. That page is written for the Linux Processor SDK but the Linux kernel is shared between the two SDKs so the implementation details on that page will remain true for Android.