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.

[参考译文] AM6422:引导计数器实现

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1502416/am6422-boot-counter-implementation

器件型号:AM6442

工具/软件:

尊敬的 TI 专家:

我们将尝试在 Yocto 版本中集成更新/恢复系统。 为此、我们需要实现启动计数器的功能。 即:

  • 一个计数器、通过 u-boot 在每次引导时递增
  • 一旦 Linux 启动并且某些服务联机、就会重置相同的计数器
  • 如果计数器达到一定的限值、系统将进入恢复模式

正如您所猜测的那样、该计数器必须在复位 后继续运行、并且以最佳方式(但不一定是100%)进行下电上电。 这里的问题是:AM64x 是否具有这样的非易失性寄存器/存储器、它们可以在复位(无论是热寄存器还是冷寄存器、甚至是下电上电)后仍然可以承受?

但在以下论坛帖子中有一个提示、适用于 AM62x、因此我希望 AM64x 也是如此:

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1229080/am623-am62x-rti-wdt-related-question?tisearch=e2e-sitesearch&keymatch=%22boot%20counter%22#

谢谢!

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

    您好:

    我们没有任何可在上电复位(POR)期间保留内容的专用寄存器。

    如果您使用任何未使用的 padcfg 寄存器来实现一个用例(例如在每次热复位时递增计数值)、您将观察到 padcfg 寄存器在热复位期间会保留其内容。

    但是、在 POR 的情况下、padcfg 寄存器的内容也将丢失。

    因此、如果您需要在每次 POR 之间保留计数值、则需要将其存储在 eMMC 或闪存等非易失性存储器中。 遗憾的是、我们没有任何可以在 POR 事件期间保留其内容的寄存器。

    总之、padcfg 和 MMR 寄存器仅在热复位期间保留值、而不在 POR 期间保留值。

    此致、

    Anil

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

    尊敬的 Swargam:

    感谢您的回答。 您能告诉我您指的是哪一个注册表? 我只在  0x04084000..0x04084080上找到了这些代码(AM64x TRM 的第2228页、SPRUIM2G)。 如果是、我恐怕使用其中一个值来保存任意值是非常危险的、因为这些值包含 SOC 的焊盘配置。

    你怎么看?

    谢谢!

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

    您好:

    例如、 我未使用 D7引脚、它未连接到任何外部器件。

    因此、我可以使用此引脚来写入数据。

    和 数据表中提供了这些引脚 PADCFG 寄存器地址、并且使用了 PADCFG 寄存器。

    注意:PADCFG 和 MMR 寄存器仅在热复位期间保留值、而不在 POR 期间保留值。

    此致、

    Anil.