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: TIDL Demo cause mcu1_0 abnormal

Part Number: TDA4VM

Hi TI,

I have problem with the tidl demo app.

Software environment:
My mcu1_0 is running mcusw standalone.
My mcu2_0 mcu2_1 c6x1 c6x2 c7x running ti vision_app
My mpu is running Linux system

issue:
When the whole system startuped, every mcu is running normally, BUT when I execute ./run_app_tidl.sh script to start tidl demo, the mcu1_0, which is running mcusw, will stuck/crash, meanwhile mcu2_0,mcu2_1,c6x1,
c6x2,c7x are still fine.

Can you help me to idnetify what may caused the problem?

Regards

Ding

  • Hi Ding,

    Are you able to run any of the vision_apps demo? I would like to know if this is an issue specifically with just the tidl demo application, or the issue is with all the vision_apps demos.

    Regards,

    Takuma

  • Hi Takuma.
    Here is the result for running demos in /opt/vision_apps directory:
    1) This is the list for the demo app which will interference the mcu1_0/mcusw's running.
    run_app_tidl.sh(which we talk about)
    run_app_tidl_16bit.sh
    run_app_srv_avp.sh
    run_app_tidl_avp.sh
    run_app_tidl_avp2.sh
    run_app_tidl_avp3.sh
    run_app_tidl_od.sh
    run_app_tidl_seg.sh
    run_app_tidl_seg_16bit.sh
    run_app_tidl_vl.sh
    2) Other demo app will not kill the mcu1_0, even though some of them not really running, because its need some kind of configuration to be done(if not,it just print error message and return).
    3) Utilities like vx_app_arm_ipc.out,vx_app_arm_mem.out,vx_app_arm_remote_log.out..., works fine.
    It seems that MCUSW is incompatible with Vision APP. If MCU1_ 0 runs the demo ipc_echo_testb_mcu1_0_release_strip.xer5f/vx_app_rtos_linux_mcu1_0.out
    , and everything is normal. I hope to get your advice?
    Regards
    Ding
  • Hello Ding,

    May I know in which SDK version are you seeing this issue?


    If MCU1_ 0 runs the demo ipc_echo_testb_mcu1_0_release_strip.xer5f/vx_app_rtos_linux_mcu1_0.out

    Do you mean if MCU1_0 runs the demo ipc_echo_testb_mcu1_0_release_strip.xer5f, you are not seeing the issue?

    Could you provide the full logs or your observation when the mcu1_0 is getting stuck.

    Are there any memory related changes done such as modifying the memory configurations?

    Regards,
    Nikhil

  • Hi Nikhil,

    My SDK vision is:

    ti-processor-sdk-linux-j7-evm-08_00_00_08-Linux-x86

    ti-processor-sdk-rtos-j721e-evm-08_00_00_12

    Nikhil said:

    Do you mean if MCU1_0 runs the demo ipc_echo_testb_mcu1_0_release_strip.xer5f, you are not seeing the issue?

    Yes,If I use ipc_echo_testb_mcu1_0_release_strip.xer5f,Everything is ok.

    Nikhil said:

    Are there any memory related changes done such as modifying the memory configurations?

    No, I didnt do any memory change.

    My mcu1_0 is running original mcusw. No extra log output when the mcu1_0 is getting stuck.

    Besides,I have a new discovery. When I commented out the following line of code, run tidl demo again, MCU1_ 0 will not get stuck.

    status = vxProcessGraph(obj->graph);

    Regards
    Ding
  • Hi Ding,

    Yes,If I use ipc_echo_testb_mcu1_0_release_strip.xer5f,Everything is ok.

    This is the default test that would be running in the mcu1_0 that is as provided in the SDK.

    May I know which SW or binary are you trying to run on mcu1_0? Is it something from the mcuss_demos or have you created your own mcusw?


    Besides,I have a new discovery. When I commented out the following line of code, run tidl demo again, MCU1_ 0 will not get stuck.

    If you comment out this line, then the application itself will not run as this line begins the application by starting the graph. This action is similar to not running the tidl application.

    Regards,
    Nikhil

  • Hi Nikhil,

    Thank you for your patience.

    The project paths we use are as follows: /mcusw/mcuss_demos/profiling/cddIpc,And we have modified the project:

    1pdk_jacinto_08_00_00_37/packages/ti/kernel/freertos/config/j721e/r5f/FreeRTOSConfig.h

    #define configMAX_PRIORITIES                    (32)

    #define configUSE_STATS_FORMATTING_FUNCTIONS    (1)

     

    2mcusw/mcuss_demos/profiling/cddIpc/overrides/j721e/r5_mpu_freertos.c

    Modify the following

        {

            /* Region 7 configuration: Ring Buffer uncached.... */

            .regionId         = 7U,

            .enable           = 1U,

            .baseAddr         = 0xB0000000,

            .size             = CSL_ARM_R5_MPU_REGION_SIZE_32MB,

            .subRegionEnable  = CSL_ARM_R5_MPU_SUB_REGION_ENABLE_ALL,

            .exeNeverControl  = 0U,

            .accessPermission = CSL_ARM_R5_ACC_PERM_PRIV_USR_RD_WR,

            .shareable        = 1U,

           .cacheable        = (uint32_t)FALSE,

            .cachePolicy      = CSL_ARM_R5_CACHE_POLICY_NON_CACHEABLE,

            .memAttr          = 0U,

        },

    Add the following

        {

            //Region 9 configuration: Covers first 64MB of EVM Flash (FSS DAT0) *

            .regionId         = 9U,

            .enable           = 1U,

            .baseAddr         = 0x97000000,

            .size             = CSL_ARM_R5_MPU_REGION_SIZE_16MB,

            .subRegionEnable  = CSL_ARM_R5_MPU_SUB_REGION_ENABLE_ALL,

            .exeNeverControl  = 0U,

            .accessPermission = CSL_ARM_R5_ACC_PERM_PRIV_USR_RD_WR,

            .shareable        = 0U,

            .cacheable        = (uint32_t)TRUE,

            .cachePolicy      = CSL_ARM_R5_CACHE_POLICY_WB_WA,

            .memAttr          = 0U,

        },

     3Ported IPC functionality in : mcusw/mcuss_demos/profiling/cddIpcRPocLinux

    4Modify the IPC Ringaddress to 0xB0000000:

    CDD_IPC_CONFIG_DATA_SECTION CONST(Cdd_IpcConfigType, CDD_IPC_CONFIG_DATA)

                CddIpcConfiguraions_PC =

    {

    .........

        .vertIoCfg =

        {

            .vertIoRingAddr = (void *)0xB0000000U,

            /**< Defines address that shall be shared between cores */

            .vertIoRingSize = 0x02000000U,

            /**< Size of the shared memory */

            .reserved = 0U,

            /**< Future use if any */

        },

    ......

    };

    5Added some tasksmboxsemphore  for KEY, LCD control

    Please help to check why these changes conflict with TIDL Demo, and resulting in getting stuck.When I commented out vxProcessGraph(obj->graph), MCU1_ 0 will not get stuck.

    Regards
    Ding
  • Hi Nikhil,

    Can you give me some advice on this question?

    Best Regards
    Ding
  • Hi Ding,

    Could you please check if the behavior is the same by just running the cddIpc example?
    This way we could narrow down the issue.

    Regards,
    Nikhil

  • Hi Nikhil,

    Now, the problem has been solved. Thanks for your tracking. This thread can be closed,

    Best Regards
    Ding