嵌入式操作系统FreeRTOS内存管理内容
原文中文,约5500字,阅读约需14分钟。发表于: 。前段时间FreeRTOS官网的界面发生了变化,接下来可能会有大的动作,感兴趣的朋友可以去看一下。
FreeRTOS从V9.0.0开始,应用程序可以完全静态分配,无需堆内存管理器。FreeRTOS提供了五个示例实现pvPortMalloc()和vPortFree(),分别是heap_1、heap_2、heap_3、heap_4和heap_5。heap_1最简单,不允许释放内存;heap_2允许释放内存,但不能合并相邻的空闲块;heap_3使用标准库函数malloc()和free(),保证线程安全;heap_4合并相邻的空闲块以避免碎片;heap_5可以跨多个不相邻的内存区域扩展堆的能力。