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.

TDA4VM: Building IPC SPI Profiling application to work along with Linux

Part Number: TDA4VM

Hi Team,

Thanks for the quick replies for my previous queries. However, there are still some where i am stuck. I have addressed them as points for a better clarity.

1. Regarding FAQ --> "e2e.ti.com/.../faq-tda4vm-different-ways-to-load-an-rtos-or-baremetal-application-along-with-linux" has there been any updates for PDK 07_03 ?

2. I want to build IPC SPI profiling application for which i was using --> "software-dl.ti.com/.../mcusw_c_ug_top.html how one should link 

  • ipc_spi_slave_demo_app_mpu1_0_release.xa53fg would be hosted on Remote Core (MPU 1 0).
  • ipc_spi_master_demo_app_mcu1_0_release.xer5f would be hosted on Local Core (MCU 1 0)

These two binaries is not given. I want to use SPL to boot them.

I have searched most of the forums but haven't found any clue to do so.

3. I have used UBOOT_DM variable to link one binary but how should one link another binary I couldn't find. This i want to understand as along with linux I want to boot multiple cores.

4. All the other cores have a linker

j7-c66_0-fw

j7-c66_1-fw

j7-c71_0-fw

j7-main-r5f0_0-fw

j7-main-r5f0_1-fw

j7-mcu-r5f0_0-fw

But no linker related to mpu1_0 is there. How should i link ipc_spi_slave_demo_app_mpu1_0_release.xa53fg ?

5. In case of mcu2_1 as slave (ipc_spi_slave_demo_app_mcu2_1_release.xer5f) & mcu1_0 as master (ipc_spi_master_demo_app_mcu1_0_release.xer5f), how should they be integrated ?

These are some of my blockers, if i can get a slight guidance i would be able to move ahead.

I am not using CCS.

I hope to get a clarity in the above mentioned steps.

Thanks & Regards,

