【FreeRTOS】第四课:内存管理
摘要:本文介绍了CubeMX中内存配置的相关内容,包括HEAP_SIZE定义数组大小和heap_4等5种内存管理方法。重点讲解了FreeRTOS中的内存管理函数:pvPortMalloc用于内存分配,vPortFree用于内存释放,xPortGetFreeHeapSize获取当前空闲内存,xPortGetMinimumEverFreeHeapSize记录最小空闲内存,以及malloc失败回调函数v
·
目录
一、CubeMX中关于内存的配置
FreeRTOS中内存管理的接口函数为:pvPortMalloc 、vPortFree,对应于C库的malloc、 free。
在CubeMx中对于堆空间的开辟都是用数组实现的
1.HEAP_SIZE为所开辟的数组大小
在代码中使用数组来开辟内存空间
2.heap_4是一种开辟的数组的使用方法,共有5种
heap1~5都有相同功能的同名函数,在一定程度上功能是相似的,但仍有各自的优缺点
heap文件位于FreeRTOS的中间件文件夹内
二、heap中与内存管理有关的函数
void * pvPortMalloc( size_t xWantedSize );
作用:开辟内存空间
void vPortFree( void * pv );
作用:释放内存空间
size_t xPortGetFreeHeapSize( void );
作用:获取当前空闲内存大小
size_t xPortGetMinimumEverFreeHeapSize( void );
作用:程序运行过程中,空闲内存容量的最小值
vApplicationMallocFailedHook();
作用:定义在pvPortMalloc()函数中的函数,可在此函数内实现malloc失败的信息打印
更多推荐
所有评论(0)