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:无法启用看门狗

Guru**** 2805425 points

Other Parts Discussed in Thread: AM62A7

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1602627/am62a7-watchdog-cannot-be-enabled

器件型号: AM62A7

您好、TI 专家、

具体项目详情如下:
处理器:AM62A7
SDK:10.00.00.08
引导方法:eMMC 引导

我尝试激活看门狗。 根据 用户手册进行修改后、看门狗无法正常工作。

以下是我的修订:

对于 uboot:k3-am62a-main.dtsi

ScreenShot_2026-01-04_155740_434.png

对于内核:k3-am62a-main.dtsi

ScreenShot_2026-01-04_155710_218.pngScreenShot_2026-01-04_155615_798.png

我使用 wdctl 启用了看门狗。 当“TimeLeft"值“值为 0 时、系统将不会重新启动。

ScreenShot_2026-01-04_160752_287.png

 我的 硬件设计:

  

我在 TI EVM 上尝试过、但也无法重新启动。  

请协助进行分析。 谢谢你。

 

此致、

Gaogao

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

    更多信息、

    在 EVM 平台上使用 SDK 11_01_07_05 时、看门狗功能正常工作。

    在 EVM 平台上使用 SDK 10_00_00_08 时、看门狗将无法正常工作。

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

    您好、Gaogao、

    通过在 TI EVM 上使用更高版本的 SDK 进行测试、可以很好地进行调试。 这表明(至少在 EVM 上)这与硬件无关。

    是否仍需要使看门狗在 SDK 10.0 上正常运行?

    我要检查的第一件事是确保正确地将编译后的文件从计算机复制到 EVM、这是一种相当常见的错误。 这个文件与您的问题无关、但请注意、对于 U-Boot 文档中列出的“Target Images“、应在 EVM 存储器上将 tiboot3-processor-type-here.bin 文件重命名为仅 tiboot3.bin、否则引导加载程序将不会使用它。
    https://software-dl.ti.com/processor-sdk-linux/esd/AM62AX/10_01_00/exports/docs/linux/Foundational_Components /U-Boot/UG-General-Info.html

    此致、

    Nick

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

    您好、Nick、

    感谢您的回复、

    是、我需要让看门狗在 SDK 10.0 上正常工作、请协助进行分析。 谢谢你。

    我使用了 tisdk-edgeai-image-am62a-evm.wic.xz 在 TI EVM 上进行验证。  

    此致、

    Gaogao

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

    您好、Gaogao、

    清理和重建 uboot 后、您是否确认您正确更新了电路板上的 uboot 文件?

    我没有那么多 u-boot 经验、但我预计在重新编译 uboot 时、终端中出现的 uboot 哈希应该会发生变化、类似于 Linux 内核。 下面是一个示例、说明我将在其中查看引导日志(AM62x 的屏幕截图)

    U-Boot SPL 2025.01-00527-gd2a72467939e (Jul 01 2025 - 21:23:47 +0000)
    SYSFW ABI: 4.0 (firmware rev 0x000b '11.1.2--v11.01.02 (Fancy Rat)')
    Changed A53 CPU frequency to 1250000000Hz (T grade) in DT
    SPL initial stack usage: 13392 bytes
    Trying to boot from MMC2
    Authentication passed
    Authentication passed
    Authentication passed
    Authentication passed
    Authentication passed
    Starting ATF on ARM64 core...
    
    NOTICE:  BL31: v2.13.0(release):v2.13.0-240-gd90bb650fe-dirty
    NOTICE:  BL31: Built : 21:37:18, Jun 23 2025
    
    U-Boot SPL 2025.01-00527-gd2a72467939e (Jul 01 2025 - 21:23:47 +0000)
    SYSFW ABI: 4.0 (firmware rev 0x000b '11.1.2--v11.01.02 (Fancy Rat)')
    SPL initial stack usage: 2032 bytes
    Trying to boot from MMC2
    Authentication passed
    Authentication passed
    
    
    U-Boot 2025.01-00527-gd2a72467939e (Jul 01 2025 - 21:23:47 +0000)
    
    

    此致、

    Nick

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

    亲爱的高 Canjian。

    请您告知我们您方面的进展情况吗? 如果长时间没有更新、我们希望在本周关闭此 TT。

    非常感谢!

    Yong

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

    嗨、Yong、Nick、

    新信息、  

    在 SDK 10.0 中、我重建了 u-boot 和 Linux 内核、看门狗正在工作。  

    但是、为了缩短引导加载程序时间、我们使用了 优化的引导流程 。 没有 u-boot。  

    我刚刚重建 Linux 内核、看门狗 无法正常工作。

    https://software-dl.ti.com/processor-sdk-linux/esd/AM62AX/10_00_00/exports/docs/linux/How_to_Guides/Target/How_to_boot_quickly.html?highlight=sbl

    此致、

    Gaogao

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

    您好、Nick、

    新信息、  

    在 SDK 10.0 中、我重建了 u-boot 和 Linux 内核、看门狗正在工作。  

    但是、为了缩短引导加载程序时间、我们使用了  优化的引导流程 。 没有 u-boot。  

    我刚刚重建 Linux 内核、看门狗 无法正常工作。

    https://software-dl.ti.com/processor-sdk-linux/esd/AM62AX/10_00_00/exports/docs/linux/How_to_Guides/Target/How_to_boot_quickly.html?highlight=sbl

    此致、

    Gaogao

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

    您好、Gaogao、

    看门狗可以在超时后产生中断、但看门狗计时器本身不是会重新启动处理器的计时器。 典型的配置是将看门狗中断发送到 ESM 模块、然后 ESM 模块重新引导处理器。

    在“典型“引导中、ESM 模块在 u-boot 期间配置。 我想知道 ESM 模块是否未正确初始化?

    同时、您可以通过检查看门狗状态寄存器 CFG_WDSSTATUS 和 数字看门狗递减计数器 CFG_DWDCNTR 来开始调试(即看门狗外设的状态是什么,您能否看到计数器值随时间变化?)   关于:AM62A7:启用看门狗和测试  

    我正在将您的主题发送给一位更熟悉 falcon 引导/快速引导的团队成员、以讨论在我们启用快速引导时、用于在 uboot 期间运行的代码会发生什么变化的一般概念。 (例如,Linux 内核中是否存在重复的驱动程序、我们期望在不进行额外修改的情况下执行与 U-Boot 相同的所有操作等)。

    此致、

    Nick

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

    您好、Nick、

    在“典型“启动中、看门狗正常工作。  看门狗中断可以发送到 ESM 模块、ESM 模块会重新引导处理器。

     

    快速启动时、 看门狗 无法正常工作。  我使用 wdctl 启用了看门狗。 “TimeLeft"可以“可以从 60 逐渐减少到 0、但当“TimeLeft"值“值为 0 时、系统不会重新启动。

    ScreenShot_2026-01-04_160752_287.png

    正如您所说的、  在“典型“引导中、ESM 模块在 u-boot 期间配置。

    这是否是因为 ESM 模块未在快速引导中配置、 导致看门狗未发生过热?

    此致、

    Gaogao

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

    您好、Gaogao、

    请共享我在上一个响应中列出的寄存器的值、以便我们可以再次检查看门狗外设是否按预期工作。 devmem2 可用于读取寄存器值。

    此致、

    Nick

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

    您好、

    请在 SDK10 中应用以下 U-Boot 器件树补丁并重新编译 U-Boot。

    diff --git a/arch/arm/dts/k3-am62a-main.dtsi b/arch/arm/dts/k3-am62a-main.dtsi
    index 6b8d9975e73a..7d9a4ccd3137 100644
    --- a/arch/arm/dts/k3-am62a-main.dtsi
    +++ b/arch/arm/dts/k3-am62a-main.dtsi
    @@ -275,7 +275,7 @@
                    compatible = "ti,j721e-esm";
                    reg = <0x0 0x420000 0x0 0x1000>;
                    ti,esm-pins = <160>, <161>, <162>, <163>, <177>, <178>;
    -               bootph-pre-ram;
    +               bootph-all;
            };
    
            main_timer0: timer@2400000 {

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

    您好 Bin、

    在此处仔细检查我的理解程度:

    Google 似乎表示“bootph-pre-ram"仅“仅适用于 SPL 代码、而不适用于 u-boot 代码、而“bootph-all"则“则适用于 u-boot 以及 u-boot 之前的所有内容。 通过初始搜索、我找不到有关 Linux 的任何具体信息。

    这对于 TI 器件是正确的吗? 或者、 “bootph-pre-ram"和“和 “bootph-all"对于“对于我们的器件树文件来说是否意味着不同? (例如,u-boot 的 pre-ram、全部用于 Linux 内核?)

    由于客户要删除 u-boot、因此我对以这种方式修改 u-boot 器件树文件对他们有何帮助很好奇。

    谢谢、

    Nick

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

    您好、Nick、

    以下是  快速引导模式下看门狗器件观察狗 0 的 CFG_DWDCNTR 和 CFG_WDSSTATUS 的值。 (看门狗错误)

    root@am62axx-evm:~# 
    root@am62axx-evm:~# devmem2 0x0e0000a0
    /dev/mem opened.
    Memory mapped at address 0xffff91f29000.
    Read at address  0x0E0000A0 (0xffff91f290a0): 0x01769CBF
    root@am62axx-evm:~# 
    root@am62axx-evm:~# devmem2 0x0e0000a0
    /dev/mem opened.
    Memory mapped at address 0xffffbeae9000.
    Read at address  0x0E0000A0 (0xffffbeae90a0): 0x0172DE49
    root@am62axx-evm:~# 
    root@am62axx-evm:~# devmem2 0x0e0000a0
    /dev/mem opened.
    Memory mapped at address 0xffff9383f000.
    Read at address  0x0E0000A0 (0xffff9383f0a0): 0x0170EFD9
    root@am62axx-evm:~# 
    root@am62axx-evm:~# devmem2 0x0e0000a0
    /dev/mem opened.
    Memory mapped at address 0xffffb09e3000.
    Read at address  0x0E0000A0 (0xffffb09e30a0): 0x016F0A96
    root@am62axx-evm:~# 
    root@am62axx-evm:~# 
    root@am62axx-evm:~# devmem2 0x0E000098
    /dev/mem opened.
    Memory mapped at address 0xffffade0a000.
    Read at address  0x0E000098 (0xffffade0a098): 0x0000003A
    root@am62axx-evm:~# 
    root@am62axx-evm:~# devmem2 0x0E000098
    /dev/mem opened.
    Memory mapped at address 0xffffbec82000.
    Read at address  0x0E000098 (0xffffbec82098): 0x0000003A
    root@am62axx-evm:~# 

    为了进行比较、以下是  看门狗器件 watchdog0 的 CFG_DWDCNTR 和 CFG_WDSSTATUS 的值  典型值 集线器。 (看门狗工作)

    root@am62axx-evm:~# 
    root@am62axx-evm:~# devmem2 0x0e0000a0
    /dev/mem opened.
    Memory mapped at address 0xffffb4877000.
    Read at address  0x0E0000A0 (0xffffb48770a0): 0x0002698D
    root@am62axx-evm:~# 
    root@am62axx-evm:~# devmem2 0x0e0000a0
    /dev/mem opened.
    Memory mapped at address 0xffffb9fe4000.
    Read at address  0x0E0000A0 (0xffffb9fe40a0): 0x00020532
    root@am62axx-evm:~# 
    root@am62axx-evm:~# devmem2 0x0e0000a0
    /dev/mem opened.
    Memory mapped at address 0xffff97360000.
    Read at address  0x0E0000A0 (0xffff973600a0): 0x0001E6EE
    root@am62axx-evm:~# 
    root@am62axx-evm:~# devmem2 0x0e0000a0
    /dev/mem opened.
    Memory mapped at address 0xffff82f75000.
    Read at address  0x0E0000A0 (0xffff82f750a0): 0x00013B53
    root@am62axx-evm:~# 
    root@am62axx-evm:~# 
    root@am62axx-evm:~# 
    root@am62axx-evm:~# devmem2 0x0E000098
    /dev/mem opened.
    Memory mapped at address 0xffffba047000.
    Read at address  0x0E000098 (0xffffba047098): 0x00000000
    root@am62axx-evm:~# 
    root@am62axx-evm:~# devmem2 0x0E000098
    /dev/mem opened.
    Memory mapped at address 0xffffa9381000.
    Read at address  0x0E000098 (0xffffa9381098): 0x00000000
    root@am62axx-evm:~# 

    此致、

    Gaogao

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

    您好、Nick、

    [引述 userid=“280115" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1602627/am62a7-watchdog-cannot-be-enabled/6208386

    Google 似乎表示“bootph-pre-ram"仅“仅适用于 SPL 代码、而不适用于 u-boot 代码、而“bootph-all"则“则适用于 u-boot 以及 u-boot 之前的所有内容。 通过初始搜索、我找不到有关 Linux 的任何具体信息。

    这对于 TI 器件是正确的吗? 或者、 “bootph-pre-ram"和“和 “bootph-all"对于“对于我们的器件树文件来说是否意味着不同? (例如,u-boot 的 pre-ram、全部用于 Linux 内核?)

    [/报价]

    无论 bootph-*属性如何、所有启用的器件树节点都可在 U-Boot 正常区域中使用。

    “bootph-pre-ram"为“为 SPL 启用节点、但这是 A53 SPL、而不是 TI K3 器件上的 R5 SPL。

    “bootph-all"支持“支持节点一直到 R5 SPL、包括 A53 SPL。

    由于客户要删除 u-boot、因此我对以这种方式修改 u-boot 器件树文件对他们有何帮助很好奇。

    补丁会更改为 ESM 节点的 bootph-all、以便它在 R5 SPL 中可用。

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

    您好、Nick、

    任何更新?

    此致、

    Gaogao

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

    尊敬的 Gaogao:

    您能否确认是否已将器件树补丁应用到 U-Boot(在 k3-am62a-main.dtsi 中为 ESM 节点使用“bootph-all",“,但、但它无法解决问题?

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

    嗨、Bin、

    我们使用 SBL 引导。 这是引导流程。

    没有 R5 SPL 或 u-boot。  

    我不明白为什么我们需要在 u-boot 中修改器件树

    此致、

    Gaogao

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

    尊敬的 Gaogao:

    您之前提到了重新编译 U-Boot、因此我刚刚假设您使用 U-Boot falcon 模式进行快速引导。

    无论如何、如果看门狗与 SDK11.1 搭配使用、但您仍然需要使用 SDK10.0、您是否可以尝试使用 SDK11.1 中的 SBL 在 SDK10.0 中引导 Linux 来查看看门狗是否仍然有效? 如果是、此软件组合是否适合您?

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

    嗨、Bin、

    让我解释一下目前的情况。

    我们使用  SDK10.0。

    首先、我们使用了 “典型“引导(SPL -> u-boot ->内核)。

    在“Typical"引导“引导  中、我修改了 u-boot 和内核中的 dts、看门狗正在工作。  

    现在、为了缩短引导加载程序时间、我们使用 falcon 模式。

    在 falcon 模式下没有 u-boot、因此我只修改了 内核中的 dts。 并且看门狗 无法正常工作

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

    尊敬的 Gaogao:

    现在、为了缩短引导加载程序的时间、我们使用 falcon 模式。

    Falcon 模式仅与 U-Boot 相关、在 U-Boot 中、R5 SPL 直接引导 ATF+内核。 是否使用此引导方法?

    或者、您是否使用 R5 SBL1+SBL2+ATF+内核作为您上面发布的图? 这种快速引导方法不称为 falcon 引导。

    当您说 SDK11.1 可以正常工作时、什么才真正起作用? “typical(典型)“引导、falcon 引导或 sbl+atf+kernel 引导(如上图中所示)?

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

    嗨、Bin、

    我误解了。 我想“ falcon boot “=“ R5 SBL1+R5 SBL2+ATF+kernel boot “

    让我再解释一下目前的情况。

    在 SDK10.0 中:

    “典型“引导、看门狗  正常工作。

    “ R5 SBL1+R5 SBL2+ATF+kernel boot “、看门狗 无法正常工作

    在 SDK11.1 中:

    “典型“引导、看门狗  正常工作。

    “ R5 SBL1+R5 SBL2+ATF+kernel boot “、尚未尝试。

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

    尊敬的 Gaogao:

    感谢您的解释。 现在、我知道您根本不在快速引导中使用 U-Boot。

    SBL 不在我的支持范围内、我不确定它是否支持配置看门狗。 我正在将您的问题回复给 Nick、以寻求进一步帮助。

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

    您好、

    线程所有者将在 2 月 17 日的一周内停止工作。 如果您在这周内没有收到更新、请 ping 通该线程。

    感谢您的耐心。

    此致、
    Harshith

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

    您好、Nick、

    任何更新?

    此致、

    Gaogao

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

    您好、Gaogao、

    对持续延误深表歉意。 我留出了一些时间来查看您在星期四上的线程。 然后我将提供更多信息。

    此致、

    Nick

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

    任何信息?

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

    尊敬的 Nick、 Harshith。

    您能否帮助检查您是否对此 TT 有任何更新?

    非常感谢!

    Yong

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

    您好、

    对回复延迟表示歉意。

    您能否说明在引导流程的哪个阶段使用 R5 SBL1 + R5 SBL2 + ATF +内核引导方法时会启动/配置看门狗计时器?

    您还可能发现以下常见问题解答对参考很有用: 【常见问题解答】AM64X/ AM62X:当 WDT 计时器在 AM64X 和 AM62X 到期时、如何将 SOC 复位?

    这说明了预期的复位路径 (WDT→RTI→ESM→CTRL_MMR RESET)。 但是、由于它主要显示 MCU+ SDK 示例、因此它可能会也可能不直接应用于 Linux/SBL 引导流程、但仍可用作参考。

    此致、
    Harshith

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

    大家好:

    在看门狗尝试向 ESM 模块发送重新启动中断之前、需要对该模块进行初始化。 TI 提供了一个 u-boot 驱动程序、用于在 ti-u-boot-2025.01+git/drivers/MISC/k3_esm.c 中配置 ESM 模块、但如果 u-boot 未运行、则我不希望执行该驱动程序。

    虽然 Linux 器件树中有适用于 ESM 模块的 Linux 器件树文件条目、以及针对 ESM 模块的绑定文档、但我看不到适用于 ESM 模块的 Linux 内核驱动程序。

    因此、您的选择是将 u-boot 驱动程序移植到 Linux(如果在 Linux 引导期间初始化 ESM 模块适用于您的用例)、或在 SBL 代码中配置 ESM 模块、类似于上文 Harshith 链接到的常见问题解答。

    此致、

    Nick