Microchip® Advanced Software Framework

freertos-10.0.0/Source/portable/MemMang/heap_5.c File Reference
#include <stdlib.h>
#include "FreeRTOS.h"
#include "task.h"

Data Structures

struct  A_BLOCK_LINK
 

Macros

#define heapBITS_PER_BYTE   ( ( size_t ) 8 )
 
#define heapMINIMUM_BLOCK_SIZE   ( ( size_t ) ( xHeapStructSize << 1 ) )
 
#define MPU_WRAPPERS_INCLUDED_FROM_API_FILE
 

Typedefs

typedef struct A_BLOCK_LINK BlockLink_t
 

Functions

static void prvInsertBlockIntoFreeList (BlockLink_t *pxBlockToInsert)
 
void * pvPortMalloc (size_t xWantedSize)
 
void vPortDefineHeapRegions (const HeapRegion_t *const pxHeapRegions)
 
void vPortFree (void *pv)
 
size_t xPortGetFreeHeapSize (void)
 
size_t xPortGetMinimumEverFreeHeapSize (void)
 

Variables

static BlockLink_tpxEnd = NULL
 
static size_t xBlockAllocatedBit = 0
 
static size_t xFreeBytesRemaining = 0U
 
static const size_t xHeapStructSize = ( sizeof( BlockLink_t ) + ( ( size_t ) ( portBYTE_ALIGNMENT - 1 ) ) ) & ~( ( size_t ) portBYTE_ALIGNMENT_MASK )
 
static size_t xMinimumEverFreeBytesRemaining = 0U
 
static BlockLink_t xStart
 

#define heapBITS_PER_BYTE   ( ( size_t ) 8 )

Referenced by vPortDefineHeapRegions().

#define heapMINIMUM_BLOCK_SIZE   ( ( size_t ) ( xHeapStructSize << 1 ) )

Referenced by pvPortMalloc().

#define MPU_WRAPPERS_INCLUDED_FROM_API_FILE

typedef struct A_BLOCK_LINK BlockLink_t

static void prvInsertBlockIntoFreeList ( BlockLink_t pxBlockToInsert)
static
void vPortDefineHeapRegions ( const HeapRegion_t *const  pxHeapRegions)
size_t xPortGetFreeHeapSize ( void  )

References xFreeBytesRemaining.

size_t xPortGetMinimumEverFreeHeapSize ( void  )

size_t xBlockAllocatedBit = 0
static

Referenced by pvPortMalloc().

size_t xFreeBytesRemaining = 0U
static
const size_t xHeapStructSize = ( sizeof( BlockLink_t ) + ( ( size_t ) ( portBYTE_ALIGNMENT - 1 ) ) ) & ~( ( size_t ) portBYTE_ALIGNMENT_MASK )
static
size_t xMinimumEverFreeBytesRemaining = 0U
static
BlockLink_t xStart
static

Referenced by pvPortMalloc().