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.

TDA4VL-Q1: ti-processor-sdk-rtos-j721s2-evm-10_00_00_05 UDMA Resource update

Part Number: TDA4VL-Q1
Other Parts Discussed in Thread: SYSCONFIG

Tool/software:

HI!!!
Hardware : TDA4VE

PSDK version:ti-processor-sdk-rtos-j721s2-evm-10_00_00_05

sysConfig version:1.21.2

We use UDMA to capture USS data, and the code refers to the demo link below:
e2e.ti.com/.../faq-tda4vm-gpio-dma-trigger-in-tda4-and-test-in-sdk7-1,

We want to allocate 12 GPIO interrupts on MCU2_1 for UDMA capture.The question is below:
1. How can I use the sysconfig tool to modify the "start_resource" in the "rm-cfg.yaml" file? I want to modify the start_resource to 16 and num_resource to 12 on MUC2_1, I can only modify ”num_resource“ using the sysconfig tool here and the start_resource can not reach 16.


2. After configuring by "sysconfig tool", many files will be generated such as "tifs-rm-cfg.yaml", "sciclient_defaultBoardcfg_rm.c". For the 10.05 SDK, Which files need to be modified and compiled, what the steps for next work(we are using SBL boot flow)?
we have refers to the link below, and modify the num_resource to 6 on MUC2_0 for test, but the Sciclient_rmIrqSetRaw() returns -1 when dst_host_irq set 4-5.
e2e.ti.com/.../faq-tda4vm-workflow-and-resource-allocation-build-flow-for-sysconfig-tool

  • Hi,

    Have you followed the steps corresponding to boot flow (SBL) from below FAQ, after resource allocation changes.
    e2e.ti.com/.../faq-tda4vm-workflow-and-resource-allocation-build-flow-for-sysconfig-tool

    1. If you are using SBL boot flow
      1. Copy the generated sciclient_defaultBoardcfg_rm.c in PSDKRA\PDK\packages\ti\drv\sciclient\soc\V4 folder
      2. Go to PSDKRA\PDK\packages\ti\build
      3. Regenerate board config file using
        1. make sciclient_boardcfg -sj4
        2. make sciclient_boardcfg BUILD_HS=yes -sj4
      4. Rebuild all pdk libraries and SBL


    Best Regards,
    Sudheer

  • Hello, I really feel your reply!

    I have followed the steps you said, and my questions are mainly the following two questions:

    We want to allocate 12 GPIO interrupts on MCU2_1 for UDMA capture.The question is below:
    1. I want to modify the start_resource to 16 and num_resource to 12 on MUC2_1, I can only modify ”num_resource“ using the sysconfig tool here and the start_resource can not reach 16.How can I use the sysconfig tool to modify the "start_resource" ?

    2. After configuring by "sysconfig tool", many files will be generated such as "tifs-rm-cfg.yaml", "sciclient_defaultBoardcfg_rm.c". For the 10.05 SDK, Which files need to be modified and compiled, what the steps for next work(we are using SBL boot flow)?

  • Hi,

    We want to allocate 12 GPIO interrupts on MCU2_1 for UDMA capture.The question is below:
    1. I want to modify the start_resource to 16 and num_resource to 12 on MUC2_1, I can only modify ”num_resource“ using the sysconfig tool here and the start_resource can not reach 16.How can I use the sysconfig tool to modify the "start_resource" ?

    Start resource is based on order of cores get allocated. Default MCU2_0 4 resources allocated so MCU2_1 starts from 4.
    If you want MCU2_1 start from 16 then you need to allocate 16 for MCU2_0, as 16 are allocated to MCU2_0 you need to reduce the allocation from other cores.

    2. After configuring by "sysconfig tool", many files will be generated such as "tifs-rm-cfg.yaml", "sciclient_defaultBoardcfg_rm.c". For the 10.05 SDK, Which files need to be modified and compiled, what the steps for next work(we are using SBL boot flow)?

    As mentioned above for SBL, you need to use sciclient_defaultBoardcfg_rm.c file and follow below steps for SBL and DM update.

    1. If you are using SBL boot flow

    1. Copy the generated sciclient_defaultBoardcfg_rm.c in PSDKRA\PDK\packages\ti\drv\sciclient\soc\V4 folder
    2. Go to PSDKRA\PDK\packages\ti\build
    3. Regenerate board config file using
      1. make sciclient_boardcfg -sj4
      2. make sciclient_boardcfg BUILD_HS=yes -sj4
    4. Rebuild all pdk libraries and SBL


    Best Regards,
    Sudheer

  • Hello, using the reference code I mentioned above, when I change APP_NUM_CH to 12, I get an Error: [Error] UDMA channel open failed!!

    Can you help me figure out why?

    The log is as follows:

    [2024-11-25 13:31:36]  [MCU2_0]     15.947154 s: Application started...

    [2024-11-25 13:31:36]  [MCU2_0]     15.947626 s: chIdx:0 UDMA channel open sucess!

    [2024-11-25 13:31:36]  [MCU2_0]     15.947733 s: chIdx:0 UDMA TX channel config sucess!

    [2024-11-25 13:31:36]  [MCU2_0]     15.947832 s: chIdx:0 UDMA RX channel config sucess!

    [2024-11-25 13:31:36]  [MCU2_0]     15.948463 s: chIdx:1 UDMA channel open sucess!

    [2024-11-25 13:31:36]  [MCU2_0]     15.948564 s: chIdx:1 UDMA TX channel config sucess!

    [2024-11-25 13:31:36]  [MCU2_0]     15.948657 s: chIdx:1 UDMA RX channel config sucess!

    [2024-11-25 13:31:36]  [MCU2_0]     15.949256 s: chIdx:2 UDMA channel open sucess!

    [2024-11-25 13:31:36]  [MCU2_0]     15.949352 s: chIdx:2 UDMA TX channel config sucess!

    [2024-11-25 13:31:36]  [MCU2_0]     15.949444 s: chIdx:2 UDMA RX channel config sucess!

    [2024-11-25 13:31:36]  [MCU2_0]     15.950029 s: chIdx:3 UDMA channel open sucess!

    [2024-11-25 13:31:36]  [MCU2_0]     15.950125 s: chIdx:3 UDMA TX channel config sucess!

    [2024-11-25 13:31:36]  [MCU2_0]     15.950216 s: chIdx:3 UDMA RX channel config sucess!

    [2024-11-25 13:31:36]  [MCU2_0]     15.950804 s: chIdx:4 UDMA channel open sucess!

    [2024-11-25 13:31:36]  [MCU2_0]     15.950897 s: chIdx:4 UDMA TX channel config sucess!

    [2024-11-25 13:31:36]  [MCU2_0]     15.950989 s: chIdx:4 UDMA RX channel config sucess!

    [2024-11-25 13:31:36]  [MCU2_0]     15.951207 s: [UDMA]

    [2024-11-25 13:31:36]  [MCU2_0]     15.951223 s: [Error] RM Alloc Blkcpy Ch failed!!!

    [2024-11-25 13:31:36]  [MCU2_0]     15.951248 s: [UDMA]

    [2024-11-25 13:31:36]  [MCU2_0]     15.951260 s: [Error] Channel resource allocation failed!!

    [2024-11-25 13:31:36]  [MCU2_0]     15.951281 s: [Error] UDMA channel open failed!!

    Some of the code is as follows:

    static int32_t App_create(App_Obj *appObj)
    {
    int32_t retVal = UDMA_SOK;
    uint32_t chType;
    Udma_ChPrms chPrms;
    Udma_ChTxPrms txPrms;
    Udma_ChRxPrms rxPrms;
    Udma_EventHandle eventHandle;
    Udma_EventPrms eventPrms;
    SemaphoreP_Params semPrms;
    int32_t chIdx;
    App_ChObj *appChObj;
    Udma_ChHandle chHandle;
    Udma_DrvHandle drvHandle = appObj->drvHandle;

    for(chIdx = 0U; chIdx < APP_NUM_CH; chIdx++)
    {
    appChObj = &appObj->appChObj[chIdx];
    chHandle = appChObj->chHandle;

    SemaphoreP_Params_init(&semPrms);
    appChObj->transferDoneSem = SemaphoreP_create(0, &semPrms);
    if(NULL == appChObj->transferDoneSem)
    {
    App_print("[Error] Sem create failed!!\n");
    retVal = UDMA_EFAIL;
    }

    if(UDMA_SOK == retVal)
    {
    /* Init channel parameters */
    chType = UDMA_CH_TYPE_TR_BLK_COPY;
    UdmaChPrms_init(&chPrms, chType);
    chPrms.fqRingPrms.ringMem = appChObj->txRingMem;
    chPrms.cqRingPrms.ringMem = appChObj->txCompRingMem;
    chPrms.tdCqRingPrms.ringMem = appChObj->txTdCompRingMem;
    chPrms.fqRingPrms.ringMemSize = APP_RING_MEM_SIZE;
    chPrms.cqRingPrms.ringMemSize = APP_RING_MEM_SIZE;
    chPrms.tdCqRingPrms.ringMemSize = APP_RING_MEM_SIZE;

    chPrms.fqRingPrms.elemCnt = APP_RING_ENTRIES;
    chPrms.cqRingPrms.elemCnt = APP_RING_ENTRIES;
    chPrms.tdCqRingPrms.elemCnt = APP_RING_ENTRIES;

    /* Open channel for block copy */
    retVal = Udma_chOpen(drvHandle, chHandle, chType, &chPrms);
    if(UDMA_SOK != retVal)
    {
    App_print("[Error] UDMA channel open failed!!\n");
    }
    else
    {
    printf("chIdx:%d UDMA channel open sucess!\n" , chIdx);
    }
    }

    if(UDMA_SOK == retVal)
    {
    /* Config TX channel */
    UdmaChTxPrms_init(&txPrms, chType);
    retVal = Udma_chConfigTx(chHandle, &txPrms);
    if(UDMA_SOK != retVal)
    {
    App_print("[Error] UDMA TX channel config failed!!\n");
    }
    else
    {
    printf("chIdx:%d UDMA TX channel config sucess!\n" , chIdx);
    }
    }

    if(UDMA_SOK == retVal)
    {
    /* Config RX channel - which is implicitly paired to TX channel in
    * block copy mode */
    UdmaChRxPrms_init(&rxPrms, chType);
    retVal = Udma_chConfigRx(chHandle, &rxPrms);
    if(UDMA_SOK != retVal)
    {
    App_print("[Error] UDMA RX channel config failed!!\n");
    }
    else
    {
    printf("chIdx:%d UDMA RX channel config sucess!\n" , chIdx);
    }
    }

    if(UDMA_SOK == retVal)
    {
    /* Register ring completion callback - for the last channel only */
    eventHandle = &appChObj->cqEventObj;
    UdmaEventPrms_init(&eventPrms);
    eventPrms.eventType = UDMA_EVENT_TYPE_DMA_COMPLETION;
    eventPrms.eventMode = UDMA_EVENT_MODE_SHARED;
    eventPrms.chHandle = chHandle;
    eventPrms.masterEventHandle = Udma_eventGetGlobalHandle(drvHandle);
    eventPrms.eventCb = &App_eventDmaCb;
    eventPrms.appData = appChObj;
    retVal = Udma_eventRegister(drvHandle, eventHandle, &eventPrms);
    if(UDMA_SOK != retVal)
    {
    App_print("[Error] UDMA CQ event register failed!!\n");
    }
    else
    {
    appChObj->cqEventHandle = eventHandle;
    }
    }

    if(UDMA_SOK == retVal)
    {
    /* Register teardown ring completion callback */
    eventHandle = &appChObj->tdCqEventObj;
    UdmaEventPrms_init(&eventPrms);
    eventPrms.eventType = UDMA_EVENT_TYPE_TEARDOWN_PACKET;
    eventPrms.eventMode = UDMA_EVENT_MODE_SHARED;
    eventPrms.chHandle = chHandle;
    eventPrms.masterEventHandle = Udma_eventGetGlobalHandle(drvHandle);
    eventPrms.eventCb = &App_eventTdCb;
    eventPrms.appData = appChObj;
    retVal = Udma_eventRegister(drvHandle, eventHandle, &eventPrms);
    if(UDMA_SOK != retVal)
    {
    App_print("[Error] UDMA Teardown CQ event register failed!!\n");
    }
    else
    {
    appChObj->tdCqEventHandle = eventHandle;
    }
    }

    if(UDMA_SOK == retVal)
    {
    /* Channel enable */
    retVal = Udma_chEnable(chHandle);
    if(UDMA_SOK != retVal)
    {
    App_print("[Error] UDMA channel enable failed!!\n");
    }
    }

    if(UDMA_SOK != retVal)
    {
    break;
    }
    }

    /* Setup GPIO Pinmux */
    App_setupPinmux();

    /* Initialize GPIO now here */
    App_initGpio();

    /* Configure GPIO Mux to output event on Interrupt Aggregrator */
    App_setupGpioMuxIr();

    /* Setup L2G register to map local event to Global event */
    App_setupL2G(appObj, 1);

    return (retVal);
    }
  • HI,

    You are running MUC2_0 core or MCU2_1 core?

    From error it seems like RM Block copy channel failed.
    Can you please share your sysconfig file for review?

    Best Regards,
    Sudheer

  • HI,

    The application is currently running on mcu2_0, and I want to change to mcu2_1 in the future.

    I use the default sysconfig file,please help me to look at it.j721s2-evm.rar

  • Hi,

    I guess it may be that the amount of RM Block copy channel Num configured is not enough. But I don't know how to change, can you guide me to change?

  • You need to allocate more block copy channels to this core using sysconfig tool. 

    Regards,

    Brijesh

  • Can you change it for me based on the default configuration? I expect 12 channels on MCU2_1.

  • Please refer to faq and then change the number of block copy channels for mcu2_1.. 

    Regards,

    Brijesh

  • Hello.

    As shown in the following figure, after the number of block copy channels is changed to 12, the following error occurs."[Error] RM PSI Pairing failed!!!"  This is my syscfg configuration filenum_block_cp_ch.rar


    [MCU2_1]     11.750809 s:  VX_ZONE_INIT:Enabled
    [MCU2_1]     11.750831 s:  VX_ZONE_ERROR:Enabled
    [MCU2_1]     11.750849 s:  VX_ZONE_WARNING:Enabled
    [MCU2_1]     11.752131 s:  VX_ZONE_INIT:[tivxPlatformCreateTargetId:124] Added target MCU2-1
    [MCU2_1]     11.752227 s:  VX_ZONE_INIT:[tivxPlatformCreateTargetId:124] Added target DMPAC_SDE
    [MCU2_1]     11.752316 s:  VX_ZONE_INIT:[tivxPlatformCreateTargetId:124] Added target DMPAC_DOF
    [MCU2_1]     11.752357 s:  VX_ZONE_INIT:[tivxInitLocal:136] Initialization Done !!!
    [MCU2_1]     11.752382 s: APP: OpenVX Target kernel init ... !!!
    [MCU2_1]     11.752451 s: APP: OpenVX Target kernel init ... Done !!!
    [MCU2_1]     11.752476 s: APP: Init ... Done !!!
    [MCU2_1]     11.752498 s: [Bruce1337]:enter appGpioInit!!
    [MCU2_1]     11.753866 s: [Bruce303]:App_init Done!!
    [MCU2_1]     11.753888 s: Application started...
    [MCU2_1]     11.754302 s: [UDMA]
    [MCU2_1]     11.754322 s: [Error] RM PSI Pairing failed!!!
    [MCU2_1]     11.754343 s: [UDMA]
    [MCU2_1]     11.754356 s: [Error] UDMA channel paring failed!!
    [MCU2_1]     11.754388 s: [Error] UDMA channel open failed!!

  • Hi,

    It looks like your are running GPIO example along with Vision Apps on MCU2_1.

    When you are combining multiple applications, need to take care the resources required for all together are allocated to that core or not.

    As requested above, have you checked your GPIO example after modifying the resource allocation.

    Best Regards,
    Sudheer

  • Hi,

    Do you mean the 'modify the start_resource to 16 and num_resource to 12 on MUC2_1 'I mentioned earlier? Since the RM Block copy channel reported an error first, I was worried that the aforementioned changes of 'modify the start_resource to 16 and num_resource to 12 on MUC2_1 'would increase the complexity of the problem. So I haven't changed start_resource and num_resource in my current program.

  • Hi,

    If you allocate the resources properly and use the updated RM files as per FAQ. Ideally it suppose to work.

    can you check, are you calling UMDA_init at multiple places in your application?
    Also, the udmaDrvHandle is same used for all UDMA operations or not?

    You should have single udma_init call from application per core.
    Also, should use same udmaDrvhandle for all UDMA operations.

    Best Regards,
    Sudheer

  • Hello, I only have one place to call UMDA init。

  • Hi,

    Hello, I only have one place to call UMDA init。
    Also, should use same udmaDrvhandle for all UDMA operations.

    If so, check are using same UDMA DrvHandle for all DMA operations?
    Also, check all the resources required by your application are available or not?

    Best Regards,
    Sudheer

  • Hello.
    1. On MCU2_1, I currently have a place to use the UDMA DrvHandle.
    2.“check all the resources required by your application are available or not?” I am using the num_block_cp_ch.rar syscfg file generated in the above dialog to configure the resource sciclient_defaultBoardcfg_rm.c.
    3. Let me describe my question:
    Based on the original MCU2_1 program in the TI SDK, I changed APP_NUM_CH to 12, and when executing retVal = Udma_chOpen(drvHandle, chHandle, chType, &chPrms); [Error] RM Alloc Blkcpy Ch failed!! . I guess it may be that the amount of RM Block copy channel Num configured is not enough.
    I use the sysconfig tool to assign MCU2_1's block copy channel to 12 and report "[Error] RM PSI Pairing failed!!!" I now suspect that I configured the sysconfig tool incorrectly or that some of the operations were missing. Could you help me analyze whether there is a problem with the num_block_cp_ch.rar syscfg file in the above dialog?

  • Hi,

    Can you please check any where PSIL pairing is requested directly anywhere from your applications running on MCU2_1?
    If you are using UDMA Driver calls every where, it is not expected a fail for PSIL pairing.

    Could you help me analyze whether there is a problem with the num_block_cp_ch.rar syscfg file in the above dialog?

    It seems to be fine for allocation of number of block copy channels for MCU2_1.

    Can you check what is the error return in "Sciclient_rmPsilPair" API from "Sciclient_service" call.
    Also, share the values of "
    sciResp" from Sciclient_rmPsilPair API after "Sciclient_service" call.

    Best Regards,
    Sudheer

  • Hi,

    "sciResp" in the Sciclient rmPsilPair API:

    sciResp.flags = 0x00;

    sciResp.pRespPayload = 0x80122560000;

  • Hi,

    sciResp.flags = 0x00;

    It seems message is not acknowledged.

    sciResp.pRespPayload = 0x80122560000;

    Payload is uint8_t pointer, you can print the payload elements byte by byte until payload size.

    Also, can you please confirm are you running other applications as well along with GPIO application. If so, what is total resources required.

    Can you please check what is chHandle->txChNum & chHandle->rxChNum you are getting before PSIL pairing request?

    Best Regards,
    Sudheer

  •     Sudheer:“Payload is uint8_t pointer, you can print the payload elements byte by byte until payload size.”

    [junior Debug:414] sciResp.flags=[0x0]!
    [junior Debug:416] sciResp.pRespPayload:data[0] = 80 data[1] = 12 data[2] = 25 data[3] = 6 data[4] = 0 data[5] = 0 data[6] = 0 data[7] = 0

    Sudheer:“Also, can you please confirm are you running other applications as well along with GPIO application. If so, what is total resources required.”

     I'm not running other applications.I need to change the Main GPIO Interrupt router Count to 12 later. Since I have encountered DMA errors now, in order to prevent the problem from becoming complicated, I have not changed it at present.

    Sudheer:Can you please check what is chHandle->txChNum & chHandle->rxChNum you are getting before PSIL pairing request?

    chHandle->txChNum = 15,chHandle->rxChNum = 15

    MCU2_1 Log:

    [MCU2_1]      5.783304 s: CIO: Init ... Done !!!
    [MCU2_1]      5.783357 s: ### CPU Frequency = 1000000000 Hz
    [MCU2_1]      5.783381 s: CPU is running FreeRTOS
    [MCU2_1]      5.783398 s: APP: Init ... !!!
    [MCU2_1]      5.783429 s: SCICLIENT: Init ... !!!
    [MCU2_1]      5.783541 s: SCICLIENT: DMSC FW version [10.0.8--v10.00.08 (Fiery Fox)]
    [MCU2_1]      5.783570 s: SCICLIENT: DMSC FW revision 0xa
    [MCU2_1]      5.783589 s: SCICLIENT: DMSC FW ABI revision 4.0
    [MCU2_1]      5.783609 s: SCICLIENT: Init ... Done !!!
    [MCU2_1]      5.783626 s: UDMA: Init ... !!!
    [MCU2_1]      5.784419 s: UDMA: Init ... Done !!!
    [MCU2_1]      5.784445 s: MEM: Init ... !!!
    [MCU2_1]      5.784469 s: MEM: Created heap (DDR_LOCAL_MEM, id=0, flags=0x00000004) @ ba000000 of size 16777216 bytes !!!
    [MCU2_1]      5.784512 s: MEM: Init ... Done !!!
    [MCU2_1]      5.784529 s: IPC: Init ... !!!
    [MCU2_1]      5.784561 s: IPC: 5 CPUs participating in IPC !!!
    [MCU2_1]      5.784589 s: IPC: Waiting for HLOS to be ready ... !!!
    [MCU2_1]     11.877315 s: IPC: HLOS is ready !!!
    [MCU2_1]     11.880156 s: IPC: Init ... Done !!!
    [MCU2_1]     11.880203 s: APP: Syncing with 4 CPUs ... !!!
    [MCU2_1]     11.880232 s: APP: Syncing with 4 CPUs ... Done !!!
    [MCU2_1]     11.880255 s: REMOTE_SERVICE: Init ... !!!
    [MCU2_1]     11.880468 s: REMOTE_SERVICE: Init ... Done !!!
    [MCU2_1]     11.880503 s: FVID2: Init ... !!!
    [MCU2_1]     11.880551 s: FVID2: Init ... Done !!!
    [MCU2_1]     11.880676 s:  VX_ZONE_INIT:Enabled
    [MCU2_1]     11.880702 s:  VX_ZONE_ERROR:Enabled
    [MCU2_1]     11.880719 s:  VX_ZONE_WARNING:Enabled
    [MCU2_1]     11.882014 s:  VX_ZONE_INIT:[tivxPlatformCreateTargetId:124] Added target MCU2-1
    [MCU2_1]     11.882106 s:  VX_ZONE_INIT:[tivxPlatformCreateTargetId:124] Added target DMPAC_SDE
    [MCU2_1]     11.882199 s:  VX_ZONE_INIT:[tivxPlatformCreateTargetId:124] Added target DMPAC_DOF
    [MCU2_1]     11.882237 s:  VX_ZONE_INIT:[tivxInitLocal:136] Initialization Done !!!
    [MCU2_1]     11.882260 s: APP: OpenVX Target kernel init ... !!!
    [MCU2_1]     11.882281 s: APP: OpenVX Target kernel init ... Done !!!
    [MCU2_1]     11.882347 s: APP: Init ... Done !!!
    [MCU2_1]     11.882368 s: [Bruce1337]:enter appGpioInit!!
    [MCU2_1]     11.883734 s: [Bruce303]:App_init Done!!
    [MCU2_1]     11.883754 s: Application started...
    [MCU2_1]     11.883803 s: [UDMA]
    [MCU2_1]     11.883817 s: >>>>>>>>>>>>>drvHandle->initPrms.rmInitPrms.numBlkCopyCh = c!!!
    [MCU2_1]     11.883847 s: [UDMA]
    [MCU2_1]     11.883859 s: >>>>>>>>>>>>>drvHandle->initPrms.rmInitPrms.startBlkCopyCh = f!!!
    [MCU2_1]     11.883887 s: [UDMA]
    [MCU2_1]     11.883900 s: >>>>>>>>>>>>> chNum= f!!!
    [MCU2_1]     11.884248 s: [UDMA]
    [MCU2_1]     11.884260 s: >>>>>>>>chHandle->txChNum = 15,chHandle->rxChNum = 15
    [MCU2_1]     11.884348 s: [junior Debug:414] sciResp.flags=[0x0]!
    [MCU2_1]     11.884417 s: [junior Debug:416] sciResp.pRespPayload:data[0] = 0x80 data[1] = 0x12 data[2] = 0x25 data[3] = 0x6 data[4] = 0x0 data[5] = 0x0 data[6] = 0x0 data[7] = 0x0
    [MCU2_1]     11.884464 s: [UDMA]
    [MCU2_1]     11.884477 s: [Error] RM PSI Pairing failed!!!
    [MCU2_1]     11.884496 s: [UDMA]
    [MCU2_1]     11.884508 s: [Error] UDMA channel paring failed!!
    [MCU2_1]     11.884540 s: [Error] UDMA channel open failed!!
    

    MCU2_1 appMain code:

    extern int32_t appGpioInit(void);
    static void appMain(void* arg0, void* arg1)
    {
        appInit();
        appGpioInit();
        appRun();
        #if 1
        while(1)
        {
            appLogWaitMsecs(100u);
        }
        #else
        appDeInit();
        #endif
    }

  • Hi,

    [junior Debug:414] sciResp.flags=[0x0]!
    [junior Debug:416] sciResp.pRespPayload:data[0] = 80 data[1] = 12 data[2] = 25 data[3] = 6 data[4] = 0 data[5] = 0 data[6] = 0 data[7] = 0

    Sudheer:“Also, can you please confirm are you running other applications as well along with GPIO application. If so, what is total resources required.”

     I'm not running other applications.I need to change the Main GPIO Interrupt router Count to 12 later. Since I have encountered DMA errors now, in order to prevent the problem from becoming complicated, I have not changed it at present.

    Sudheer:Can you please check what is chHandle->txChNum & chHandle->rxChNum you are getting before PSIL pairing request?

    chHandle->txChNum = 15,chHandle->rxChNum = 15

    Above Log looks fine for the request. I can suspect information RM & PM update at TIFS during boot flow.

    If you are using SBL boot flow
    1. Copy the generated sciclient_defaultBoardcfg_rm.c in PSDKRA\PDK\packages\ti\drv\sciclient\soc\V4 folder
    2. Go to PSDKRA\PDK\packages\ti\build
    3. Regenerate board config file using
      1. make sciclient_boardcfg -sj4
      2. make sciclient_boardcfg BUILD_HS=yes -sj4
    4. Rebuild all pdk libraries and SBL

    Can you confirm, have you rebuild all pdk libraries (# make pdk_libs) & SBL?
    Also, MCU1_0 application also clean build right?

    Can you please confirm which boot flow you are using? also confirm have you take care of steps as per boot flow for board config update?

    Best Regards,
    Sudheer

  • Hi,

    yes,I am using SBL boot flow.

    I rebuild all pdk libraries (# make pdk_libs) and mcu1_0 app. I did not rebuild SBL.

  • Hi,

    I rebuild all pdk libraries (# make pdk_libs) and mcu1_0 app. I did not rebuild SBL.

    This could be problem, as SBL will share the Board configuration and RM, PM information to TIFS (DMSC core).
    Above PSIL pair request will be submitted to DMSC core from Resource manager (DM) but, as per default these resource is not allocated to MCU2_1 so request is failing.

    Please rebuild SBL and use the updated binary.

    Rebuild of SBL Is already mentioned in FAQ as well, and explicitly mentioned in thread as well.

    Best Regards,
    Sudheer

  • Hi,

    Can you also, copy the "sciclient_defaultBoardcfg_tifs_rm.c" file as well along with sciclient_defaultBoardcfg_rm.c to PSDKRA\PDK\packages\ti\drv\sciclient\soc\V4 folder and follow the steps mentioned in FAQ.

    Best Regards,
    Sudheer