Skip to content

File heap_4.c

FileList > FreeRTOS > src > heap_4.c

Go to the source code of this file.

  • #include <stdlib.h>
  • #include "FreeRTOS.h"
  • #include "task.h"

Classes

Type Name
struct A_BLOCK_LINK

Public Types

Type Name
typedef struct A_BLOCK_LINK BlockLink_t

Public Static Attributes

Type Name
BlockLink_t * pxEnd = = NULL
uint8_t ucHeap
size_t xBlockAllocatedBit = = 0
size_t xFreeBytesRemaining = = 0U
const size_t xHeapStructSize = = (sizeof(BlockLink_t) + ((size_t)(portBYTE_ALIGNMENT - 1)))
& ~((size_t)portBYTE_ALIGNMENT_MASK)
size_t xMinimumEverFreeBytesRemaining = = 0U
size_t xNumberOfSuccessfulAllocations = = 0
size_t xNumberOfSuccessfulFrees = = 0
BlockLink_t xStart

Public Functions

Type Name
void * pvPortMalloc (size_t xWantedSize)
void vPortFree (void * pv)
void vPortGetHeapStats (HeapStats_t * pxHeapStats)
void vPortInitialiseBlocks (void)
size_t xPortGetFreeHeapSize (void)
size_t xPortGetMinimumEverFreeHeapSize (void)

Public Static Functions

Type Name
void prvHeapInit (void)
void prvInsertBlockIntoFreeList (BlockLink_t * pxBlockToInsert)

Macros

Type Name
define MPU_WRAPPERS_INCLUDED_FROM_API_FILE
define heapBITS_PER_BYTE ((size_t)8)
define heapMINIMUM_BLOCK_SIZE ((size_t)(xHeapStructSize << 1))

Public Types Documentation

typedef struct A_BLOCK_LINK BlockLink_t;

Public Static Attributes Documentation

variable pxEnd

BlockLink_t * pxEnd;

variable ucHeap

uint8_t ucHeap[configTOTAL_HEAP_SIZE];

variable xBlockAllocatedBit

size_t xBlockAllocatedBit;

variable xFreeBytesRemaining

size_t xFreeBytesRemaining;

variable xHeapStructSize

const size_t xHeapStructSize;

variable xMinimumEverFreeBytesRemaining

size_t xMinimumEverFreeBytesRemaining;

variable xNumberOfSuccessfulAllocations

size_t xNumberOfSuccessfulAllocations;

variable xNumberOfSuccessfulFrees

size_t xNumberOfSuccessfulFrees;

variable xStart

BlockLink_t xStart;

Public Functions Documentation

function pvPortMalloc

void * pvPortMalloc (
    size_t xWantedSize
) 

function vPortFree

void vPortFree (
    void * pv
) 

function vPortGetHeapStats

void vPortGetHeapStats (
    HeapStats_t * pxHeapStats
) 

function vPortInitialiseBlocks

void vPortInitialiseBlocks (
    void
) 

function xPortGetFreeHeapSize

size_t xPortGetFreeHeapSize (
    void
) 

function xPortGetMinimumEverFreeHeapSize

size_t xPortGetMinimumEverFreeHeapSize (
    void
) 

Public Static Functions Documentation

function prvHeapInit

static void prvHeapInit (
    void
) 

function prvInsertBlockIntoFreeList

static void prvInsertBlockIntoFreeList (
    BlockLink_t * pxBlockToInsert
) 

Macro Definition Documentation

define MPU_WRAPPERS_INCLUDED_FROM_API_FILE

#define MPU_WRAPPERS_INCLUDED_FROM_API_FILE 

define heapBITS_PER_BYTE

#define heapBITS_PER_BYTE ((size_t)8)

define heapMINIMUM_BLOCK_SIZE

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

The documentation for this class was generated from the following file fw/rbcx-coprocessor/lib/FreeRTOS/src/heap_4.c