【问题标题】:How to interpret Hardware watchdog exceptions on a ESP chip?如何解释 ESP 芯片上的硬件看门狗异常?
【发布时间】:2019-10-18 14:28:45
【问题描述】:

对于我们的一个项目,我们每天大约有 0.1% 的设备发生硬件看门狗重置,导致许多不必要的硬件重置。

我们正在尝试找出导致此硬件看门狗重置的原因,但未能在我们的代码中找到任何可能导致此行为的相关内容。

我们使用的是 Arduino 2.4.2 版本,我们不确定问题何时对我们的解决方案产生了错误,因为我们还有其他问题,现在主要已解决。

幸运的是,我们的设备在重新连接时会向我们发送重启原因,我们会收到以下信息:

ResetReason=硬件看门狗;ResetInfo=致命异常:4 标志:1 (WDT) epc1:0x40102329 epc2:0x00000000 epc3:0x00000000 excvaddr:0x00000000 depc:0x00000000;

我们一直在寻找任何东西,当通过EspStackTraceDecoder 我们最终得到:

0x40102329: wDev_ProcessFiq at ??:?

查看不同项目并提出类似问题的搜索大多似乎包括 dns 查询。但不是全部,所以这似乎是一个普遍的问题?

我们可以提取哪些其他信息来帮助我们识别问题?

一些附加信息

  • 内存稳定,我们有大约 15-17Kb 的可用堆,具体取决于模式和排队发送/接收队列的数据量。
  • 我们这一边的代码使用产量、延迟等,因此应始终提供 S/W 看门狗。这也适用于异步回调代码。

【问题讨论】:

    标签: hardware watchdog


    【解决方案1】:

    检查您是否进行了错误的内存读取。 HW WDT的主要原因是如果软件(或)cpu不再工作,它可以触发重置。

    您的 CPU 可能在执行某些指令时被卡住并且无法返回。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-09-21
      • 2016-05-02
      • 2021-03-14
      • 1970-01-01
      • 1970-01-01
      • 2012-02-22
      • 1970-01-01
      相关资源
      最近更新 更多