关于freertos的heap_4分配内存的方式以及首次适应算法
FreeRTOS的heap_4是一种动态内存分配方案,它使用首次适应算法来分配内存,并且会合并相邻的空闲块以减少内存碎片化。以下是heap_4的一些主要特点和使用方法:
特点
-
首次适应算法:当请求内存时,heap_4会从头开始搜索空闲内存块列表,找到第一个足够大的块进行分配。
-
合并空闲块:当释放内存块时,heap_4会检查相邻的内存块是否也是空闲的,如果是,则将它们合并成一个更大的空闲块,以减少碎片化。
-
确定性较低:虽然heap_4比heap_2更不容易产生碎片,但它并不是一个确定性的内存分配方案,因为分配和释放内存的时间取决于空闲块列表的长度。
-
适合频繁删除对象的应用:heap_4可以用于应用程序频繁删除任务、队列、信号量等对象的情况
heap4就是加了首次适应算法和合并内存的heap2,也是freertos移植时使用最普遍的内存管理方法。
但heap4,没法合并分割开的内存,但heap5可以,其余一致