管理应用程序内存 - FreeRTOS

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

管理应用程序内存

当应用程序需要内存时,可以从 FreeRTOS 堆进行分配。FreeRTOS 提供了多种堆管理方案,复杂性和功能各不相同。您也可以提供自己的堆实施。

FreeRTOS 内核包含以下五个堆实施:

heap_1

是最简单的实施。不允许释放内存。

heap_2

允许释放内存,但不合并相邻的空闲数据块。

heap_3

对标准的 malloc()free() 进行包装以确保线程安全。

heap_4

合并相邻的空闲数据块以避免碎片。包括绝对地址放置选项。

heap_5

类似于 heap_4。可以跨越多个非相邻内存区域中的堆。