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.

[参考译文] pvPortMalloc()返回 NULL

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/1262973/pvportmalloc-returns-null

您好!

在 MCU_PLUS_SDK_243x TCP 服务器示例中、我已将 FreeRTOS 从使用 heap_3.c 至 heap_4.c  (除此之外、我将使用原始 clang 编译器和设置。)

示例崩溃。

我在中看到 app_main.c

静态空 App_setupNetworkStack()
{

SYS_SEM_t pInitSem;
const err_t err = sys_sm_new (&pInitSem、0);

 pInitSem 获取地址0x00000048

那么 pvPortMalloc() 返回0x00000000

则此示例卡在 Debug_Log 中、

我可以采取什么步骤来找出哪里出了问题?

谢谢。

Eli

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

    尊敬的 Eli:

    似乎 FreeRTOS 没有足够的堆用于动态内存分配以创建其资源、如信标。

    您希望从 heap_3.c 切换到 heap_4.c 的原因是什么? 默认情况下、应使用 heap_3.c。

    此致、

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

    尊敬的 Ming:

    你是对的,原始示例使用 heap_3.c 并且运行良好。

    我只想了解 heap_4.c 以供将来使用。

    我将尝试在 linker.cmd 中定义更多堆。

    谢谢。

    Eli