由于 U-Boot 2022.10 及更早版本中的一个错误,一旦 U-Boot 运行超过 533 天 18h 14m,WATCHDOG_RESET函数将无法重置看门狗,因为WATCHDOG_RESET从 64 位系统计数器寄存器获取值作为时间戳来计算间隔时间段,但它不会检查寄存器是否溢出。
有两种方法可以避免此类故障:
- 不要在 U-Boot 2022.10 及更早版本中使用看门狗驱动程序模型 (DM) 的WATCHDOG_RESET功能;请改用看门狗设备驱动程序接口。
- 升级到 U-Boot 2023.01 或更高版本。
这是 U-Boot 错误,从 U-Boot 2023.01 开始已修复,请参阅以下链接: