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.

[参考译文] TMS570LC4357:电源域 PD4停用(Flexray 和 FTU)导致 CPU 处于复位状态

Guru**** 2456980 points
Other Parts Discussed in Thread: TMS570LC4357, HALCOGEN

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/626147/tms570lc4357-power-domain-pd4-deactivation-flexray-and-ftu-leads-to-cpu-in-reset

器件型号:TMS570LC4357
主题中讨论的其他器件: HALCOGEN

您好!

我使用的是 TMS570LC4357、在尝试停用电源域4 (Flexray 和 FTU)时遇到了一些问题。
我想禁用电源域3、4和6。 然后、在我的代码中、我重复3次 TMS570LC4357 TRM 第5.3.4.1章中描述的逻辑、即:
写入 PDCLK_DISx 寄存器以禁用到电源域的所有时钟。
将0xA 写入 LOGICPDPWRCTRL0寄存器以关闭域电源。
(我没有对第三步进行编码、因为它是可选的、如 spna173中所示)。

我的代码如下:
//禁用电源域#3 (PCR3外设)
PDCLKDISSET->S_Fields.PDCLKDISSET1 = 1;
LOGICPDPWRCTRL0->S_Fields。LOGICPDON1 = 0xA;

//禁用电源域#4 (Flexray 和 Flexray 传输单元)
PDCLKDISSET->S_Fields.PDCLKDISSET2 = 1;
//补丁:下面的行导致 CPU 在 WinIdea 中停止(在 IDE 的右下角显示"reset"状态)。
// LOGICPDPWRCTRL0->S_Fields。LOGICPDON2 = 0xA;

//禁用电源域#6 (ePWM、eCAP、eQEP)
PDCLKDISSET->S_Fields.PDCLKDISSET4 = 1;
LOGICPDPWRCTRL1->S_Fields。LOGICPDON4 = 0xA;


如上所示执行代码(注释了 PD4断电命令)后、代码正确执行、软件继续执行。 停止执行(在调试器中)时、我可以看到状态寄存器指示电源域 PD3和 PD6处于关闭状态。 我还可以看到 PD4处于 idel 状态(因为时钟已被禁用。
如果我取消注释 PD4断电命令、当执行这一行代码时、CPU 在调试器的复位中显示为、并且我被强制执行"复位 CPU"操作、以便能够再次控制 CPU。

我已查看 TRM、数据表和勘误表(芯片 B)文档、但未列出有关此问题的任何内容、也未在 Hercules 安全微控制器论坛中列出。

您是否知道问题可能是什么?

有关信息、我使用的是 iSystem WinIdea 调试器(IC5000探针)。 我还将此帖子转发给他们的支持人员、但我认为这更像是与 TMS 相关的问题、而不是与调试器相关的问题。

谢谢、
此致、
盖尔

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

    我不熟悉您使用的结构。 它们是由 WinIdea 创建的吗? 您是否已验证生成的汇编代码是否写入正确的寄存器字节? 用于禁用电源域的 HALCoGen 函数如下所示:

    /**@fn void pmmTurnOFFLogicPowerDomain (PMM_LogicPD_t logicPD)
    *@简要关闭逻辑电源域
    *@param[in] logicPD -关闭电源域
    * - PMM_LOGICPD2:电源域 PD2将关闭
    * - PMM_LOGICPD3:电源域 PD3将关闭
    * - PMM_LOGICPD4:电源域 PD4将关闭
    * - PMM_LOGICPD5:Power Doamin PD5将关闭
    * - PMM_LOGICPD6:电源 Doamin PD5将关闭
    *
    *此函数关闭所选逻辑电源域
    *
    /
    布尔 pmmTurnOFFLogicPowerDomain (PMM_LogicPD_t logicPD)
    {
    布尔状态= true;
    
    /*用户代码开始(2)*/*
    用户代码结束*/*
    
    禁用到电源域的时钟*/
    pmmREG->PDCLKDISSET =(UINT32) 1U <<logicPD;
    
    //
    关闭域电源*/ if (logicPD == PMM_LOGICPD2)
    { pmmREG->LOGICPD 0|PWRPD0|PWR0XTRU-0XPLUGICRPD0P= P0P0PLU->PWRGICRPD0P0P0P0P0P0P0P0P0P0P0P0P0P0P0P0P0PWECCRPD->PWR
    
    
    否则(logicPD =PMM_LOGICPD3)
    {
    pmmREG->LOGICPDPWRCTRL0 =(pmmREG->LOGICPDPWRCTRL0 & 0xFFF0GICPD3)| 0x000A0000U;
    }
    否则(logicPD =PMMWFP_LOGICPD4){pMMCCR0=0xPWRPDR0PMCU=0x000RPDR0PLU=0xPMPR000RPDR000R000R000P= 0xPMPR000PMPR0PMPR0PMPRPDR0P= 0xPMPR0PMPR0PMPR0PMPR0PMPR0PMPR0PMPR0P= 0xPMPRPDR0PMPR0PMPR0PMPR0PMPR0PMPR0PMPR0PMPR0PMPR0PMPR0P= 0xPMPR000PMPR0PMPR0PMPR000PMPR0PMPR0PMPR0PMPR0PMPR0PMPRPD
    
    
    
    
    
    
    
    
    
    
    
    否则
    {
    /*输入无效*/
    状态= false;
    }
    
    if (status == true)
    {//
    等待域断电*/
    while ((pmmREG->LOGICPDPWRSTAT[logicPD]& PMM_LODICCWRSTAT)!= 0U)
    {//
    在此处添加超时代码*/}//
    
    
    
    *用户代码开始(3)*/*
    用户代码结束*/
    
    返回状态
    ;}
    
    

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

    尊敬的 Bob:

    我为我们的 DAD-A 软件项目(航空电子产品)编写了此代码、这就是为什么它看起来不像 HALCOGEN 的原因。

    我检查了汇编代码、没有与之相关的问题。

    我执行了另一项测试:在 Code Composer Studio 中使用相同的 ELF 文件、并在 USB 上连接到 COTS 板、但问题未出现>>问题似乎与 WinIdea 有关。

    我已联系他们的支持人员、等待回答。 当我收到 iSystem 支持团队的回复时、我会向 WinIdea 用户发布可能有用的信息。

    此致、

    盖尔

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

    您对该主题有什么新闻吗?

    此致、
    盖尔
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    不、我希望您能从 Windea 获得一些反馈。 我想、在他们的调试器接口中、他们可能正在读取 FlexRay 或 FTU 中的一些寄存器。 它们会得到错误响应、这可能是导致问题的原因。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Bob:

    iSystem 支持人员同意错误是 WinIdea,他们为我提供了一个新版本来纠正错误。
    我收到了 WinIdea v9.17.23,并检查了它是否纠正了错误。

    因此、对于使用带 WinIdea + IC5000探针的 TMS570LC4357 Silicon B 并遇到相同问题的任何人、您应该期望它在最新的 WinIdea 版本中得到更正。

    感谢 Bob 的回答。
    祝你度过美好的一天!

    盖尔