轻量级操作系统FreeRTOS的内存管理机制(三)

本文深入分析了FreeRTOS中heap4.c和heap5.c的内存管理机制。heap4.c通过链表管理空闲块,支持地址相邻空闲块的合并,解决了内存碎片问题。而在heap5.c中,系统能处理多块不连续的RAM空间,通过HeapRegion_t结构体链接不同内存区域。文章还详细解释了内存分配、回收及初始化过程。
摘要由CSDN通过智能技术生成

轻量级操作系统FreeRTOS的内存管理机制(二)中讲到,heap2.c的内存管理机制会导致内存碎片的问题,系统运行久后会出现无法分配大块内存的情况,heap4.c中的管理机制提供了解决方法,它是在heap2.c的基础上添加了地址相邻空闲块间合并的功能,而heap5.c是对heap4.c的进一步扩展,它能够支持多块不连续分布的RAM空间作为堆使用,本篇将对heap4.c、heap5.c中的管理机制进行分析。

 

一、heap4.c

1.重要结构体

 

 

 

2.重要变量

 

 

 

xBlockAllocatedBit在堆初始化时被赋值为:

 

 

 

即最高位为1,在分配内存的时候xBlockSize将和置位变量xBlockAllocatedBit相与,使得xBlockSize最高位置位,表示改内存块属于应用程序;在回收内存时,通过xBlockSize

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值