音箱在加入 NN AEC(神经网络声学回声消除) 后出现反复重启问题解决

从日志分析,音箱在加入 NN AEC(神经网络声学回声消除) 后出现反复重启,根本原因是 CPU0 的用户栈(USP)溢出

关键错误信息为:

text

复制代码
[0-CPU] emu err msg : CPU0 stack overflow err
USP:0x00407C4C ~ 0x00408400

异常发生时当前任务是 kws(语音唤醒任务),其栈空间明显不足。


问题原因

  • 新增的 NN AEC 模块可能大幅增加了 栈深度 (例如递归调用、大局部数组、深层函数调用链)或 内存占用 ,导致 kws 任务的预设栈空间被撑爆。

  • 从日志中看到 kws 任务在初始化时已经分配了 stack:(0x407c00, 0x4083fc),大小仅 2KB0x800 字节)。这个容量在加入 NN AEC 后很可能不够用。


解决方案

1. 增大 kws 任务的栈大小

找到创建 kws 任务的代码,类似:

c

复制代码
create_task(_kws, ... , stack_size);

将栈大小从当前的 0x800(2048字节)增加到 0x1000(4096字节)或更大(如 0x1800)。

建议先翻倍测试,再根据实际峰值栈使用调整。

2. 检查 NN AEC 模块的递归调用或大数组

  • 确认 NN AEC 算法中是否存在 递归函数(递归会大量消耗栈)。

  • 排查是否有 大的局部数组 (例如 float buf[2048]),改为动态分配(malloc)或静态全局数组。

  • 检查 AEC 处理函数中是否有深层函数调用(例如超过10层)。

3. 检查中断栈(SSP)是否也受影响

日志显示 SSP 范围 0x00102840~0x00103840,大小为 2KB。如果 NN AEC 在中断中也有处理,可能需要同步增大:

c

复制代码
// 在系统初始化处修改中断栈大小
SSP_LIMIT_H = ...;  // 增大上限

4. 监控栈使用情况

开启系统栈溢出检测(如果未开启),或在 kws 任务中周期性打印剩余栈空间:

c

复制代码
// 例如在任务循环中
printf("_kws free stack: %d\n", uxTaskGetStackHighWaterMark(NULL));

观察最小剩余值,确保大于 200~300 字节安全余量。

5. 整体内存检查

  • 日志中 Current free heap 在初始化后剩余 383032 字节 ,物理内存 256640 字节,似乎还有余量,但注意 NN AEC 可能使用了大量堆内存,导致堆与栈区接近,也可能触发栈溢出。

临时验证方法

暂时 关闭 NN AEC 功能 ,确认重启现象消失,即可锁定为 NN AEC 导致的栈不足。

然后逐步增大栈空间,直到问题不再出现。


长期优化建议

  • 为包含复杂算法的任务(如语音唤醒、AEC)分配 独立且充足的栈空间

  • 避免在实时音频处理路径中使用递归或动态内存分配。

  • 使用静态栈分析工具(如 arm-none-eabi-objdump 查看函数调用深度)辅助评估栈需求。

如果上述调整后问题依旧,请提供 NN AEC 模块的集成代码片段或栈配置细节,以便进一步分析。

相关推荐
只是甲3 小时前
Text2SQL 系列博客 02:技术原理深度剖析 - 从自然语言到 SQL 的完整链路
人工智能·text2sql·nl2sql·ai agent·自助数据分析·data agent·agentic 数据洞察
懷淰メ4 小时前
【AI赋能】基于PyQt+YOLO+DeepSeek水上漂浮物检测系统(详细介绍)
人工智能·yolo·目标检测·计算机视觉·pyqt·漂浮物·水上漂浮物
EQUINOX14 小时前
【论文精读】| CLIP精读
大数据·人工智能
PC2005-cloud4 小时前
博文已索引但不展示:一次 Bing SEO 问题排查记录
服务器·人工智能
weixin_408099674 小时前
2026 图片去文字 API 实战:AI一键去除图片文字(附 Python / Java / PHP / JS 完整代码)
人工智能·api接口·图片去水印·石榴智能·ai图像修复·图片去文字
幻影123!4 小时前
从零训练一个会下五子棋的AI
python·深度学习·神经网络·强化学习·五子棋·alpha zero·mokugo
greenbbLV4 小时前
2026节日慰问品政策解读:合规标准升级与福利行业新趋势
人工智能·节日
奈斯先生Vector5 小时前
告别工具碎片化:基于 Nano Banana 全模态 AI 聚合架构搭建“文本-图像-视频”自动化协同生产线
运维·数据库·人工智能·架构·自动化·aigc·音视频
领麦微红外5 小时前
国产MEMS红外测温传感器:传感器+算法+产品级出厂标定一站式交付模式深度解读
人工智能·硬件工程·产品经理
mingo_敏5 小时前
DeepAgents : 检索(Retrieval)
人工智能·深度学习·langchain