乐鑫技术交流
直播中

姬盼希

9年用户 1030经验值
擅长:控制/MCU
私信 关注
[问答]

ESP32A1S离线语音识别必现看门狗异常是怎么回事?

模组:ESP32 A1S
开发环境:linux(Ubuntu20.04)
IDE:VS
esp-idf: release/v4.3  233dc30fb1a376d7ca0c5d74bdd410ca368f6bf7
esp-adf:master           ec0ea830cc5fbb702a6745e4e3991ff38595ff0f
esp-sr:tags/v0.7.0      c5896943ea278195968c93c8b3466c720e641ebc
esp-skainet:master    71e6c6b2257de08ad97a3d80748a78fd6a3e3208
问题描述
触发语音环唤醒后,进入命令状态,这时语言命令无法识别,等待约5s后会出现看门狗异常
使用示例中的get_start和cn_speech_commands_recognition均是如此
W (2441) MN: MultiNet may cause WatchDog on ESP32 sometimes!
------------detect start------------
wakeword detected
-----------LISTENING-----------
E (10251) task_wdt: Task watchdog got triggered. The following tasks did not reset the watchdog in time:
E (10251) task_wdt:  - IDLE (CPU 1)
E (10251) task_wdt: Tasks currently running:
E (10251) task_wdt: CPU 0: IDLE
E (10251) task_wdt: CPU 1: detect
E (10251) task_wdt: Print CPU 0 (current core) backtrace
                                                                                                                                                         

回帖(1)

余温重顾

2024-7-19 17:27:01
从你的描述来看,这个问题可能是由于ESP32 A1S模块在离线语音识别过程中出现了看门狗定时器超时导致的。以下是一些可能的原因和解决方案:

1. **看门狗定时器配置不当**:检查你的代码中是否正确配置了看门狗定时器。如果看门狗定时器的超时时间设置得太短,可能会导致在语音识别过程中出现超时。你可以尝试增加看门狗定时器的超时时间,或者在语音识别过程中定期重置看门狗定时器。

2. **资源竞争**:在多任务环境中,可能会出现资源竞争的情况,导致某些任务无法及时执行。你可以尝试优化任务调度,确保语音识别任务能够获得足够的CPU时间片。

3. **内存泄漏**:长时间的运行可能会导致内存泄漏,从而影响系统的稳定性。你可以尝试使用内存分析工具检查代码中的内存泄漏问题,并进行修复。

4. **固件版本不兼容**:你提到使用的是ESP-IDF v4.3.233dc30fb1a376d7ca0c5d74bdd410ca368f6bf7、ESP-ADF master ec0ea830cc5fbb702a6745e4e3991ff38595ff0f、ESP-SR tags/v0.7.0 c5896943ea278195968c93c8b3466c720e641ebce和ESP-Skainet master 71e6c6b2257de08ad97a3d80748a78fd6a3e3208。这些版本可能存在一些已知的问题或者不兼容的地方。你可以尝试升级到最新版本,或者查找相关的issue和解决方案。

5. **硬件问题**:如果以上方法都无法解决问题,可能是硬件本身存在问题。你可以尝试更换一个ESP32 A1S模块,看看问题是否依然存在。

6. **软件问题**:软件中的bug也可能导致看门狗异常。你可以尝试查找相关的issue,或者在社区中寻求帮助。

总之,解决这个问题需要从多个方面进行排查和优化。希望这些建议对你有所帮助。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分