Microchip® Advanced Software Framework

freertos-7.3.0/source/portable/memmang/heap_4.c File Reference
#include <stdlib.h>
#include "../../include/FreeRTOS.h"
#include "../../include/task.h"

Data Structures

struct  A_BLOCK_LINK
 
union  xRTOS_HEAP
 

Macros

#define heapMINIMUM_BLOCK_SIZE   ( ( size_t ) ( heapSTRUCT_SIZE * 2 ) )
 
#define MPU_WRAPPERS_INCLUDED_FROM_API_FILE
 

Typedefs

typedef struct A_BLOCK_LINK xBlockLink
 

Functions

static void prvHeapInit (void)
 
static void prvInsertBlockIntoFreeList (xBlockLink *pxBlockToInsert)
 
void * pvPortMalloc (size_t xWantedSize)
 
void vApplicationMallocFailedHook (void)
 
void vPortFree (void *pv)
 
void vPortInitialiseBlocks (void)
 
size_t xPortGetFreeHeapSize (void)
 

Variables

static const unsigned short heapSTRUCT_SIZE = ( sizeof( xBlockLink ) + portBYTE_ALIGNMENT - ( sizeof( xBlockLink ) % portBYTE_ALIGNMENT ) )
 
static xBlockLinkpxEnd = NULL
 
static size_t xFreeBytesRemaining = ( ( size_t ) configTOTAL_HEAP_SIZE ) & ( ( size_t ) ~portBYTE_ALIGNMENT_MASK )
 
static union xRTOS_HEAP xHeap
 
static xBlockLink xStart
 
static const size_t xTotalHeapSize = ( ( size_t ) configTOTAL_HEAP_SIZE ) & ( ( size_t ) ~portBYTE_ALIGNMENT_MASK )
 

#define heapMINIMUM_BLOCK_SIZE   ( ( size_t ) ( heapSTRUCT_SIZE * 2 ) )

Referenced by pvPortMalloc().

#define MPU_WRAPPERS_INCLUDED_FROM_API_FILE

typedef struct A_BLOCK_LINK xBlockLink

static void prvHeapInit ( void  )
static
static void prvInsertBlockIntoFreeList ( xBlockLink pxBlockToInsert)
static
void vApplicationMallocFailedHook ( void  )

Referenced by pvPortMalloc().

void vPortInitialiseBlocks ( void  )
size_t xPortGetFreeHeapSize ( void  )

const unsigned short heapSTRUCT_SIZE = ( sizeof( xBlockLink ) + portBYTE_ALIGNMENT - ( sizeof( xBlockLink ) % portBYTE_ALIGNMENT ) )
static
xBlockLink * pxEnd = NULL
static
size_t xFreeBytesRemaining = ( ( size_t ) configTOTAL_HEAP_SIZE ) & ( ( size_t ) ~portBYTE_ALIGNMENT_MASK )
static

Referenced by xPortGetFreeHeapSize().

union xRTOS_HEAP xHeap
static

Referenced by prvHeapInit().

xBlockLink xStart
static

Referenced by pvPortMalloc().

const size_t xTotalHeapSize = ( ( size_t ) configTOTAL_HEAP_SIZE ) & ( ( size_t ) ~portBYTE_ALIGNMENT_MASK )
static