FreeRTOS——内存管理
1. 标准malloc() 和 free() 库函数的缺陷:
1)在小型的嵌入式系统中,可能不可用。
2)具体实现相对较大,占用较多宝贵的代码空间。
3)通常不具备线程安全性。
4)具有不确定性,每次调用的时间开销可能不同。
5)会产生内存碎片。
6)会使得链接器、配置的复杂。
2. 内存分配方案范例。
1)Heap_1.c 仅实现 pvPortMalloc(),而没有实现pvPortFree(),但是 Heap_1.c 总是具有确定性。
2)Heap_2.c 采用最佳匹配算法来分配内存,并支持内存释放。
3)Heap_3.c 调用 malloc() 和 Free(),但挂起任务调度器使得函数具备线程保护的安全特性。
What can I do for you ?