工具/软件:TI-RTOS
你(们)好。
我在 TI-RTOS 基础上构建了我的项目、并且我需要使用标准 C 函数 malloc、free 和 realloc。
我阅读 了 SYS/BIOS (TI-RTOS 内核) v6.46 -用户指南 、我了解系统会自动将 malloc/free/realloc 重定向到系统堆。 是这样吗?
基本上、这就是我的情况:
- 我使用 TI-RTOS 函数分配和释放内存以使用系统堆
- memory_alloc( NULL,(SizeT) memSize,0,NULL );
- memory_free (NULL,(PTR*) pMemAddr,(SizeT) memSize);
- 我使用外部库(cJSON)来管理 JPN。 此库使用 malloc/free/realloc、我更喜欢避免代码更改。
- 动态存储器将分配到何处? 堆中呢?
SYS/BIOS 和 TI-RTOS 是否相同?
查看 SYS/BIOS、我阅读了有关如何配置系统堆的示例:
VAR BIOS = xdc.useModule('ti.sysbios.BIOS');
BIOS.heapSize = 0x900;
BIOS.heapSection ="systemHeapSap (系统堆)"
我的"app.cfg "文件以这种方式配置系统堆:
/* * BIOS 模块将为系统创建默认堆。 *指定此默认堆的大小。 // //BIOS.heapSize = 0x8000; Program.heap = 0x8000
以下哪项是正确的声明? BIOS.heapSize 或 Program.heap? 我有点困惑。 谢谢!