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.
您好!
我正在使用 MCU_PLUS_SDK_243x。
在一个文件中 C:\ti\mcu_plus_sdk_am243x_08_06_00_43\source\kernel\freertos\freertos-kernel\MemMang\heap_4.c
我找到一个函数 、其中有一个未定义的变量- ucHeap
static void prvHeapInit ( void )/* privacy_function */
{
/*确保堆在正确对齐的边界上开始。 */
uxAddress =(size_t) ucHeap ;
}
链接器提示 '。 /heap_4.c:350:对"ucHeap"的`未定义
这个变量是什么?
哪个值更适合分配给它?
谢谢。
Eli
尊敬的 Eli:
ucHeap 由用户应用程序或 heap_4.c 中的 FreeRTOS 定义:
/*为堆分配内存空间。 */
#if ( configAPPLICATION_alloced_heap == 1 )
/*应用程序编写人员已定义用于 RTOS 的数组
*堆-也许这样它可以被放置在一个特殊段或地址中。 */
extern uint8_t ucHeap [ configTOTAL_HEAP_SIZE ];
#else
特权数据静态 uint8_t ucHeap [ configTOTAL_HEAP_SIZE ];
#endif /* configAPPLICATION_alloced_heap */
在 MCU+ SDK 中、configAPPLICATION_ALLOCATED_HEAP 始终定义为0、因此应在 heap_4.c 中定义 ucHeap。
此致、
明
尊敬的 Ming:
我只需添加 uint8_t ucHeap [ configTOTAL_HEAP_SIZE ]; 在 heap_4.c 内?
谢谢。
Eli
尊敬的 Eli:
因为在 MCU+ SDK 中、configAPPLICATION_alloced_heap 始终定义为0、因此 ucHeap 应已在 heap_4.c 中定义:
特权数据静态 uint8_t ucHeap [ configTOTAL_HEAP_SIZE ];
如果您仍获得" 公司名称: /heap_4.c:350:对 μ`ucHeap "的未定义引用、请确保您的 configAPPLICATION_alloced_heap 未定义为1。
发生此错误时、您要构建哪个示例?
此致、
明
尊敬的 Ming:
您之前的回答非常有帮助-它现在工作!
谢谢。
Eli