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.

[参考译文] AM62A7-Q1:如何了解重新启动的原因?

Guru**** 2465890 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1457327/am62a7-q1-how-can-i-obtain-the-reason-for-the-restart

器件型号:AM62A7-Q1

工具与软件:

您好、TI 专家

想问一下、芯片重启后、怎么能得到重启的正确原因?

我想知道如何触发软件重启并正确确定重启的原因吗?

我还想知道、如果它是看门狗重新启动、如何指示重新启动的原因、它能否与软件重新启动区分开来?

我希望收到您的回答

BR、

Huang

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

    尊敬的 Expert:

    您能帮助了解这个主题吗?

    BR、

    Biao

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

    您好、Qingzhe:

    离线排列后、我已经为您提供了一些指南、我们可以从以下寄存器中找到复位原因:WKUP_CTRL_MMR1_RST_SRC;

    我还向您提供此信息、以便通过软件对器件进行复位。

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1237209/faq-am64x-how-to-reset-warm-reset-the-soc 从软件?tidearch=e2e-sitesearch&keymatch=WARM%20reset#

    我想您的真实问题是、 当您触发软件复位时、没有记录  WKUP_CTRL_MMR1_RST_SRC、对吗? 该寄存器将始终为0。

    SW 复位或 PMIC WD 复位 您需要知道如何记录软件复位。

    尊敬的 Anil:

    我已澄清客户向您提出的问题、请帮助您进行检查。

    BR、

    Biao  

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

    您好、Biao & Anil

    是的、我只是想了解重新启动的正确原因、以便稍后分析问题。 此外、我想知道此寄存器中反映的每次重新启动原因的详细含义? 在哪里可以获得详细说明? 这里的描述非常简短、我不太明白它们的含义

    BR、

    Huang

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

    尊敬的 Huang:

    主题专家本周及下周不在办公室。 因此、对该线程的响应将会延迟。 感谢您的耐心。

    同时、可在部分找到上述复位类型的详细信息 6.3.5重置详情 状态 TRM.

    此致、

    Tushar

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

    Tushar、您好

    您能在专家返回后立即帮助我解决这个问题吗?或者是否有其他专家可以在他的假期中为我提供帮助?

    BR、

    Huang

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

    尊敬的 Huang:

    您能告诉我们您不理解或不清楚重置的具体部分吗?

    如果您不清楚寄存器中的每个位意味着什么、请参阅 TRM 部分  14.2.1.3.258.1 WKUP_MMR0_WKUP_CTRL_MMR0_RST_SRC  以了解详细信息。

    请参阅下面的屏幕截图。

    另请参阅 6.3.3.1复位状态寄存器

    此致、

    Tushar

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

    您好、Anil

    我想问,调用 Scicontent_pmDeviceReset()接口后,然后使用 SOC_getWarmResetCaseMainDomain()来获取复位原因,我总是读取0而不是显示为软件复位。 我对此感到非常困惑、请问原因是什么?

    BR、

    Huang

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

    您好、黄

    在执行"Reset"后、"Reset Reason (复位原因)"为零、并且这种行为不正确。
    我认为、在您阅读"重置原因"状态之前、您正在清除原因。
    或者上述 API 无法进行复位、因此默认情况下、您将读取0x00值  

    此致、

    Anil。

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

    您好、Anil

    我不清楚原因,我只是直接调用 SOC_getWarmResetCauseMainDomain()接口来读取它的返回值并打印出来,但打印出来的结果是0。 调用 Scicontent_pmDeviceReset()接口时、机器将经历重新启动、因此我相信它是有效的。

    BR、

    Huang

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

    大家好、Anil 和 Biao

    我进行了一个实验,我调用 Scicontent_pmDeviceReset()每30秒,以执行软件热复位,而车载电脑未通电。 复位后、我通过 SOC_getWarmResetCauseMainDomain()读取复位原因。 但是、每次软件复位后、读取重新启动原因显示不同的情况、如下所示。 有时会指示复位原因是冷复位、有时则指示复位原因是软件复位。 这是什么原因呢?

    BR、

    Huang

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

    您好、黄

    根据上述结果、您的理解是正确的。

    SOC 有时会经历 POR 和 WarmReset。

    如果上面的寄存器值为零、那么毫无疑问、您的应用只是执行 POR、并且还有其他可能。

    除 POR 之外、该寄存器永远不会被清除。

    查看此 POR 是否来自 PMIC 或 HW MCU_PORz 引脚。

    以下链接有助于进一步调试复位问题、并根据调试指南按照以下步骤操作。

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1421267/faq-am6x-device-reset-troubleshooting-document

    此致、

    Anil。

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

    您好、Anil

    我按照您提供的指导进行了操作、并测量了 MCU_PORZ 引脚。 正如您所说的、当 MCU_PORZ 引脚进行高电平到低电平转换时、I READ 的寄存器值为0。 但是、当没有高电平到低电平的转换时、进行复位 I READ 的原因是软件热复位。 这似乎符合您的预期、但我有一个问题:MCU_PORZ 引脚为什么有时会进行高电平和低电平转换、有时不会进行? 这是正常现象吗?

    BR、

    Huang

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

    您好、 

    这是正常现象吗?

    这种行为不正常。

    MCU_PORz 引脚是 SoC 的输入、SOC 无法驱动此引脚上的任何信号。

    如果该引脚从高电平变为低电平或从低电平变为高电平、请查看您的系统、该 引脚由任何其他外部器件控制、例如 PMIC 或任何驱动该引脚的外部 SOC/微控制器/FPGA。 除此之外、没有 SOC 可以驱动该信号。

    而且、我希望您也仅针对下面突出显示的引脚确认了上述结果。

    此致、

    Anil。

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

    您好、Anil

    我已确认没有针对此引脚的其他控制、它只连接到 PMIC 的 NRSTOUT。
    我进行了一些其他测试、但不是调用 Scicontent_pmDeviceReset ()来触发重启、而是在 SOC 端输入 reboot 命令以重启它、然后读取 MCU_CTRL_MMR0_SSTSRC 寄存器的值。 我执行了三个重新启动操作、其中一个导致0x00010000、两个导致0x0000000。 目前还不清楚是什么原因造成的。希望能提供一些测试建议来找出问题。

    BR、

    Huang

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

    您好、黄

    如果该 MCU_CTRL_MMR0_RSTSRC 内容为零、并且 MCU_PORz 输入从高电平变为低电平、则 SOC 将经历 POR、这时没有其他可能。

    是否可以通过 MCU_PORz 引脚断开 PMIC、并且我假设 MCU_PORz 上的信号因 PMIC 而发生变化。

    在从 MCU_PORz 输入断开 PMIC 后、确保默认情况下我们需要在此引脚上驱动为高电平。

    此致、

    Anil。

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

    您好、Anil

    从 PMIC 断开 MCU-PORZ 引脚并将其上拉后、我还执行了将 reboot 命令输入到 SOC 串行端口的操作、但获得的原因仍然是冷启动复位。

    BR、

    Huang

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

    您好、黄

    您能否分享您给出的命令是什么?

    您正在读取的寄存器是什么?

    请提供以上详细信息。

    此致、

    Anil。

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

    您好、Anil

    是的、SOC 串行端口上的命令 i 输入为"reboot"。 按 Enter 执行命令、车辆系统将重新启动。 汽车系统重新启动后、我使用"devmem2 0x04518178"命令来读取 MCU_CTRL_MMR0_RST_SRC 寄存器的值、如下图所示

    BR、

    Huang

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

    您好、黄

    还请分享 MCU_PORz 引脚连接详细信息。

    在上述注释中、您确认您已断开 MCU_PORz 输入与 SOC 的连接。

    还可分享引脚和原理图详细信息。

    此致、

    Anil。

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

    您好、Anil

    好的、下图显示了在我们进行任何修改之前与 MCU-PORZ 引脚相关的连接。

    根据您提供的测试反馈、我们进行了以下修改:移除电阻器 R0408和 R0411、并在 MCU_PORZ 引脚上添加1.8V 上拉电阻器。

    我希望上述信息可以为您提供帮助。

    BR、

    Huang

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

    您好、

    我正在查看您的 回复 ,您可能希望 在一两天内回复。

    此致、

    Anil。

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

    您好、 黄

    我对以上几点进行了分析。

    我认为、除了电源干扰之外、没有 SOC POR 的可能性。

    移除上述 R0408和 R0411电阻器后、请分享 A7输入的波形、并连接以上拉电阻。

    连接到 SOC 的电源是否有任何故障?

    请监控 SOC 的电源波形并分享这些波形。

    此致、

    Anil。