esp-idf的内存管理——tlsf之上的封装

15 篇文章 ¥9.90 ¥99.00
本文介绍了ESP-IDF如何在其TLSF内存管理基础上进行封装,以实现上下层接口分离,增强通用性和堆调试功能。内容涵盖多heap结构、heap_caps管理以及内存申请、释放和完整性检测的接口实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 为什么要封装

封装通常会降低效率,但能够带来诸如通用性提升等好处,idf在tlsf的基础上增加封装,其作用可以概括为以下两点:

  1. 上下层接口分离,上层接口和底层实际使用的内存管理算法无关,这样,以后有更优秀的算法,也可以很方便移植
  2. 单纯的tlsf没办法满足idf的需要,比如不支持内存的caps,没有堆调试特性,因而增加上层封装以提供更多的功能

2 先看结构

还是从结构来看上层封装的具体设计与实现。上层封装更具体的说,有两层,分别是multi heap层和更上层的heap caps层(不妨就这么称呼吧)。其实现分别位于multi_heap.c以及heap_caps.c。先看multi heap层,这一层提供了可选的堆调试配置项,这里仅介绍不含堆调试的部分(堆调试以及上层的堆初始化会在后面的博客中专门介绍)。

2.1 multi heap

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值