This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CC1352P:初始化打包器时内存分配失败

Guru**** 2943400 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1094708/cc1352p-memory-allocation-fails-when-initializing-packetizer

部件号:CC1352P

您好,

我目前正在尝试通过EasyLink项目中的音频插件(基于rfEasyLinkEcho示例)的Opus编解码器(基于rfAudioTx示例)实现音频流功能。 但是,当 Packetizer_open函数尝试为 Opus编解码器的暂存缓冲区(1.32万字节)分配内存时,返回一个NULL指针,这将导致封包处理程序未正确初始化。 我不知道为什么分配失败,我不知道为什么会发生这种情况。  

但是,如下所示,从内存分配视图判断,芯片应该有足够的可用内存。

这是我的调用栈:

相同内存大小的分配(显然)适用于rfAudioTx示例本身。 以下代码行(绿色)是返回NULL指针的调用,该指针位于 CC13x2 CC26x2 5.20 .00.52 版本的文件release_pem4f.c中。

如果您需要更多信息,请告诉我。

提前感谢您的参与。

问候,

Alex

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Alex:

    这里有几件事需要考虑。
    是第一次分配内存吗? 这是否是唯一分配内存的时间?

    堆大小是多少? 这可以在项目的链接程序命令文件中找到。  

    此致,

    SID

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Sid,

    由于您的提示,我得以解决问题。 不,这不是第一次分配内存,但堆大小仅为0x4000 (1.6384万字节), 堆内存太满,无法再分配1.32万字节。 这是一个简单的解决方法,我将堆大小增加了一倍,达到0x8000,现在它可以正常工作。

    谢谢你。