Tanvi

  • Hi Team,

    Please clarify on the above confusion.

    Regards,

    Tanvi

  • Hi Tanvi,

    To answer your first question, there have not been updates after SDK 7.3 that support this example. It has been removed from support as some of these features became unsupported in later SDKs.

    Your second question to boot using SPL would also not work for a similar reason. The SDK assumes the MPUs will run Linux when booting from SPL. SBL did support booting the MPUs with an RTOS, but that has been deprecated.

    As your 4th point mentions, there is no support for MPU linker as Linux would be running on this core.

    Regards,

    Erick

  • Hi Erick,

    5. In case of mcu2_1 as slave (ipc_spi_slave_demo_app_mcu2_1_release.xer5f) & mcu1_0 as master (ipc_spi_master_demo_app_mcu1_0_release.xer5f), how should they be integrated ?

    Can you give me steps regarding this.

    I tried using UBOOT_DM variable, but it gives error while compiling when i tried it like this -->

     "UBOOT_DM = <PATH_OF_DIR>/ipc_spi_slave_demo_app_mcu2_1_release.xer5f <PATH_OF_DIR>/ipc_spi_master_demo_app_mcu1_0_release.xer5f"

    Can you specify what i am doing wrong here. What i should do to integrate two images along SPL ?

    Regards,

    Tanvi

  • Tanvi,

    What error are you getting when you try to compile with this UBOOT_DM?

    Regards,

    Erick

  • Hi Eric,

    What error are you getting when you try to compile with this UBOOT_DM?

    When I tried to build the u-boot following compile log was given-->

    4477.unt.txt
    make u-boot
    ===================================
    Building U-boot for A72
    ===================================
    make -j 4 -C /home/linux/Documents/ti-processor-sdk-linux-j7-evm-07_03_00_05/board-support/u-boot-* CROSS_COMPILE=/home/linux/Documents/ti-processor-sdk-linux-j7-evm-07_03_00_05/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/aarch64-none-linux-gnu- \
    	 j721e_evm_a72_config O=/home/linux/Documents/ti-processor-sdk-linux-j7-evm-07_03_00_05/board-support/u-boot_build/a72
    make[1]: Entering directory '/home/linux/Documents/ti-processor-sdk-linux-j7-evm-07_03_00_05/board-support/u-boot-2020.01+gitAUTOINC+2781231a33-g2781231a33'
    make[2]: Entering directory '/home/linux/Documents/ti-processor-sdk-linux-j7-evm-07_03_00_05/board-support/u-boot_build/a72'
      HOSTCC  scripts/basic/fixdep
      GEN     ./Makefile
      HOSTCC  scripts/kconfig/conf.o
      YACC    scripts/kconfig/zconf.tab.c
      LEX     scripts/kconfig/zconf.lex.c
      HOSTCC  scripts/kconfig/zconf.tab.o
      HOSTLD  scripts/kconfig/conf
    #
    # configuration written to .config
    #
    make[2]: Leaving directory '/home/linux/Documents/ti-processor-sdk-linux-j7-evm-07_03_00_05/board-support/u-boot_build/a72'
    make[1]: Leaving directory '/home/linux/Documents/ti-processor-sdk-linux-j7-evm-07_03_00_05/board-support/u-boot-2020.01+gitAUTOINC+2781231a33-g2781231a33'
    make -j 4 -C /home/linux/Documents/ti-processor-sdk-linux-j7-evm-07_03_00_05/board-support/u-boot-* CROSS_COMPILE=/home/linux/Documents/ti-processor-sdk-linux-j7-evm-07_03_00_05/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/aarch64-none-linux-gnu- \
    	CONFIG_MKIMAGE_DTC_PATH=/home/linux/Documents/ti-processor-sdk-linux-j7-evm-07_03_00_05/board-support/u-boot_build/a72/scripts/dtc/dtc \
    	ATF=/home/linux/Documents/ti-processor-sdk-linux-j7-evm-07_03_00_05/board-support/prebuilt-images/bl31.bin TEE=/home/linux/Documents/ti-processor-sdk-linux-j7-evm-07_03_00_05/board-support/prebuilt-images/bl32.bin DM=/home/linux/Documents/ti-processor-sdk-rtos-j721e-evm-07_03_00_07/mcusw/binary/cdd_ipc_profile_app/bin/j721e_evm/cdd_ipc_profile_app_mcu1_0_release.xer5f /home/linux/Documents/ti-processor-sdk-rtos-j721e-evm-07_03_00_07/mcusw/binary/ipc_remote_app/bin/j721e_evm/ipc_remote_app_mcu2_0_release.xer5f \
    	O=/home/linux/Documents/ti-processor-sdk-linux-j7-evm-07_03_00_05/board-support/u-boot_build/a72
    make[1]: Entering directory '/home/linux/Documents/ti-processor-sdk-linux-j7-evm-07_03_00_05/board-support/u-boot-2020.01+gitAUTOINC+2781231a33-g2781231a33'
    make[2]: Entering directory '/home/linux/Documents/ti-processor-sdk-linux-j7-evm-07_03_00_05/board-support/u-boot_build/a72'
      GEN     ./Makefile
    scripts/kconfig/conf  --syncconfig Kconfig
      CHK     include/config.h
      UPD     include/config.h
      CFG     u-boot.cfg
      GEN     include/autoconf.mk.dep
      CFG     spl/u-boot.cfg
      GEN     spl/include/autoconf.mk
      GEN     include/autoconf.mk
    make[2]: Nothing to be done for '/home/linux/Documents/ti-processor-sdk-rtos-j721e-evm-07_03_00_07/mcusw/binary/ipc_remote_app/bin/j721e_evm/ipc_remote_app_mcu2_0_release.xer5f'.
    make[2]: Leaving directory '/home/linux/Documents/ti-processor-sdk-linux-j7-evm-07_03_00_05/board-support/u-boot_build/a72'
    make[1]: Leaving directory '/home/linux/Documents/ti-processor-sdk-linux-j7-evm-07_03_00_05/board-support/u-boot-2020.01+gitAUTOINC+2781231a33-g2781231a33'
    
    

    There in the compile log there is a line -->

    make[2]: Nothing to be done for '/home/linux/Documents/ti-processor-sdk-rtos-j721e-evm-07_03_00_07/mcusw/binary/ipc_remote_app/bin/j721e_evm/ipc_remote_app_mcu2_0_release.xer5f'.

    The required files(u-boot.img & tispl.bin) for a72 code "ti-processor-sdk-linux-j7-evm-07_03_00_05/board-support/u-boot_build/a72" didn't build.

    But when i only use -->

    UBOOT_DM=/home/linux/Documents/ti-processor-sdk-rtos-j721e-evm-07_03_00_07/mcusw/binary/cdd_ipc_profile_app/bin/j721e_evm/cdd_ipc_profile_app_mcu1_0_release.xer5f

    files get built.

    So, that was my concern.

    Please suggest a solution to this.

    Thanks & Regards,

    Tanvi

  • Hi Tanvi,

    Can you share the build logs of the successful compile when you set UBOOT_DM to cdd_ipc_profile_app_mcu1_0_release.xer5f?

    Thanks,

    Erick

  • Hi Eric,

    This is the log I got -->

    ubootLog.txt

    Thanks & Regards,

    Tanvi