mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-12-07 05:34:59 -05:00
Merge branch 'main' into fix-vTaskSuspendAll-assert
This commit is contained in:
commit
329e9be536
35 changed files with 88 additions and 36 deletions
|
|
@ -236,6 +236,28 @@
|
|||
* if configUSE_TIMERS is set to 1. */
|
||||
#define configTIMER_QUEUE_LENGTH 10
|
||||
|
||||
/******************************************************************************/
|
||||
/* Event Group related definitions. *******************************************/
|
||||
/******************************************************************************/
|
||||
|
||||
/* Set configUSE_EVENT_GROUPS to 1 to include event group functionality in the
|
||||
* build. Set to 0 to exclude event group functionality from the build. The
|
||||
* FreeRTOS/source/event_groups.c source file must be included in the build if
|
||||
* configUSE_EVENT_GROUPS is set to 1. Defaults to 1 if left undefined. */
|
||||
|
||||
#define configUSE_EVENT_GROUPS 1
|
||||
|
||||
/******************************************************************************/
|
||||
/* Stream Buffer related definitions. *****************************************/
|
||||
/******************************************************************************/
|
||||
|
||||
/* Set configUSE_STREAM_BUFFERS to 1 to include stream buffer functionality in
|
||||
* the build. Set to 0 to exclude event group functionality from the build. The
|
||||
* FreeRTOS/source/stream_buffer.c source file must be included in the build if
|
||||
* configUSE_STREAM_BUFFERS is set to 1. Defaults to 1 if left undefined. */
|
||||
|
||||
#define configUSE_STREAM_BUFFERS 1
|
||||
|
||||
/******************************************************************************/
|
||||
/* Memory allocation related definitions. *************************************/
|
||||
/******************************************************************************/
|
||||
|
|
@ -431,7 +453,7 @@
|
|||
#define configENFORCE_SYSTEM_CALLS_FROM_KERNEL_ONLY 1
|
||||
|
||||
/* Set configALLOW_UNPRIVILEGED_CRITICAL_SECTIONS to 1 to allow unprivileged
|
||||
* tasks enter critical sections (effectively mask interrupts). Set to 0 to
|
||||
* tasks enter critical sections (effectively mask interrupts). Set to 0 to
|
||||
* prevent unprivileged tasks entering critical sections. Defaults to 1 if left
|
||||
* undefined. Only used by the FreeRTOS Cortex-M MPU ports, not the standard
|
||||
* ARMv7-M Cortex-M port. */
|
||||
|
|
@ -571,6 +593,24 @@
|
|||
* for the Cortex-M23,Cortex-M33 and Cortex-M35P ports. */
|
||||
#define configENABLE_MVE 1
|
||||
|
||||
/******************************************************************************/
|
||||
/* ARMv7-M and ARMv8-M port Specific Configuration definitions. ***************/
|
||||
/******************************************************************************/
|
||||
|
||||
/* Set configCHECK_HANDLER_INSTALLATION to 1 to enable additional asserts to verify
|
||||
* that the application has correctly installed FreeRTOS interrupt handlers.
|
||||
*
|
||||
* An application can install FreeRTOS interrupt handlers in one of the following ways:
|
||||
* 1. Direct Routing - Install the functions vPortSVCHandler and xPortPendSVHandler
|
||||
* for SVC call and PendSV interrupts respectively.
|
||||
* 2. Indirect Routing - Install separate handlers for SVC call and PendSV
|
||||
* interrupts and route program control from those handlers
|
||||
* to vPortSVCHandler and xPortPendSVHandler functions.
|
||||
* The applications that use Indirect Routing must set configCHECK_HANDLER_INSTALLATION to 0.
|
||||
*
|
||||
* Defaults to 1 if left undefined. */
|
||||
#define configCHECK_HANDLER_INSTALLATION 1
|
||||
|
||||
/******************************************************************************/
|
||||
/* Definitions that include or exclude functionality. *************************/
|
||||
/******************************************************************************/
|
||||
|
|
|
|||
|
|
@ -1621,7 +1621,7 @@ void vPortSVCHandler_C( uint32_t * pulCallerStackAddress ) /* PRIVILEGED_FUNCTIO
|
|||
BaseType_t xPortStartScheduler( void ) /* PRIVILEGED_FUNCTION */
|
||||
{
|
||||
/* An application can install FreeRTOS interrupt handlers in one of the
|
||||
* folllowing ways:
|
||||
* following ways:
|
||||
* 1. Direct Routing - Install the functions SVC_Handler and PendSV_Handler
|
||||
* for SVCall and PendSV interrupts respectively.
|
||||
* 2. Indirect Routing - Install separate handlers for SVCall and PendSV
|
||||
|
|
|
|||
|
|
@ -1265,7 +1265,7 @@ void vPortSVCHandler_C( uint32_t * pulCallerStackAddress ) /* PRIVILEGED_FUNCTIO
|
|||
BaseType_t xPortStartScheduler( void ) /* PRIVILEGED_FUNCTION */
|
||||
{
|
||||
/* An application can install FreeRTOS interrupt handlers in one of the
|
||||
* folllowing ways:
|
||||
* following ways:
|
||||
* 1. Direct Routing - Install the functions SVC_Handler and PendSV_Handler
|
||||
* for SVCall and PendSV interrupts respectively.
|
||||
* 2. Indirect Routing - Install separate handlers for SVCall and PendSV
|
||||
|
|
|
|||
|
|
@ -1621,7 +1621,7 @@ void vPortSVCHandler_C( uint32_t * pulCallerStackAddress ) /* PRIVILEGED_FUNCTIO
|
|||
BaseType_t xPortStartScheduler( void ) /* PRIVILEGED_FUNCTION */
|
||||
{
|
||||
/* An application can install FreeRTOS interrupt handlers in one of the
|
||||
* folllowing ways:
|
||||
* following ways:
|
||||
* 1. Direct Routing - Install the functions SVC_Handler and PendSV_Handler
|
||||
* for SVCall and PendSV interrupts respectively.
|
||||
* 2. Indirect Routing - Install separate handlers for SVCall and PendSV
|
||||
|
|
|
|||
|
|
@ -1621,7 +1621,7 @@ void vPortSVCHandler_C( uint32_t * pulCallerStackAddress ) /* PRIVILEGED_FUNCTIO
|
|||
BaseType_t xPortStartScheduler( void ) /* PRIVILEGED_FUNCTION */
|
||||
{
|
||||
/* An application can install FreeRTOS interrupt handlers in one of the
|
||||
* folllowing ways:
|
||||
* following ways:
|
||||
* 1. Direct Routing - Install the functions SVC_Handler and PendSV_Handler
|
||||
* for SVCall and PendSV interrupts respectively.
|
||||
* 2. Indirect Routing - Install separate handlers for SVCall and PendSV
|
||||
|
|
|
|||
|
|
@ -269,7 +269,7 @@ static void prvPortStartFirstTask( void )
|
|||
BaseType_t xPortStartScheduler( void )
|
||||
{
|
||||
/* An application can install FreeRTOS interrupt handlers in one of the
|
||||
* folllowing ways:
|
||||
* following ways:
|
||||
* 1. Direct Routing - Install the functions vPortSVCHandler and
|
||||
* xPortPendSVHandler for SVCall and PendSV interrupts respectively.
|
||||
* 2. Indirect Routing - Install separate handlers for SVCall and PendSV
|
||||
|
|
|
|||
|
|
@ -1621,7 +1621,7 @@ void vPortSVCHandler_C( uint32_t * pulCallerStackAddress ) /* PRIVILEGED_FUNCTIO
|
|||
BaseType_t xPortStartScheduler( void ) /* PRIVILEGED_FUNCTION */
|
||||
{
|
||||
/* An application can install FreeRTOS interrupt handlers in one of the
|
||||
* folllowing ways:
|
||||
* following ways:
|
||||
* 1. Direct Routing - Install the functions SVC_Handler and PendSV_Handler
|
||||
* for SVCall and PendSV interrupts respectively.
|
||||
* 2. Indirect Routing - Install separate handlers for SVCall and PendSV
|
||||
|
|
|
|||
|
|
@ -1621,7 +1621,7 @@ void vPortSVCHandler_C( uint32_t * pulCallerStackAddress ) /* PRIVILEGED_FUNCTIO
|
|||
BaseType_t xPortStartScheduler( void ) /* PRIVILEGED_FUNCTION */
|
||||
{
|
||||
/* An application can install FreeRTOS interrupt handlers in one of the
|
||||
* folllowing ways:
|
||||
* following ways:
|
||||
* 1. Direct Routing - Install the functions SVC_Handler and PendSV_Handler
|
||||
* for SVCall and PendSV interrupts respectively.
|
||||
* 2. Indirect Routing - Install separate handlers for SVCall and PendSV
|
||||
|
|
|
|||
|
|
@ -1621,7 +1621,7 @@ void vPortSVCHandler_C( uint32_t * pulCallerStackAddress ) /* PRIVILEGED_FUNCTIO
|
|||
BaseType_t xPortStartScheduler( void ) /* PRIVILEGED_FUNCTION */
|
||||
{
|
||||
/* An application can install FreeRTOS interrupt handlers in one of the
|
||||
* folllowing ways:
|
||||
* following ways:
|
||||
* 1. Direct Routing - Install the functions SVC_Handler and PendSV_Handler
|
||||
* for SVCall and PendSV interrupts respectively.
|
||||
* 2. Indirect Routing - Install separate handlers for SVCall and PendSV
|
||||
|
|
|
|||
|
|
@ -1621,7 +1621,7 @@ void vPortSVCHandler_C( uint32_t * pulCallerStackAddress ) /* PRIVILEGED_FUNCTIO
|
|||
BaseType_t xPortStartScheduler( void ) /* PRIVILEGED_FUNCTION */
|
||||
{
|
||||
/* An application can install FreeRTOS interrupt handlers in one of the
|
||||
* folllowing ways:
|
||||
* following ways:
|
||||
* 1. Direct Routing - Install the functions SVC_Handler and PendSV_Handler
|
||||
* for SVCall and PendSV interrupts respectively.
|
||||
* 2. Indirect Routing - Install separate handlers for SVCall and PendSV
|
||||
|
|
|
|||
|
|
@ -744,7 +744,7 @@ static void prvRestoreContextOfFirstTask( void )
|
|||
BaseType_t xPortStartScheduler( void )
|
||||
{
|
||||
/* An application can install FreeRTOS interrupt handlers in one of the
|
||||
* folllowing ways:
|
||||
* following ways:
|
||||
* 1. Direct Routing - Install the functions vPortSVCHandler and
|
||||
* xPortPendSVHandler for SVCall and PendSV interrupts respectively.
|
||||
* 2. Indirect Routing - Install separate handlers for SVCall and PendSV
|
||||
|
|
|
|||
|
|
@ -312,7 +312,7 @@ BaseType_t xPortStartScheduler( void )
|
|||
configASSERT( portCPUID != portCORTEX_M7_r0p0_ID );
|
||||
|
||||
/* An application can install FreeRTOS interrupt handlers in one of the
|
||||
* folllowing ways:
|
||||
* following ways:
|
||||
* 1. Direct Routing - Install the functions vPortSVCHandler and
|
||||
* xPortPendSVHandler for SVCall and PendSV interrupts respectively.
|
||||
* 2. Indirect Routing - Install separate handlers for SVCall and PendSV
|
||||
|
|
|
|||
|
|
@ -830,7 +830,7 @@ BaseType_t xPortStartScheduler( void )
|
|||
#endif
|
||||
|
||||
/* An application can install FreeRTOS interrupt handlers in one of the
|
||||
* folllowing ways:
|
||||
* following ways:
|
||||
* 1. Direct Routing - Install the functions vPortSVCHandler and
|
||||
* xPortPendSVHandler for SVCall and PendSV interrupts respectively.
|
||||
* 2. Indirect Routing - Install separate handlers for SVCall and PendSV
|
||||
|
|
|
|||
|
|
@ -1621,7 +1621,7 @@ void vPortSVCHandler_C( uint32_t * pulCallerStackAddress ) /* PRIVILEGED_FUNCTIO
|
|||
BaseType_t xPortStartScheduler( void ) /* PRIVILEGED_FUNCTION */
|
||||
{
|
||||
/* An application can install FreeRTOS interrupt handlers in one of the
|
||||
* folllowing ways:
|
||||
* following ways:
|
||||
* 1. Direct Routing - Install the functions SVC_Handler and PendSV_Handler
|
||||
* for SVCall and PendSV interrupts respectively.
|
||||
* 2. Indirect Routing - Install separate handlers for SVCall and PendSV
|
||||
|
|
|
|||
|
|
@ -1621,7 +1621,7 @@ void vPortSVCHandler_C( uint32_t * pulCallerStackAddress ) /* PRIVILEGED_FUNCTIO
|
|||
BaseType_t xPortStartScheduler( void ) /* PRIVILEGED_FUNCTION */
|
||||
{
|
||||
/* An application can install FreeRTOS interrupt handlers in one of the
|
||||
* folllowing ways:
|
||||
* following ways:
|
||||
* 1. Direct Routing - Install the functions SVC_Handler and PendSV_Handler
|
||||
* for SVCall and PendSV interrupts respectively.
|
||||
* 2. Indirect Routing - Install separate handlers for SVCall and PendSV
|
||||
|
|
|
|||
|
|
@ -300,7 +300,7 @@ static void prvPortStartFirstTask( void )
|
|||
BaseType_t xPortStartScheduler( void )
|
||||
{
|
||||
/* An application can install FreeRTOS interrupt handlers in one of the
|
||||
* folllowing ways:
|
||||
* following ways:
|
||||
* 1. Direct Routing - Install the functions vPortSVCHandler and
|
||||
* xPortPendSVHandler for SVCall and PendSV interrupts respectively.
|
||||
* 2. Indirect Routing - Install separate handlers for SVCall and PendSV
|
||||
|
|
|
|||
|
|
@ -1621,7 +1621,7 @@ void vPortSVCHandler_C( uint32_t * pulCallerStackAddress ) /* PRIVILEGED_FUNCTIO
|
|||
BaseType_t xPortStartScheduler( void ) /* PRIVILEGED_FUNCTION */
|
||||
{
|
||||
/* An application can install FreeRTOS interrupt handlers in one of the
|
||||
* folllowing ways:
|
||||
* following ways:
|
||||
* 1. Direct Routing - Install the functions SVC_Handler and PendSV_Handler
|
||||
* for SVCall and PendSV interrupts respectively.
|
||||
* 2. Indirect Routing - Install separate handlers for SVCall and PendSV
|
||||
|
|
|
|||
|
|
@ -1621,7 +1621,7 @@ void vPortSVCHandler_C( uint32_t * pulCallerStackAddress ) /* PRIVILEGED_FUNCTIO
|
|||
BaseType_t xPortStartScheduler( void ) /* PRIVILEGED_FUNCTION */
|
||||
{
|
||||
/* An application can install FreeRTOS interrupt handlers in one of the
|
||||
* folllowing ways:
|
||||
* following ways:
|
||||
* 1. Direct Routing - Install the functions SVC_Handler and PendSV_Handler
|
||||
* for SVCall and PendSV interrupts respectively.
|
||||
* 2. Indirect Routing - Install separate handlers for SVCall and PendSV
|
||||
|
|
|
|||
|
|
@ -76,8 +76,8 @@
|
|||
|
||||
/* Save the floating point context, if any. */
|
||||
FMRXNE R1, FPSCR
|
||||
VPUSHNE {D0-D15}
|
||||
PUSHNE {R1}
|
||||
VPUSHNE {D0-D15}
|
||||
|
||||
/* Save ulPortTaskHasFPUContext itself. */
|
||||
PUSH {R3}
|
||||
|
|
@ -110,8 +110,8 @@
|
|||
CMP R1, #0
|
||||
|
||||
/* Restore the floating point context, if any. */
|
||||
POPNE {R0}
|
||||
VPOPNE {D0-D15}
|
||||
POPNE {R0}
|
||||
VMSRNE FPSCR, R0
|
||||
#endif /* __ARM_FP */
|
||||
|
||||
|
|
@ -147,8 +147,15 @@
|
|||
FreeRTOS_SWI_Handler:
|
||||
/* Save the context of the current task and select a new task to run. */
|
||||
portSAVE_CONTEXT
|
||||
|
||||
/* Ensure bit 2 of the stack pointer is clear. */
|
||||
MOV r2, sp
|
||||
AND r2, r2, #4
|
||||
SUB sp, sp, r2
|
||||
|
||||
LDR R0, vTaskSwitchContextConst
|
||||
BLX R0
|
||||
|
||||
portRESTORE_CONTEXT
|
||||
|
||||
|
||||
|
|
@ -256,6 +263,11 @@ switch_before_exit:
|
|||
POP {LR}
|
||||
portSAVE_CONTEXT
|
||||
|
||||
/* Ensure bit 2 of the stack pointer is clear. */
|
||||
MOV r2, sp
|
||||
AND r2, r2, #4
|
||||
SUB sp, sp, r2
|
||||
|
||||
/* Call the function that selects the new task to execute.
|
||||
vTaskSwitchContext() if vTaskSwitchContext() uses LDRD or STRD
|
||||
instructions, or 8 byte aligned stack allocated data. LR does not need
|
||||
|
|
|
|||
|
|
@ -180,7 +180,7 @@ static void prvTaskExitError( void )
|
|||
BaseType_t xPortStartScheduler( void )
|
||||
{
|
||||
/* An application can install FreeRTOS interrupt handlers in one of the
|
||||
* folllowing ways:
|
||||
* following ways:
|
||||
* 1. Direct Routing - Install the function xPortPendSVHandler for PendSV
|
||||
* interrupt.
|
||||
* 2. Indirect Routing - Install separate handler for PendSV interrupt and
|
||||
|
|
|
|||
|
|
@ -1621,7 +1621,7 @@ void vPortSVCHandler_C( uint32_t * pulCallerStackAddress ) /* PRIVILEGED_FUNCTIO
|
|||
BaseType_t xPortStartScheduler( void ) /* PRIVILEGED_FUNCTION */
|
||||
{
|
||||
/* An application can install FreeRTOS interrupt handlers in one of the
|
||||
* folllowing ways:
|
||||
* following ways:
|
||||
* 1. Direct Routing - Install the functions SVC_Handler and PendSV_Handler
|
||||
* for SVCall and PendSV interrupts respectively.
|
||||
* 2. Indirect Routing - Install separate handlers for SVCall and PendSV
|
||||
|
|
|
|||
|
|
@ -1621,7 +1621,7 @@ void vPortSVCHandler_C( uint32_t * pulCallerStackAddress ) /* PRIVILEGED_FUNCTIO
|
|||
BaseType_t xPortStartScheduler( void ) /* PRIVILEGED_FUNCTION */
|
||||
{
|
||||
/* An application can install FreeRTOS interrupt handlers in one of the
|
||||
* folllowing ways:
|
||||
* following ways:
|
||||
* 1. Direct Routing - Install the functions SVC_Handler and PendSV_Handler
|
||||
* for SVCall and PendSV interrupts respectively.
|
||||
* 2. Indirect Routing - Install separate handlers for SVCall and PendSV
|
||||
|
|
|
|||
|
|
@ -223,7 +223,7 @@ static void prvTaskExitError( void )
|
|||
BaseType_t xPortStartScheduler( void )
|
||||
{
|
||||
/* An application can install FreeRTOS interrupt handlers in one of the
|
||||
* folllowing ways:
|
||||
* following ways:
|
||||
* 1. Direct Routing - Install the functions vPortSVCHandler and
|
||||
* xPortPendSVHandler for SVCall and PendSV interrupts respectively.
|
||||
* 2. Indirect Routing - Install separate handlers for SVCall and PendSV
|
||||
|
|
|
|||
|
|
@ -1621,7 +1621,7 @@ void vPortSVCHandler_C( uint32_t * pulCallerStackAddress ) /* PRIVILEGED_FUNCTIO
|
|||
BaseType_t xPortStartScheduler( void ) /* PRIVILEGED_FUNCTION */
|
||||
{
|
||||
/* An application can install FreeRTOS interrupt handlers in one of the
|
||||
* folllowing ways:
|
||||
* following ways:
|
||||
* 1. Direct Routing - Install the functions SVC_Handler and PendSV_Handler
|
||||
* for SVCall and PendSV interrupts respectively.
|
||||
* 2. Indirect Routing - Install separate handlers for SVCall and PendSV
|
||||
|
|
|
|||
|
|
@ -1621,7 +1621,7 @@ void vPortSVCHandler_C( uint32_t * pulCallerStackAddress ) /* PRIVILEGED_FUNCTIO
|
|||
BaseType_t xPortStartScheduler( void ) /* PRIVILEGED_FUNCTION */
|
||||
{
|
||||
/* An application can install FreeRTOS interrupt handlers in one of the
|
||||
* folllowing ways:
|
||||
* following ways:
|
||||
* 1. Direct Routing - Install the functions SVC_Handler and PendSV_Handler
|
||||
* for SVCall and PendSV interrupts respectively.
|
||||
* 2. Indirect Routing - Install separate handlers for SVCall and PendSV
|
||||
|
|
|
|||
|
|
@ -1621,7 +1621,7 @@ void vPortSVCHandler_C( uint32_t * pulCallerStackAddress ) /* PRIVILEGED_FUNCTIO
|
|||
BaseType_t xPortStartScheduler( void ) /* PRIVILEGED_FUNCTION */
|
||||
{
|
||||
/* An application can install FreeRTOS interrupt handlers in one of the
|
||||
* folllowing ways:
|
||||
* following ways:
|
||||
* 1. Direct Routing - Install the functions SVC_Handler and PendSV_Handler
|
||||
* for SVCall and PendSV interrupts respectively.
|
||||
* 2. Indirect Routing - Install separate handlers for SVCall and PendSV
|
||||
|
|
|
|||
|
|
@ -1621,7 +1621,7 @@ void vPortSVCHandler_C( uint32_t * pulCallerStackAddress ) /* PRIVILEGED_FUNCTIO
|
|||
BaseType_t xPortStartScheduler( void ) /* PRIVILEGED_FUNCTION */
|
||||
{
|
||||
/* An application can install FreeRTOS interrupt handlers in one of the
|
||||
* folllowing ways:
|
||||
* following ways:
|
||||
* 1. Direct Routing - Install the functions SVC_Handler and PendSV_Handler
|
||||
* for SVCall and PendSV interrupts respectively.
|
||||
* 2. Indirect Routing - Install separate handlers for SVCall and PendSV
|
||||
|
|
|
|||
|
|
@ -261,7 +261,7 @@ BaseType_t xPortStartScheduler( void )
|
|||
configASSERT( portCPUID != portCORTEX_M7_r0p0_ID );
|
||||
|
||||
/* An application can install FreeRTOS interrupt handlers in one of the
|
||||
* folllowing ways:
|
||||
* following ways:
|
||||
* 1. Direct Routing - Install the functions vPortSVCHandler and
|
||||
* xPortPendSVHandler for SVCall and PendSV interrupts respectively.
|
||||
* 2. Indirect Routing - Install separate handlers for SVCall and PendSV
|
||||
|
|
|
|||
|
|
@ -725,7 +725,7 @@ BaseType_t xPortStartScheduler( void )
|
|||
#endif
|
||||
|
||||
/* An application can install FreeRTOS interrupt handlers in one of the
|
||||
* folllowing ways:
|
||||
* following ways:
|
||||
* 1. Direct Routing - Install the functions vPortSVCHandler and
|
||||
* xPortPendSVHandler for SVCall and PendSV interrupts respectively.
|
||||
* 2. Indirect Routing - Install separate handlers for SVCall and PendSV
|
||||
|
|
|
|||
|
|
@ -1621,7 +1621,7 @@ void vPortSVCHandler_C( uint32_t * pulCallerStackAddress ) /* PRIVILEGED_FUNCTIO
|
|||
BaseType_t xPortStartScheduler( void ) /* PRIVILEGED_FUNCTION */
|
||||
{
|
||||
/* An application can install FreeRTOS interrupt handlers in one of the
|
||||
* folllowing ways:
|
||||
* following ways:
|
||||
* 1. Direct Routing - Install the functions SVC_Handler and PendSV_Handler
|
||||
* for SVCall and PendSV interrupts respectively.
|
||||
* 2. Indirect Routing - Install separate handlers for SVCall and PendSV
|
||||
|
|
|
|||
|
|
@ -1621,7 +1621,7 @@ void vPortSVCHandler_C( uint32_t * pulCallerStackAddress ) /* PRIVILEGED_FUNCTIO
|
|||
BaseType_t xPortStartScheduler( void ) /* PRIVILEGED_FUNCTION */
|
||||
{
|
||||
/* An application can install FreeRTOS interrupt handlers in one of the
|
||||
* folllowing ways:
|
||||
* following ways:
|
||||
* 1. Direct Routing - Install the functions SVC_Handler and PendSV_Handler
|
||||
* for SVCall and PendSV interrupts respectively.
|
||||
* 2. Indirect Routing - Install separate handlers for SVCall and PendSV
|
||||
|
|
|
|||
|
|
@ -249,7 +249,7 @@ static void prvTaskExitError( void )
|
|||
BaseType_t xPortStartScheduler( void )
|
||||
{
|
||||
/* An application can install FreeRTOS interrupt handlers in one of the
|
||||
* folllowing ways:
|
||||
* following ways:
|
||||
* 1. Direct Routing - Install the functions vPortSVCHandler and
|
||||
* xPortPendSVHandler for SVCall and PendSV interrupts respectively.
|
||||
* 2. Indirect Routing - Install separate handlers for SVCall and PendSV
|
||||
|
|
|
|||
|
|
@ -1621,7 +1621,7 @@ void vPortSVCHandler_C( uint32_t * pulCallerStackAddress ) /* PRIVILEGED_FUNCTIO
|
|||
BaseType_t xPortStartScheduler( void ) /* PRIVILEGED_FUNCTION */
|
||||
{
|
||||
/* An application can install FreeRTOS interrupt handlers in one of the
|
||||
* folllowing ways:
|
||||
* following ways:
|
||||
* 1. Direct Routing - Install the functions SVC_Handler and PendSV_Handler
|
||||
* for SVCall and PendSV interrupts respectively.
|
||||
* 2. Indirect Routing - Install separate handlers for SVCall and PendSV
|
||||
|
|
|
|||
|
|
@ -1621,7 +1621,7 @@ void vPortSVCHandler_C( uint32_t * pulCallerStackAddress ) /* PRIVILEGED_FUNCTIO
|
|||
BaseType_t xPortStartScheduler( void ) /* PRIVILEGED_FUNCTION */
|
||||
{
|
||||
/* An application can install FreeRTOS interrupt handlers in one of the
|
||||
* folllowing ways:
|
||||
* following ways:
|
||||
* 1. Direct Routing - Install the functions SVC_Handler and PendSV_Handler
|
||||
* for SVCall and PendSV interrupts respectively.
|
||||
* 2. Indirect Routing - Install separate handlers for SVCall and PendSV
|
||||
|
|
|
|||
|
|
@ -829,7 +829,7 @@ BaseType_t xPortStartScheduler( void )
|
|||
#endif
|
||||
|
||||
/* An application can install FreeRTOS interrupt handlers in one of the
|
||||
* folllowing ways:
|
||||
* following ways:
|
||||
* 1. Direct Routing - Install the functions vPortSVCHandler and
|
||||
* xPortPendSVHandler for SVCall and PendSV interrupts respectively.
|
||||
* 2. Indirect Routing - Install separate handlers for SVCall and PendSV
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue