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.

[FAQ] [参考译文] [ FAQ ] AM64X :如何从软件重置(热重置) SOC ?

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1237209/faq-am64x-how-to-reset-warm-reset-the-soc-from-software

器件型号:AM6442

您好、TI 专家!

我想从软件重置 SOC。 我该怎么做?

POR (上电复位)和热复位之间有何区别?

此常见问题解答主要介绍了如何复位 SOC。 哪些寄存器用于对 SOC 进行复位?

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

    什么是复位

     复位是指允许将整个系统或 SoC 内的特定组件复位到已知初始状态的机制或信号。

    用例:

    复位 SoC 可确保其所有组件都以已知状态启动。

    如果 SoC 或其任何组件遇到错误或故障、可启动复位以使系统恢复到稳定的已知状态。 这可以帮助解决由软件错误、硬件故障或其他意外情况引起的问题。

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

    AM64X 提供不同类型的复位

    复位有两种类型:热复位和上电复位(PORz)。 当器件进行热复位时、一些 MMR 寄存器值和调试逻辑能够在复位后保留其状态和值。 另一方面、PORz 复位将重置 SoC 中的所有组件、并使器件进入已知默认状态。

    两个复位之间没有其他区别、并且两种情况下的引导条目是相同的。即

    ,执行 SOC 复位后,热复位或 POR 引导进入

    复位-> ROM 引导加载程序-> SBL ->应用程序

    请浏览章节 5.3.2复位源 以了解有关不同类型的重置资源的更多详细信息。

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

    如何在 AM64X 中进行整个 SOC 复位?

    用户不需要担心如何控制哪些 CTRL_MMR 寄存器来进行 SOC 复位。

    AM64X 有一个 DMSC 内核、通常能够处理器件的复位。

    因此、用户只需调用以下函数即可使 SOC 处于静止状态。

    Sciclient_pmDeviceReset()。

    有关 API 详细信息、请访问以下链接。

    https://software-dl.ti.com/mcu-plus-sdk/esd/AM64X/08_06_00_43/exports/docs/api_guide_am64x/group__SCICLIENT__FMW__PM__IF.html#ga7ffb0c42aa14e526199f7ffc3c4a08f7

    通常、有两个寄存器使 SOC 复位

    1. CTRLMMR_MCU_RST_CTRL
    2. CTRLMMR_RST_CTRL

     

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

    调用 Sciclient_pmDeviceReset()函数后,哪些寄存器会受到影响?

    在调用 Sciclient_pmDeviceReset() 就函数而言、我们使用 SYSFW 软件中的 RST_CTRL_SW_MAIN_WARMR (0x06)值来设置 CTRL_MMR0寄存器、此值将针对主域和 MCU 域进行复位。

    它只执行 SW_MAIN_WARMRESET 。 如果您尚未将 MCU 域配置为安全域、则此热复位会同时影响 MCU 和主域。

    目前在 SYSFW 中、我们会检查 MCU 域是否已隔离;如果已隔离、 隔离、我们使用 CTRLMMR_MCU_RST_CTRL 如果 MCU 域被隔离,我们将使用 CTRLMMR_RST_CTRL 寄存器。

    请查看 SYSFW 中有关图像的更多详细信息。

    Magicword 是一个非零值、这意味着 MCU 域与主域隔离。

     

    因此、基于上述详细信息、当您致电 Sciclient_pmDeviceReset () 功能、

    情形1: MCU 域未与主域隔离。

    致电 Sciclient_pmDeviceReset () soc 函数在所有 muc+sdk 示例的帮助下重置器件、 CTRLMMR_MCU_RST_CTRL 寄存器 复位会影响主域和 MCU 域。

    案例2 : MCU 域与主域隔离。

    当您运行以下示例 SOC 时、借助 CTRLMMR_RST_CTRL 寄存器和 复位仅影响主域和 MCU 域继续运行。

    C:\ti\mcu_plus_sdk_am64x_08_06_00_43\examples\drivers\safet\reset_isolation

    主域:A53和 R5F 内核

    MCU 域:M4F 内核