Embedded Artistry Framework
Embedded Systems C++ Framework
Macros | Functions | Variables
port_cmsis.c File Reference
#include "FreeRTOS.h"
#include "task.h"
#include "portmacro_cmsis.h"
Include dependency graph for port_cmsis.c:

Macros

#define portCORTEX_M0_r0p0_ID   (0x410CC200UL)
 
#define portFIRST_USER_INTERRUPT_NUMBER   (16)
 
#define portMAX_8_BIT_VALUE   ((uint8_t)0xff)
 
#define portTOP_BIT_OF_BYTE   ((uint8_t)0x80)
 
#define portINITIAL_XPSR   (((xPSR_Type){.b.T = 1}).w)
 
#define portINITIAL_EXEC_RETURN   (0xfffffffd)
 
#define portTASK_RETURN_ADDRESS   prvTaskExitError
 

Functions

 STATIC_ASSERT (sizeof(portISRState_t)==sizeof(uint32_t))
 
void vPortSetupTimerInterrupt (void)
 
void xPortSysTickHandler (void)
 
void vPortStartFirstTask (void)
 
static void prvTaskExitError (void)
 
StackType_tpxPortInitialiseStack (StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters)
 
BaseType_t xPortStartScheduler (void)
 
void vPortEndScheduler (void)
 
void vPortTaskYield (void)
 
void vPortEnterCritical (void)
 
void vPortExitCritical (void)
 
void vPortSafeTaskSwitchContext (void)
 

Variables

static UBaseType_t uxCriticalNesting = 0
 

Macro Definition Documentation

◆ portCORTEX_M0_r0p0_ID

#define portCORTEX_M0_r0p0_ID   (0x410CC200UL)

◆ portFIRST_USER_INTERRUPT_NUMBER

#define portFIRST_USER_INTERRUPT_NUMBER   (16)

◆ portINITIAL_EXEC_RETURN

#define portINITIAL_EXEC_RETURN   (0xfffffffd)

◆ portINITIAL_XPSR

#define portINITIAL_XPSR   (((xPSR_Type){.b.T = 1}).w)

◆ portMAX_8_BIT_VALUE

#define portMAX_8_BIT_VALUE   ((uint8_t)0xff)

◆ portTASK_RETURN_ADDRESS

#define portTASK_RETURN_ADDRESS   prvTaskExitError

◆ portTOP_BIT_OF_BYTE

#define portTOP_BIT_OF_BYTE   ((uint8_t)0x80)

Function Documentation

◆ prvTaskExitError()

static void prvTaskExitError ( void  )
static

◆ pxPortInitialiseStack()

StackType_t* pxPortInitialiseStack ( StackType_t pxTopOfStack,
TaskFunction_t  pxCode,
void *  pvParameters 
)

◆ STATIC_ASSERT()

STATIC_ASSERT ( sizeof(portISRState_t = =sizeof(uint32_t))

◆ vPortEndScheduler()

void vPortEndScheduler ( void  )

References UL, and uxCriticalNesting.

◆ vPortEnterCritical()

void vPortEnterCritical ( void  )

◆ vPortExitCritical()

void vPortExitCritical ( void  )

◆ vPortSafeTaskSwitchContext()

void vPortSafeTaskSwitchContext ( void  )

◆ vPortSetupTimerInterrupt()

void vPortSetupTimerInterrupt ( void  )

Referenced by xPortStartScheduler().

Here is the caller graph for this function:

◆ vPortStartFirstTask()

void vPortStartFirstTask ( void  )

Referenced by xPortStartScheduler().

Here is the caller graph for this function:

◆ vPortTaskYield()

void vPortTaskYield ( void  )

◆ xPortStartScheduler()

BaseType_t xPortStartScheduler ( void  )

◆ xPortSysTickHandler()

void xPortSysTickHandler ( void  )

Variable Documentation

◆ uxCriticalNesting

UBaseType_t uxCriticalNesting = 0
static