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.

[参考译文] AM3354:看门狗或看门狗0

Guru**** 2479435 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1437205/am3354-watchdog-or-watchdog0

器件型号:AM3354

工具与软件:

尊敬的 TI 专家:

客户正在使用 SDK5.2。

他们遇到的问题将导致大约运行一个月、这将导致系统卡住、并且没有显示用于分析的错误日志。 我们已经在内核配置文件中充分利用了大多数调试配置、但经过半年的尝试、当系统出现故障时、我们仍然没有收到任何信息。

因此、我想的另一种方法是启用我们的内部看门狗、这样每当系统在一个月后卡住时、看门狗就会复位我们的系统以保持运行。

客户还通过手动创建系统崩溃问题并使系统卡住来验证主板上的看门狗功能、一段时间后、看门狗将使系统重新启动并正常运行。

我们现在计划使用此解决方案运行一个月、看看如果我们可以使用看门狗成功重新启动系统、原始问题是否会出现。

在我们这么做之前、可能需要您的帮助。

1:我们看到有  /dev/watchdog  和  /dev/watchdog0 在编码中、我们应该使用哪一个? 我们需要了解看门狗或 watchdog0是否连接到如下所示的硬件模块 WDT。

我们要确保使用的看门狗实际在触发 WDT 硬件模块以发送复位信号。 与我们键入"reboot"命令从软件重新启动不同。 这样、当问题出现时、我们将有更多的机会生存下去。

2: 我们如何才能知道复位是从看门狗触发的、您能否提供一条读取寄存器的命令以便在看门狗复位后知道?

3:看门狗复位是只进行热复位、还是还会触发 PORZ?

非常感谢、

Kevin

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

    Kevin 老师、您好!

    提供的支持有限  

    抬头看一下、Linux SDK 5.2 (如果我没记错的话、内核版本4.14?) 因为它太旧了、我们无法在论坛上提供支持。 我将提供与硬件相关的一般指南、但对于与我们更新版本的 Linux SDK 相对的 SDK 5.2、我不会给出具体的评论。

    要使用哪个/dev/watchdog?

    /dev/watchdog 和/dev/watchdog0是一回事。 据我所知、这与您使用哪一个没有区别。

    在具有多个看门狗计时器的处理器(例如 AM64x)上、则可以看到 /dev/watchdog、/dev/watchdog0、/dev/watchdog1等 对于这些处理器、我不记得/dev/watchdog 是否始终等于/dev/watchdog0、或者它是否可以改变。 但这不会影响 AM335x。

    如何知道看门狗上是否触发了复位?  

    我不知道该怎么做。

    AM335x 具有 WDT_WDST (看门狗状态寄存器)。 从 AM335x 技术参考手册(TRM):

    但目前尚未讨论 AM335x 寄存器。 我的假设是、如果该寄存器尝试处理器复位、并且处理器实际上并未复位、但我不确定、那么该寄存器会保持在0x0。

    您可以使用 devmem2工具从 Linux 终端读取寄存器值。

    此致、

    Nick

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

    您好、Nick。

    感谢您提供的信息!

    对于看门狗寄存器、我在下面也找到了这个、通过读取该寄存器、我们可以知道热复位来自看门狗或 SW 0x44E00F08 .

    谢谢!

    Kevin

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

    您好、Nick。

    我可以知道是内部看门狗执行热复位还是冷复位吗?

    例如、当看门狗触发时是否会发生掉电/上电?

    如果只执行热复位、是否有办法执行冷复位?

    谢谢!

    Kevin

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

    Kevin 老师、您好!

    从 Linux 驱动程序方面来说、当看门狗超时时、我没有看到任何地方指定将芯片置于哪种复位。 我也没有看到任何硬编码到 Linux 内核看门狗驱动程序中的设置。 我将把您的主题发送给我们硬件团队的一位成员进行评论。

    此致、

    Nick

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

    Kevin 老师、您好!

    请参阅以下内容。

    8.1.7.3全局上电复位(冷复位)

    8.1.7.5复位特性下表显示了每个复位源的特性。

    20.4.3.5溢出/复位生成

    当看门狗定时器计数器寄存器(WDT_WCRR)溢出时、会向 PRCM 模块生成一个低电平有效复位脉冲。 此复位脉冲使 PRCM 模块生成器件的全局热复位、从而将 nRESETIN_OUT 引脚驱动至器件外。 该脉冲是一个预分频的计时器时钟周期宽、在计时器计数器溢出的同时发生。

    看、看门狗可以只生成全局热复位。

    我也在与内部专家核实。

    此致、

    Sreenivasa

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

    您好!

    关闭螺纹、因为很长时间没有响应。 如果您想继续讨论、请随时回过头来。

    此致

    Ashwani