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(),但挂起任务调度器使得函数具备线程保护的安全特性。

posted @ 2016-03-23 10:04  Risun_Lee  阅读(622)  评论(0编辑  收藏  举报