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.

[参考译文] CCS/TMS570LC4357:未针对加电和 CPU 复位更新 SYSESR

Guru**** 2611705 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/766298/ccs-tms570lc4357-sysesr-is-not-updated-for-power-on-and-cpu-resets

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

工具/软件:Code Composer Studio

大家好、

我们使用的是采用 CCS8.0的 TMS570LC4357控制器。 我们可以看到、使用 Halcogen 生成的具有简单主函数的代码、对于系统复位、代码运行正常。

但是、对于 CPU 或上电复位、不会相应地更新 SYSESR 寄存器值、这会导致在 startup.c 文件中的开关情况下缺少某些功能的执行。
注意:请查找报告问题时捕获的快照(请查找 SysESR 寄存器)。

请您仔细研究一下这一点并告诉我们前进的道路吗?

此致、
Shivam。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    当检测到上电复位时、将设置 SYSESR 寄存器中的 PORST 位。 在 sys_startup.c 中,调用 getResetSource(),在这种情况下,上电复位 SYSESR 被清除。

    /*清除所有异常状态标志并在通电后继续进行*/
    SYS_EXception = 0x0000FFFFU;

    如果您想更改此行为总线、则无法正确识别下一个复位源(在上电复位时也设置 EXTRST)。

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

    是的、我们在 getResetSource 函数中注释了清除 SYSESR 寄存器的代码并对其进行了测试。 正如您在快照中看到的、该值不会更新。 您能否交叉检查并确认这一点。 原因是初始化会因 getResetSource 函数返回的状态而异、因此我们将获得与此相关的 wid 行为。
    SysESR 寄存器可能更新位较晚、但必须确认。 在大多数情况下、我们可以看到 SysESR 寄存器正在被清除。

    此致、
    M.Sreenivasan。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    您可以读取 SYSESR 寄存器并检查是否设置了位15。 然后将任何未使用的引脚驱动为高电平。 通过这种方法、您可以检查是否设置了 PORST。

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

    在有问题的情况下、上电复位后、SYSESR 位15未置位。

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

    由于问题尚未解决,请不要保留问题的状态。 请帮助我们了解这种行为。

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

    您好!

    我将在我的位置执行一些测试。

    此致、

    米罗

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

    对此进行了任何更新?

    此致、
    M.Sreenivasan。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    我进行了一些测试。
    在 hL_system.c 中、在" if ((SYS_EXception &(uint32) power_reset)!= 0U){"之后
    我说:
    systemREG1->ECPCNTL = 0x01800003;
    systemREG1->SYSPC1 = 0x01;

    在 systemInit 中的同一文件中,我会进行注释
    //systemREG1->SYSPC1 = 0U;

    /**-设置 ECLK */
    //systemREG1->ECPCNTL =(uint32)((uint32) 0U <<24U)
    // |(UINT32)((UINT32) 0U <<23U)
    // |(uint32)((uint32)(8U - 1U)& 0xFFFFFFU);

    在 ECLK1引脚上的 PORTST 之后、我可以看到 OSCIN。
    这意味着 PORST 位被置位。

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

    您能不能向我们分享芯片版本详细信息。

    此致、
    M.Sreenivasan。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    在我的办公桌上、我得到了原型 TMP。
    您是否尝试过我在上面发布的内容?


    此致、
    米罗
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    我将关闭此主题、因为它上没有任何活动。 您始终可以重新打开它或发布新的。

    此致、
    米罗