FreeRTOS的内存管理,目前有5个(版本8.2.3下),有heap_1.c, heap_2.c, heap_3.c, heap_4.c and heap_5.c,并不是网上说的,要用heap_2.c怎么的,当然.他们是有区别的.
- heap_1.c 最简单的分配器,不允许内存释放.
- heap_2.c 比heap_1.c改进的地方就是可以释放内存了.
- heap_3.c是针对线程安全的.
- heap_4.c可以合并相邻的空块,避免碎片,可以指定绝对地址.
- heap_5.c比heap_4.c改进的地方是,可以合并不相邻的空闲内存.
使用heap_2.c做实验,最初是为了简单,不容易出错,如果内存比较大,并且可能产生不少碎片,那应该用heap_5的方式,是最好的,当然,这个内存管理工具也比较耗费内存.