黄山派开启蓝牙音频的时候,连接小智服务器会出现内存错误

我在弄黄山派的时候发现在蓝牙播放音频期间通过webclient连接小智服务器时会出现malloc失败导致的死机,然后我通过msh脚本的free查看内存使用情况时发现总的内存为300k左右,蓝牙开启音频播放后(total memory: 310652 used memory : 178084 maximum allocated memory: 272984),然后如果此时连接小智服务器,直接内存导致死机。

transparent

image

可以上传一个dump和log文件

就是在黄山派程序中开启蓝牙sink,sdk中bt_sink的代码修改在上面。在蓝牙播放音频的时候连接小智服务器就会触发死机,log打印的就是malloc失败。我这边是因为pan断开无法确定是否正确连接的问题,使用定时器5s发送一次小智的webclient事件检查pan是否连接,由此发现的这个问题

传一个串口日志吧

这种?

是的,可以把这个文件上传一下

sifli.txt (27.9 KB)操作步骤是,先开启蓝牙音频,然后再开pan

不连接小智会死机吗

不连接小智不会死机,感觉就是audio_open这个函数申请的内存是片内sram的,如果malloc申请的内存换成外部的psram空间就解决了。网络部分你们的sdk没有细看,应该也是malloc直接申请的片内sram,当然我的建议是在menuconfig种加一个开关可以选择使用内部还是外部的ram。

参照这个操作导一个死机dump吧,我看看内存是怎么配的

lpsys_aon_reg.bin|附件 (264 字节)

log.txt|附件 (3.0 KB)

需要把dump完的整个文件夹以(类似这个)及编译完的main.axf,main.bin,main.map一起打包上传

sifli_202511208.7z (159.3 KB)是这个吧

还需要编译完后的build文件夹下的这几个文件

sifli_20251209.7z (5.8 MB)板子是我们自己重新做的,底层的板级文件有改动的

看起来是不是什么地方有内存泄漏呀,你们可以检查一下

好的,我检查一下,谢谢了