本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
管理应用程序内存
当应用程序需要内存时,可以从 FreeRTOS 堆进行分配。FreeRTOS 提供了多种堆管理方案,复杂性和功能各不相同。您也可以提供自己的堆实施。
FreeRTOS 内核包含以下五个堆实施:
heap_1
-
是最简单的实施。不允许释放内存。
heap_2
-
允许释放内存,但不合并相邻的空闲数据块。
heap_3
-
对标准的
malloc()
和free()
进行包装以确保线程安全。 heap_4
-
合并相邻的空闲数据块以避免碎片。包括绝对地址放置选项。
heap_5
-
类似于 heap_4。可以跨越多个非相邻内存区域中的堆。