【FreeRTOS】使用指南5:内存管理
本章期望让读者了解以下事情:
FreeRTOS 在什么时候分配内存。
FreeRTOS 提供的三种内存分配方案范例。
1. FreeRTOS 在什么时候分配内存。
每当任务,队列或是信号量被创建时,内核需要进行动态内存分配。
2.FreeRTOS 提供的三种内存分配方案范例。
Heap_1,只分配,不释放
适合不需要删除任务,队列或者信号量的应用程序
Heap_2,采用了一个最佳匹配算法来分配内存,并且支持内存释放
Heap_2 并不会把相邻的空闲块合并成一个更大的内存块,所以会产生内存碎片(增强版Heap_4可以支持合并)
适合用于那些重复创建与删除具有相同栈空间任务的应用程序。
Heap_3简单地调用了标准库函数 malloc()和 free(),但是通过暂时挂起调度器使
得函数调用备线程安全特性
使用指南只介绍了3种分配方案,实际上FreeRTOS存在5种分配方案还有Heap_4和Heap_5
总结: