完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
请问各位有没有碰到看门狗触发但无法再正常启动的现象?请各位大神帮忙看看 。
使用芯片:ESP32 使用SDK:ESP-IDF V4.2 程序使用WiFi和BLE,蓝牙搜索附近广播包,判断广播包数据有变化则通过WiFi上传数据到服务器。 看log是core0的btController引起的看门狗触发,通过menuconfig配置蓝牙任务栈空间加大512B还是会复现看门狗触发但起不来,死机。 15个设备挂机5天,出现3个死机现象,死机的log如下:Code: Select all E (711955) task_wdt: Task watchdog got triggered. The following tasks did not reset the watchdog in time:E (711955) task_wdt: - IDLE0 (CPU 0)E (711955) task_wdt: Tasks currently running:E (711955) task_wdt: CPU 0: btControllerE (711955) task_wdt: CPU 1: IDLE1E (711955) task_wdt: Print CPU 0 (current core) backtraceBacktrace:0x400D2148:0x3FFBFAC0 0x40085A09:0x3FFBFAE0 0x4019486C:0x3FFE7A90 0x40194E31:0x3FFE7AB0 0x400930B1:0x3FFE7AE0 E (711955) task_wdt: Print CPU 1 backtraceBacktrace:0x40081697:0x3FFC00C0 0x40085A09:0x3FFC00E0 0x4000BFED:0x3FFBC400 0x40093311:0x3FFBC410 0x400D238C:0x3FFBC430 0x400D2397:0x3FFBC460 0x400D2435:0x3FFBC480 0x40091431:0x3FFBC4A0 0x400930B1:0x3FFBC4C0 打印了以上信息后,不再有log输出,直接死机。 以下是backtrace: CORE0 root@H:/mnt/d/HXJ/Code/ESP32/for_crash_debug# xtensa-esp32-elf-addr2line -piaf -e build/ZB.elf 0x400D2148:0x3FFBFAC0 0x40085A09:0x3FFBFAE0 0x4019486C:0x3FFE7A90 0x40194E31:0x3FFE7AB0 0x400930B1:0x3FFE7AE0 0x400d2148: task_wdt_isr at /home/esp/esp-idf/components/esp_common/src/task_wdt.c:187 0x40085a09: _xt_lowint1 at /home/esp/esp-idf/components/freertos/xtensa/xtensa_vectors.S:1105 0x4019486c: btdm_controller_task at ??:? 0x40194e31: btdm_controller_disable at ??:? 0x400930b1: vPortTaskWrapper at /home/esp/esp-idf/components/freertos/xtensa/port.c:143 CORE1 root@H:/mnt/d/HXJ/Code/ESP32/for_crash_debug# xtensa-esp32-elf-addr2line -piaf -e build/ZB.elf 0x40081697:0x3FFC00C0 0x40085A09:0x3FFC00E0 0x4000BFED:0x3FFBC400 0x40093311:0x3FFBC410 0x400D238C:0x3FFBC430 0x400D2397:0x3FFBC460 0x400D2435:0x3FFBC480 0x40091431:0x3FFBC4A0 0x400930B1:0x3FFBC4C0 0x40081697: esp_crosscore_isr at /home/esp/esp-idf/components/esp32/crosscore_int.c:80 0x40085a09: _xt_lowint1 at /home/esp/esp-idf/components/freertos/xtensa/xtensa_vectors.S:1105 0x4000bfed: ?? ??:0 0x40093311: vPortExitCritical at /home/esp/esp-idf/components/freertos/xtensa/port.c:419 0x400d238c: esp_task_wdt_reset at /home/esp/esp-idf/components/esp_common/src/task_wdt.c:333 0x400d2397: idle_hook_cb at /home/esp/esp-idf/components/esp_common/src/task_wdt.c:88 0x400d2435: esp_vApplicationIdleHook at /home/esp/esp-idf/components/esp_common/src/freertos_hooks.c:51 (discriminator 1) 0x40091431: prvIdleTask at /home/esp/esp-idf/components/freertos/tasks.c:3386 (discriminator 1) 0x400930b1: vPortTaskWrapper at /home/esp/esp-idf/components/freertos/xtensa/port.c:143 |
|
相关推荐
1个回答
|
|
根据您提供的信息,您的ESP32设备在使用ESP-IDF V4.2 SDK时,遇到了看门狗触发但无法正常启动的问题。以下是一些可能的原因和解决方案:
1. **内存不足**:尽管您已经尝试通过menuconfig配置增加了蓝牙任务栈空间,但可能仍然不足以满足程序的需求。您可以尝试进一步增加堆栈大小,或者优化代码以减少内存使用。 2. **任务优先级问题**:如果某些任务的优先级设置不当,可能导致看门狗定时器无法及时重置。请检查任务优先级设置,确保关键任务具有较高的优先级。 3. **死锁**:程序中可能存在死锁,导致看门狗定时器无法重置。检查代码,确保没有死锁或资源竞争的问题。 4. **中断处理问题**:如果中断处理不当,可能导致看门狗定时器无法重置。检查中断处理代码,确保中断处理函数能够快速执行并释放资源。 5. **硬件问题**:虽然可能性较小,但不能完全排除硬件故障导致的问题。检查ESP32模块,确保没有损坏或接触不良的问题。 6. **软件问题**:ESP-IDF V4.2可能存在一些已知或未知的问题。您可以尝试升级到较新的版本,看看问题是否得到解决。 7. **电源问题**:不稳定的电源可能导致设备异常。确保设备电源稳定,避免电压波动或干扰。 8. **外部干扰**:设备可能受到外部电磁干扰,导致程序运行异常。尝试将设备放置在远离干扰源的地方。 综上所述,您可以从多个方面排查问题,如内存管理、任务优先级、死锁、中断处理、硬件检查、软件升级、电源稳定性和外部干扰等。希望这些建议能帮助您解决问题。 |
|
|
|
只有小组成员才能发言,加入小组>>
503浏览 6评论
417浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
400浏览 5评论
403浏览 4评论
375浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-10-20 04:58 , Processed in 0.691580 second(s), Total 80, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号