如何解释ESP芯片上的硬件看门狗异常?

问题描述 投票:0回答:1

对于我们的一个项目,我们进行了硬件监视程序重置,每天大约发生在我们设备的0.1%上,导致许多不必要的硬件重置。

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

我们正在使用Arduino 2.4.2版本,由于问题已经解决了,因此我们不确定,因为问题已经解决了。

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

ResetReason =硬件监视程序; ResetInfo =致命异常:4标志:1(WDT)epc1:0x40102329 epc2:0x00000000 epc3:0x00000000 excvaddr:0x00000000depc:0x00000000;

[我们一直在寻找任何东西,当通过EspStackTraceDecoder结束时,我们发现:

0x40102329:wDev_ProcessFiq位于??:?

搜索不同项目的搜索提出了类似的问题,其中大部分似乎包含dns查询。但不是全部,所以这似乎是一个普遍问题?

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

一些其他信息

  • 内存稳定,我们有〜15-17Kb的可用堆,具体取决于排队和发送/接收队列的数据量。
  • 我们的代码侧使用了yield,delay等。因此,应始终为S / W看门狗供电。这也适用于异步回调代码。
hardware watchdog
1个回答
0
投票

检查您是否正在读取任何错误的内存。硬件WDT的主要原因是,如果软件(或)cpu不再工作,它将触发复位。

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

© www.soinside.com 2019 - 2024. All rights reserved.