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:LDC 节点在执行大约 100 次后挂起

Guru**** 2824375 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1628842/tda4vm-ldc-node-hangs-after-executing-around-100-times

器件型号: TDA4VM

我们面临类似的问题和 TI 提供了修复,我们想确认是否同样的修复将适用于 J721S2 11.01.00.04 也,请再次分享应用的确切补丁,因为有多个迭代修复  

 

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1531549/tda4vm-q1-stuck-on-the-ldc-node/5889571?tisearch=e2e-sitesearch&keymatch=LDC%20hang

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Brijesh Yadav 请您 确认  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

     我相信你想要标签 Brijesh Jadav 。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

      我相信你想要标签 Brijesh Jadav 。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好 chenthil saminathan 

    是的、您可以禁用 LDC 节点的 wdTimer 来解决问题(在 SDK 11.02 中默认禁用此功能)

    diff --git a/pdk_j721s2_11_01_00_17/packages/ti/drv/vhwa/src/drv/vhwa_m2mLdcApi.c b/pdk_j721s2_11_01_00_17/packages/ti/drv/vhwa/src/drv/vhwa_m2mLdcApi.c
    index a0e238bc..aabee93e 100755
    --- a/pdk_j721s2_11_01_00_17/packages/ti/drv/vhwa/src/drv/vhwa_m2mLdcApi.c
    +++ b/pdk_j721s2_11_01_00_17/packages/ti/drv/vhwa/src/drv/vhwa_m2mLdcApi.c
    @@ -3635,7 +3635,7 @@ static void vhwaM2mLdcSetHtsCfg(const Vhwa_M2mLdcInstObj *instObj,
             htsCfg->pipeline        = instObj->pipeline;
             htsCfg->enableHop       = (uint32_t)UFALSE;
             htsCfg->numHop          = 0u;
    -        htsCfg->enableWdTimer = (uint32_t)UTRUE;
    +        htsCfg->enableWdTimer = (uint32_t)UFALSE;
     
             /* Enable the channel which are required */
             for (chCnt = 0; chCnt < VHWA_M2M_LDC_OUT_DMA_CH; chCnt ++)

    此致、
    Gokul

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗨、Gokul  

    我们应用了此修补程序、该修补程序在旧的 TT 中共享

    diff -git a/psdkra/pdk_jacinto_10_01_00_25/packages/ti/drv/vhwa/V0/CSL_HTS.c soc b/psdkra/pdk_jacinto_10_01_00_25/packages/ti/drv/vhwa/V0/CSL_HTS.c soc
    索引 da3a7cb0..ca09b3d8 100755
    -- A/psdkra/pdk_jacinto_10_01_00_25/packages/ti/drv/vhwa/V0/CSL_HTS.c soc
    ++ b/psdkra/pdk_jacinto_10_01_00_25/packages/ti/drv/vhwa/V0/CSL_HTS.c soc
    @@–1235、6 +1235、16 @@静态 void HtsSetSchConfig (uint32_t baseAddr、const CSL_HtsSchConfig *cfg)

    CSL_REG32_fins ((baseAddr + HWA_WDTIMER_OFFSET)、
    HTS_HWA0_WDTIMER_WDTIMER_EN、1U);
    + if ((uint32_t) UTRUE == cfg->isWdTimer128KMode)
    +{
    + CSL_REG32_fins ((baseAddr + HWA_WDTIMER_OFFSET)、
    + HTS_HWA0_WDTIMER_WDTIMER_MODE、1U);
    +}
    +其他
    +{
    + CSL_REG32_fins ((baseAddr + HWA_WDTIMER_OFFSET)、
    + HTS_HWA0_WDTIMER_WDTIMER_MODE、0U);
    +}
    }
    暴露

    diff -git soc a/psdkra/pdk_jacinto_10_01_00_25/packages/ti/drv/vhwa/V0/csl_hts.h soc b/psdkra/pdk_jacinto_10_01_00_25/packages/ti/drv/vhwa/V0/csl_hts.h
    索引 9da92907..7361ef74 100755
    -- soc A/psdkra/pdk_jacinto_10_01_00_25/packages/ti/drv/vhwa/V0/V0/csl_hts.h
    ++ soc b/psdkra/pdk_jacinto_10_01_00_25/packages/ti/drv/vhwa/V0/V0/csl_hts.h
    @@–515、6 +515、9 @@ typedef struct
    uint32_t enableWdTimer;
    /**<启用看门狗计时器*/

    + uint32_t isWdTimer128KMode;
    +/**设置为为为 WD 计时器启用 128K 模式*/
    +
    uint32_t enableBwLimit;
    /**<启用带宽限制器*/
    uint32_t cycleCnt;
    diff -git a/psdkra/pdk_jacinto_10_01_00_25/packages/ti/drv/vhwa/drvwa_m2mLdcApi.c src src
    索引 9ccdf576..7fcbb2d7 100755.
    -- A/psdkra/pdk_jacinto_10_01_00_25/packages/ti/drv/vhwa/drv/drv/vhwa_m2mLdcApi.c src
    ++ b/psdkra/pdk_jacinto_10_01_00_25/packages/ti/drv/vhwa/drv/drv/vhwa_m2mLdcApi.c src
    @@–2507,6 +2507,7 @@静态空 vhwaM2mLdcSetHtsCfg (const Vhwa_M2mLdcInstObj *instObj,
    htsCfg->enableHop =(uint32_t) UFALSE;
    htsCfg->numHop = 0u;
    htsCfg->enableWdTimer =(uint32_t) UFALSE;
    + htsCfg->isWdTimer128KMode =(uint32_t) UTRUE;

    /*启用所需的信道*/
    对于 (chCnt = 0;chCnt < VHWA_M2M_LDC_OUT_DMA_CH;chCnt ++)

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    isWdTimer128KMode 字段已添加、请您确认  

    - htsCfg->enableWdTimer =(uint32_t )UTRUE;
    + htsCfg->enableWdTimer =(uint32_t) UFALSE;

    以上变化就足够了

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Chenthil:

    抱歉、没有收到您的问题、Gokul 的回答是完全禁用 LDC WDG、但在补丁中、我为 LDC 添加了 128KCycle 选项。 因此、即使添加了 128KCycle 选项、 完全禁用 WDG 也足够了。  

    此致、

    Brijesh

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢 Brijesh Jadav 我们应用了 128KCycle 选项 并 完全禁用 WDG ,希望这应该是可以的

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    是的、 chenthil saminathan 、 在这种情况下禁用 WDG 是可以的。  

    此致、

    Brijesh