#include <stdlib.h>
#include "FreeRTOS.h"
#include "task.h"
#define configADJUSTED_HEAP_SIZE ( configTOTAL_HEAP_SIZE - portBYTE_ALIGNMENT ) |
#define MPU_WRAPPERS_INCLUDED_FROM_API_FILE |
#define prvInsertBlockIntoFreeList |
( |
|
pxBlockToInsert | ) |
|
Value:
size_t xBlockSize; \
\
\
\
\
{ \
\
} \
\
\
\
pxBlockToInsert->pxNextFreeBlock = pxIterator->pxNextFreeBlock; \
pxIterator->pxNextFreeBlock = pxBlockToInsert; \
}
static xBlockLink xStart
Definition: freertos-7.5.2/Source/portable/MemMang/heap_2.c:110
struct A_BLOCK_LINK * pxNextFreeBlock
Definition: freertos-7.4.2/Source/portable/MemMang/heap_2.c:111
struct A_BLOCK_LINK xBlockLink
size_t xBlockSize
Definition: freertos-7.4.2/Source/portable/MemMang/heap_2.c:112
Referenced by pvPortMalloc(), and vPortFree().
static void prvHeapInit |
( |
void |
| ) |
|
|
static |
void* pvPortMalloc |
( |
size_t |
xWantedSize | ) |
|
References configADJUSTED_HEAP_SIZE, heapMINIMUM_BLOCK_SIZE, heapSTRUCT_SIZE, NULL, pdFALSE, pdTRUE, prvHeapInit(), prvInsertBlockIntoFreeList, A_BLOCK_LINK::pxNextFreeBlock, vApplicationMallocFailedHook(), vTaskSuspendAll(), A_BLOCK_LINK::xBlockSize, xStart, and xTaskResumeAll().
void vPortFree |
( |
void * |
pv | ) |
|
void vPortInitialiseBlocks |
( |
void |
| ) |
|
size_t xPortGetFreeHeapSize |
( |
void |
| ) |
|
const unsigned short heapSTRUCT_SIZE = ( ( sizeof ( xBlockLink ) + ( portBYTE_ALIGNMENT - 1 ) ) & ~portBYTE_ALIGNMENT_MASK ) |
|
static |
unsigned char ucHeap[configTOTAL_HEAP_SIZE] |
|
static |