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.

[参考译文] J784S4XEVM:如何在 U-Boot 和 Linux 中使用看门狗?

Guru**** 2468610 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1463561/j784s4xevm-how-to-utilize-watchdog-in-u-boot-and-linux

器件型号:J784S4XEVM

工具与软件:

您好!

我正在尝试在 U-Boot 中使用看门狗。

在 U-Boot 中启动看门狗并在 Linux 中将其停止。 如果 Linux 中存在启动问题、看门狗将帮助复位系统。

阅读后、我知道 MCU R5 ROM 会启动看门狗计时器、而 SYSFW 或 TIFS 为其提供服务、但我找不到很好的文档来说明如何在 U-Boot 和 Linux 中执行该操作。

因此、我来介绍主域看门狗、如相关问题(https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1261103/faq-j784s4xevm-how-to-enable-main-domain-watchdog)中所述

我基于 SDK 10.0.0工作、我已经检查过、与相关问题相关联的补丁已存在于 SDK 10.0.0中。 (我稍后使用"补丁"来提及相关问题中附带的补丁。)

只有一个区别、在补丁中、它是:

+ wkup_i2c0_pins_default:wkup-i2c0-pins-default{
+ u-boot、dm-spl;
+ pinctrl-single、pins =<
+ J784S4_WKUP_IOPAD (0x104、PIN_INPUT、0)/*(N33) WKUP_I2C0_SCL */
+ J784S4_WKUP_IOPAD (0x104、PIN_INPUT、0)/*(N35) WKUP_I2C0_SDA */
+>;
+};

但在 SDK 10.0.0代码中是这样

wkup_i2c0_pins_default:wkup-i2c0-default-pins{
引导全部;
PINCTL-SINGLE、PINS =<
J721S2_WKUP_IOPAD (0x98、PIN_INPUT、0)/*(N33) WKUP_I2C0_SCL */
J721S2_WKUP_IOPAD (0x9C、PIN_INPUT、0)/*(N35) WKUP_I2C0_SDA */
>;
};

但这没关系,我尝试了两个,他们都没有工作!

我在 j784s4_evm_a72_defconfig 中添加了看门狗。

CONFIG_WDT=y
CONFIG_CMD_WDT=y
CONFIG_WDT_K3_RTI=y
CONFIG_WATCHDOG_AUTOSTART=n
之后、我在 U-Boot 中尝试了它、但它从未工作、 我可以启动它、但它永远不会过期、也不会重新启动电路板。
=> WDT 列表
看门狗@2200000 (RTI_WDT)
看门狗@2210000 (RTI_WDT)
看门狗@2220000 (RTI_WDT)
看门狗@2230000 (RTI_WDT)
看门狗@2240000 (RTI_WDT)
看门狗@2250000 (RTI_WDT)
看门狗@2260000 (RTI_WDT)
看门狗@2270000 (RTI_WDT)
=> WDT DEV 看门狗@2200000
=> WDT 启动10000
WDT:启动看门狗@2200000、每1000ms 进行一次维护(10s 超时)
=>
=> WDT 复位
复位看门狗定时器失败(-1)
您能在这里给我一些指导吗? 谢谢!
BR、
Peng

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

    尊敬的彭:

    我们不从 U-Boot 验证看门狗复位。 Linux 运行良好。 您能否首先检查一下它是否在您的终端工作?
    您在使用哪种 SDK? U-BOOT 触发看门狗的用例是什么、因为这是 HLOS 启动前的瞬态阶段。

    -基尔西

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

    Keerthy、您好!

    感谢您的快速响应!

    我使用的是 SDK v10.0.0。

    在本产品中、我们有 AB 交换机制、我们可以更新 u-boot.img、因此我们要在 tispl.bin 中启动看门狗、如果任何东西(包括 u-boot.img 或 HLOS)在启动失败时、tispl.bin 可以回滚到旧版本。

    我刚发现看门狗实际上是有效的!

    但由于频率是错误的、实际上它需要等待非常长的时间!

    驱动器得到的频率是19200000HZ、但在对计数器进行计数后、我想它接近32768Hz。

    我使用 WDT start 10000命令启动看门狗、单位是 ms、因此我的想法是等待10秒、但由于频率错误、它实际上会等待5859秒。

    我检查了代码、它通过 TI SCI 模块获得频率、该模块是基于消息的通信。

    你是否有一个直觉,为什么这个频率是错误的这里?

    另一个有趣但非常奇怪的问题是、当我启用 CONFIG_WDT_K3_RTI 时、其他7个 CPU 内核(不是主 CPU 内核)无法启动。

    看门狗似乎与看门狗相关、但 CPU 即使在之后仍然无法启动、我注释掉了大多数看门狗代码、只是将空函数保留在那里。 它只在我通过设置 CONFIG_WDT_K3_RTI=n 将其禁用后有效  

    对此有什么想法吗?

    感谢您的支持! 祝您度过美好的一天!

    BR、

    Peng

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

    尊敬的彭:

    [报价 userid="552306" url="~/support/processors-group/processors/f/processors-forum/1463561/j784s4xevm-how-to-utilize-watchdog-in-u-boot-and-linux/5617276 #5617276"]

    我检查了代码、它通过 TI SCI 模块获得频率、该模块是基于消息的通信。

    你是否有一个直觉,为什么这个频率是错误的这里?

    [报价]

    如果您在 R5 SPL 阶段启用 tiboot3.bin、则驱动程序无法请求 TISCI 服务、因为 DM 尚未加载。
    您想从何处启用看门狗?

    [报价 userid="552306" url="~/support/processors-group/processors/f/processors-forum/1463561/j784s4xevm-how-to-utilize-watchdog-in-u-boot-and-linux/5617276 #5617276"]

    看门狗似乎与看门狗相关、但 CPU 即使在之后仍然无法启动、我注释掉了大多数看门狗代码、只是将空函数保留在那里。 它只在我通过设置 CONFIG_WDT_K3_RTI=n 将其禁用后有效  

    对此有什么想法吗?

    [报价]

    如前所述、我们尚未在 U-Boot 中验证 WDT。 此行为不会生效。  

    -基尔西

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

    Keerthy、您好!

    1.我现在在 u-boot.img 的 cmd 中测试看门狗、并将其添加到 tispl.bin 中、它位于 R5 SPL 级之后、所以它应该可以正常工作。

    2.如果我错了,请纠正我,但我没有看到在 uboot 中使用看门狗存在大问题,因为它在 Linux 环境中是类似的。

    如果在启动期间不能使用看门狗、是否有办法确保新下载的 uboot 和 HLOS 启动不会出现任何问题? 因此、该板可以回滚到较旧的版本。

    任何帮助都将非常感谢! 谢谢!

    BR、

    Peng

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

    尊敬的彭:

    应该可以在 U-Boot 中启用看门狗。 当前 SDK 不支持。 尝试确保 Linux 和 U-Boot 中的 DTS 相同。 根据您在 U-Boot 中的发现、时钟似乎在某种程度上没有按预期工作。

    此致、

    基尔西  

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

    Keerthy、您好!

    谢谢! 我将查看时钟。

    BR、

    Peng