freeRTOS 的内存申请与释放
经过测试,内存申请和及时释放可以安全使用内存。
但是内存释放的时候,不会让所输入的指针变0,这个需要注意。
xPortGetFreeHeapSize 获取剩余堆大小
pvPortMalloc 申请内存
vPortFree 释放内存
举例:
u8 *pin =(u8*)pvPortMalloc(1024*2);
if(pin)
{
printf("new2 ram= %08x GetFree:%d\n",pin,xPortGetFreeHeapSize());
vPortFree(pin);
}
编程的时候,可以将临时任务中的临时大内存均使用任务开始开启,任务结束结束的方式临时调用,效率更高,安全的关键点,就主要在内存管理上面了。