Processor SDK Android PRU-ICSS Ethernet

From Texas Instruments Wiki
Jump to: navigation, search


Ti stk 1c rev rgb png.png


Return to the Software Developer's Guide

Overview

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.

  1. Navigate to the install directory of the Android Processor SDK
    cd ~/ti-processor-sdk-android-am57xx-evm-04.00.00.xx/
  2. Build the required Linux driver modules from source
    make linux
  3. 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
  4. 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.

  1. Change to the root user
    su
  2. Bring up the PRU Ethernet port and acquire an IP address (eth3 given as an example)
    dhcpcd eth3
  3. Check the newly acquired IP
    ifconfig

More Information

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.