This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM4378: Remoteproc issue

Hi,

I am using Rico Board.After booting Rico Board remoteproc is not available in the kernel.

Procedure for Building the Kernel

-Downloaded ti-processor-sdk-linux and installed it.

- cd /home/user/ti-processor-sdk-linux-<DEV>-evm-<VERSION>/board-support/linux-4.4.19+gitAUTOINC+YYY-ZZZ/

-Place the cross-compiler toolchain in PATH environment variable(export PATH=/home/user/ti-processor-sdk-linux-<DEV>-evm-<VERSION>/linux-devkit/sysroots/x86_64-arago-linux/usr/bin:$PATH)

-Clean the kernel sources(make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distclean)

-Set the kernel configuration to the default configuration included in the Processor SDK for the device (make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- tisdk_DEV-evm_defconfig)

-Enable RPMsg support using menuconfig(make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig)

  • Device Drivers > Remoteproc Drivers > TI PRUSS remoteproc support
  • Device Drivers > Rpmsg drivers > PRU RPMsg Communication driver

-Build the Linux kernel(make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zImage)

-Build the device tree binary file(make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- am437x-gp-evm.dtb)

-Build the modules(make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- modules)

 

Created a bootable SD card With RPMsg Support

-Plug micro SD card into Ubuntu host computer.

-Change to the 'bin' directory in the Processor SDK.

-Run the SD card creation script with sudo rights and enter your password when prompted

  • select 2 partition and '1' to install the pre-built images from the SDK

-Remove SD Card and Plug in.

-delete everything in boot directory(sudo rm /media/user/rootfs/boot/*)

-Navigate to the Linux kernel source directory(cd /home/user/ti-processor-sdk-linux-<DEV>-evm-<VERSION>/board-support/linux-x.y.z+gitAUTOINC+YYY-ZZZ/)

-Copy the new kernel to the SD card(sudo cp arch/arm/boot/zImage /media/user/rootfs/boot/)

-Copy the new device tree binary to the SD card(sudo cp arch/arm/boot/dts/am437x-gp-evm.dtb /media/user/rootfs/boot/)

-Install the newly built modules onto the SD card filesystem(sudo make ARCH=arm INSTALL_MOD_PATH=/media/user/rootfs/ modules_install)

-Synchronize the data on the disk with the memory to make sure all of the files have completed copying over to the SD card(sync)

-Unmount the two SD card partitions from your Ubuntu host computer

  • sudo umount -f /media/user/rootfs
  • sudo umount -f /media/user/boot

Booting Rico Board

-Plug in Sd Card into Rico Board.

-Log in as root.

-After Booting Remoteproc is not available in /sys/class/.

Note-While compiling kernel,remoteproc was considered and compiled.

  • Hello Bhabesh,

    Based on your post, I assume you have been following our RPMsg Quick Start Guide. FYI, I can only support TI-created boards on this forum - BeagleBone Black is the only exception since it is so widely used. So support will be limited for your Rico board.

    Let's back up and check a couple of things.

    1) What version of the Linux Processor SDK are you using?

    2) Please double-check which DTS file you are supposed to use for a Rico board. am437x-gp-evm.dtb is for the AM437x General Purpose EVM board, not the Rico board.

    3) As per the quick start guide, note that the SDK will already have RemoteProc and RPMsg enabled by default. So you really just need to run create-sdcard.sh and make sure you have the right dtb file - after that point, I would expect RemoteProc to work out of the box.

    Regards,

    Nick