freeRTOS 的内存申请与释放

经过测试,内存申请和及时释放可以安全使用内存。

但是内存释放的时候,不会让所输入的指针变0,这个需要注意。

 

xPortGetFreeHeapSize  获取剩余堆大小

pvPortMalloc  申请内存

vPortFree  释放内存

 

举例:

 u8 *pin =(u8*)pvPortMalloc(1024*2);
        
        if(pin)
            {
                          printf("new2 ram= %08x GetFree:%d\n",pin,xPortGetFreeHeapSize());
            vPortFree(pin);

            }

 

编程的时候,可以将临时任务中的临时大内存均使用任务开始开启,任务结束结束的方式临时调用,效率更高,安全的关键点,就主要在内存管理上面了。

 

posted @ 2020-10-30 10:36  上下求索之  阅读(2339)  评论(0编辑  收藏  举报