52#ifndef portENTER_CRITICAL
56#if portBYTE_ALIGNMENT == 32
57 #define portBYTE_ALIGNMENT_MASK ( 0x001f )
58#elif portBYTE_ALIGNMENT == 16
59 #define portBYTE_ALIGNMENT_MASK ( 0x000f )
60#elif portBYTE_ALIGNMENT == 8
61 #define portBYTE_ALIGNMENT_MASK ( 0x0007 )
62#elif portBYTE_ALIGNMENT == 4
63 #define portBYTE_ALIGNMENT_MASK ( 0x0003 )
64#elif portBYTE_ALIGNMENT == 2
65 #define portBYTE_ALIGNMENT_MASK ( 0x0001 )
66#elif portBYTE_ALIGNMENT == 1
67 #define portBYTE_ALIGNMENT_MASK ( 0x0000 )
69 #error "Invalid portBYTE_ALIGNMENT definition"
72#ifndef portUSING_MPU_WRAPPERS
73 #define portUSING_MPU_WRAPPERS 0
76#ifndef portNUM_CONFIGURABLE_REGIONS
77 #define portNUM_CONFIGURABLE_REGIONS 1
80#ifndef portHAS_STACK_OVERFLOW_CHECKING
81 #define portHAS_STACK_OVERFLOW_CHECKING 0
85 #define portARCH_NAME NULL
88#ifndef configSTACK_DEPTH_TYPE
89 #define configSTACK_DEPTH_TYPE StackType_t
92#ifndef configSTACK_ALLOCATION_FROM_SEPARATE_HEAP
94 #define configSTACK_ALLOCATION_FROM_SEPARATE_HEAP 0
111#if ( portUSING_MPU_WRAPPERS == 1 )
112 #if ( portHAS_STACK_OVERFLOW_CHECKING == 1 )
127 #if ( portHAS_STACK_OVERFLOW_CHECKING == 1 )
189#if ( configSTACK_ALLOCATION_FROM_SEPARATE_HEAP == 1 )
193 #define pvPortMallocStack pvPortMalloc
194 #define vPortFreeStack vPortFree
203#if ( configUSE_MALLOC_FAILED_HOOK == 1 )
213 void vApplicationMallocFailedHook(
void );
236#if ( portUSING_MPU_WRAPPERS == 1 )
238 void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings,
254#if ( portUSING_MPU_WRAPPERS == 1 )
255 BaseType_t xPortIsAuthorizedToAccessBuffer(
const void * pvBuffer,
256 uint32_t ulBufferLength,
269#if ( ( portUSING_MPU_WRAPPERS == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) )
#define configSTACK_DEPTH_TYPE
Definition FreeRTOSConfig.h:107
#define PRIVILEGED_FUNCTION
Definition mpu_wrappers.h:269
void vPortDefineHeapRegions(const HeapRegion_t *const pxHeapRegions) PRIVILEGED_FUNCTION
BaseType_t xPortStartScheduler(void) PRIVILEGED_FUNCTION
Definition port.c:300
void * pvPortMalloc(size_t xWantedSize) PRIVILEGED_FUNCTION
size_t xPortGetMinimumEverFreeHeapSize(void) PRIVILEGED_FUNCTION
void vPortFree(void *pv) PRIVILEGED_FUNCTION
void vPortInitialiseBlocks(void) PRIVILEGED_FUNCTION
void * pvPortCalloc(size_t xNum, size_t xSize) PRIVILEGED_FUNCTION
size_t xPortGetFreeHeapSize(void) PRIVILEGED_FUNCTION
#define pvPortMallocStack
Definition portable.h:193
void vPortEndScheduler(void) PRIVILEGED_FUNCTION
Definition port.c:456
void vPortHeapResetState(void) PRIVILEGED_FUNCTION
void vPortGetHeapStats(HeapStats_t *pxHeapStats)
StackType_t * pxPortInitialiseStack(StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters) PRIVILEGED_FUNCTION
Definition port.c:196
struct HeapRegion HeapRegion_t
#define vPortFreeStack
Definition portable.h:194
struct xHeapStats HeapStats_t
long BaseType_t
Definition portmacro.h:59
portSTACK_TYPE StackType_t
Definition portmacro.h:58
void(* TaskFunction_t)(void *arg)
Definition projdefs.h:36
Definition portable.h:142
size_t xSizeInBytes
Definition portable.h:144
uint8_t * pucStartAddress
Definition portable.h:143
Definition portable.h:149
size_t xNumberOfSuccessfulAllocations
Definition portable.h:155
size_t xNumberOfSuccessfulFrees
Definition portable.h:156
size_t xMinimumEverFreeBytesRemaining
Definition portable.h:154
size_t xAvailableHeapSpaceInBytes
Definition portable.h:150
size_t xSizeOfLargestFreeBlockInBytes
Definition portable.h:151
size_t xNumberOfFreeBlocks
Definition portable.h:153
size_t xSizeOfSmallestFreeBlockInBytes
Definition portable.h:152