目录

一、CubeMX中关于内存的配置

1.HEAP_SIZE为所开辟的数组大小

2.heap_4是一种开辟的数组的使用方法,共有5种

二、heap中与内存管理有关的函数


一、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失败的信息打印

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