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.

[FAQ] TDA4VL-Q1: CDD IPC App example running on MCU1_0 communicating with another R5 core

Part Number: TDA4VL-Q1

Hello,

Can you support in extending CDD IPC app example to run on MCU1_0 communicating with MCU2_0 core ?

Regards

  • Hello,

    Since we have cdd ipc app example running on MCU2_1 communicating with MCU2_0 core i am going to extend the example by integrating SCIServer and make freertos instead of baremetal. SCIServer is mandatory to run on MCU1_0 to address the sci client requests ,as we need to create tasks (sci server and IPC) we cannot create a baremetal example so in the below patch attached i have integrated sci server with IPC , keeping sci server as high priority task and another task as IPC.

    Steps to apply the patch and see the files changed in Linux machine :

    1) Download the patch into local directory.
    2) Go into SDK 9.2 path/mcusw path
    3) git init
    4) git add .
    5) git commit -asm "Original SDK 9.2"
    6) git apply (path to patch in local directory)/(patch_name).patch
    7) git status

    0001-CDD_IPC_APP_MCU1_0_MCU2_0.patch

    Changes in patch are explained below:

    1) CddIpcApp.c , major changes in the file where sci server with high priority is integrated along with CDD IPC.

    2) CddIpcAppStartup.c , the interrupt routing needs to be taken care as per the mailbox used between MCU1_0 and MCU2_0.

    3) CddIpcR5Mpu.c, VRING address and Size needs to match with number of cores in the variant.

    4) Cdd_IpcCfg.c and Cdd_IpcCfg.h files needs to be generated from EB tresos tool to communicate with MCU2_0.

    5) linker_r5_freertos.lds linker file to match the freertos requirements.

    6) makefile & mcusw_mcal_component.mk to include cdd ipc app example to run on MCU1_0.

    7) ipc_remote/main_rtos.c to run on MCU2_0 and communicate with MCU1_0 rather than MCU2_1.

    Regards

    Tarun Mukesh