heap

xiaoxiao2021-02-28  162

heap_3.c

#include "FreeRTOS.h" #include "task.h" #undef MPU_WRAPPERS_INCLUDED_FROM_API_FILE #if( configSUPPORT_DYNAMIC_ALLOCATION == 0 )     #error This file must not be used if configSUPPORT_DYNAMIC_ALLOCATION is 0 #endif /*-----------------------------------------------------------*/ void *pvPortMalloc( size_t xWantedSize ) { void *pvReturn;     vTaskSuspendAll();           //关闭任务调度器     {         pvReturn = malloc( xWantedSize );  //调用标准c库         traceMALLOC( pvReturn, xWantedSize );     }     ( void ) xTaskResumeAll();       //恢复任务调度器     #if( configUSE_MALLOC_FAILED_HOOK == 1 )     {         if( pvReturn == NULL )         {             extern void vApplicationMallocFailedHook( void );             vApplicationMallocFailedHook();         }     }     #endif     return pvReturn; } /*-----------------------------------------------------------*/ void vPortFree( void *pv )   //内存释放 {     if( pv )     {         vTaskSuspendAll();         {             free( pv );             traceFREE( pv, 0 );         }         ( void ) xTaskResumeAll();     } } 注释: 在启动文件中  Heap_Size       EQU     0x00000200  来修改内存的大小
转载请注明原文地址: https://www.6miu.com/read-18081.html

最新回复(0)