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.

AM57x Cortex-M4 IPC ping_tasks example

AM572x EVM

Processor SDK Linux 2.00.02

Processor SDK RTOS 2.00.02

Ubuntu 14.04 64-bit host

I'm trying to build a working application that will communicate via A15 (Linux) and M4 (TI-RTOS).  I've downloaded the Linux SDK to handle the A15 side of things.  I've downloaded the RTOS SDK for the M4 side of things (and not sure if that was the right way to go or not...).

So far, the most complete tutorial I have found related to achieving this communication is this wiki page:

http://processors.wiki.ti.com/index.php/RPMsg_Kernel_Client_Application

I was able to get the Linux example built.  Next I was trying to build the M4 portion built.  To that end, I'm using the IPC 3.42.00.02 installation (as well as BIOS and xdctools) components as installed in the RTOS SDK to do the build.  I added the following details to products.mak of the IPC installation:

PLATFORM = am572x-evm

TOOLCHAIN_LONGNAME = arm-linux-gnueabihf

TOOLCHAIN_INSTALL_DIR = /home/a0193370/ti-processor-sdk-linux-am57xx-evm-02.00.02.11/linux-devkit/sysroots/x86_64-arago-linux/usr

TOOLCHAIN_PREFIX = $(TOOLCHAIN_INSTALL_DIR)/bin/$(TOOLCHAIN_LONGNAME)-

KERNEL_INSTALL_DIR = /home/a0193370/ti-processor-sdk-linux-am57xx-evm-02.00.02.11/board-support/linux-4.1.18+gitAUTOINC+bbe8cfc1da-gbbe8cfc

XDC_INSTALL_DIR = /home/a0193370/ti-processor-sdk-rtos-am57xx-evm-02.00.02.11/xdctools_3_32_00_06_core

BIOS_INSTALL_DIR = /home/a0193370/ti-processor-sdk-rtos-am57xx-evm-02.00.02.11/bios_6_45_01_29

ti.targets.elf.C66 = /home/a0193370/ti-processor-sdk-linux-am57xx-evm-02.00.02.11/linux-devkit/sysroots/x86_64-arago-linux/usr/share/ti/cgt-c6x

I then ran "make -f ipc-bios.mak all" which built a whole bunch of stuff, but NOT the pings_tasks example!

So what else do I need to do to make ping_tasks build so I can get this going?

Thanks,
Brad

  • Hi Brad,

    I have notified the RTOS team to look into this.
  • I did a Yocto build of ti-ipc-rtos and looked at its corresponding build logs to figure out what I had done wrong.

    Brad Griffis said:
    PLATFORM = am572x-evm

    This is not a valid platform.  I should have chosen:

    PLATFORM = DRA7XX

    Now that I look more closely at the comments in products.mak, I see they list all the allowed choices.  Doh!

    Brad Griffis said:
    ti.targets.elf.C66 = /home/a0193370/ti-processor-sdk-linux-am57xx-evm-02.00.02.11/linux-devkit/sysroots/x86_64-arago-linux/usr/share/ti/cgt-c6x

    I'm not sure why I set this at all!  This builds examples for the DSPs, which might be useful but is not what I was trying to get.  The one I really needed to set was the path for the M4!

    ti.targets.arm.elf.M4 = /home/a0193370/arago-internal-new/tisdk/build/arago-tmp-external-linaro-toolchain/sysroots/x86_64-linux/usr/share/ti/ti-cgt-arm

    Also note, that since this is TI-RTOS, you must point to a TI compiler and not a GCC compiler for the M4.

    With these changes, the build does indeed produce the expected output files:

    ./packages/ti/ipc/tests/bin/ti_platforms_evmDRA7XX_ipu2/ping_tasks.xem4
    ./packages/ti/ipc/tests/bin/ti_platforms_evmDRA7XX_ipu1/ping_tasks.xem4