FreeRTOS代码阅读笔记:heap_3.c

FreeRTOS中对于内存的管理当前一共有5种实现方式(作者当前的版本是10.1.1),均在【 \Source\portable\MemMang 】下面,这里笔记下。

 pvPortMalloc() 和 vPortFree() 的实现是基于 malloc()和 free()实现的,此时configTOTAL_HEAP_SIZE 是无效的。

改变内存堆是通过修改启动文件来实现的。

heap3使得内存分配变得不确定性,可能会增加代码量。其特点是将标准函数的malloc()和free()函数封装,使其具有线程保护功能。

 

/// 

heap_3.c:

/*根据上面的注释可以知道,这里 pvPortMalloc() 和 vPortFree() 的实现是基于 malloc()和 free() 。
由于使用了标准C函数中的内存申请和释放,因此使用前一定要在工程中设置好堆内存。
*/

#include <stdlib.h>

/* Defining MPU_WRAPPERS_INCLUDED_FROM_API_FILE prevents task.h from redefining
all the API functions to use the MPU wrappers.  That should only be done when
task.h is included from 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值