标签:技术分享 地方 head 过程 应用 nts define 超过 不同
Freertos的内存管理分别在heap_1.c,heap_2.c,heap_3.c,heap_4.c,heap_5.c个文件中,选择合适的一种应用于嵌入式项目中即可。
本文的图片中
红色部分Block代表:在内存对齐过程中舍弃掉的部分字节。
蓝色部分Block代表:链表结构体头,包含可以分配的内存大小和Next指针。
绿色部分Block代表:实际可分配给用户的内存。
黄色部分Block代表:已经分配给用户的内存。
?
?### vPortFree():
?
?###vPortFree():
在标准库的基础上,简单地加上线程安全的处理,保证malloc不会被线程切换打断。
?
?###vPortFree():
Malloc和Free方法和heap_4.c一模一样。
区别在与heap_4.c使用prvHeapInit()函数将ucHeap这个全局变量作为内存区,而heap_5.c没有这个prvHeapInit()函数,而是提供了另一个函数vPortDefineHeapRegions(),自己定义内存区。
标签:技术分享 地方 head 过程 应用 nts define 超过 不同
原文地址:https://www.cnblogs.com/xw-kaka/p/9329260.html