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] TDA4AH-Q1: CDD IPC App example running on MCU1_0 communicating with another R5 core

Part Number: TDA4AH-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-J784S4_MCU1_0_with_MCU2_0.patch

    Changes in patch are explained below 100

    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