/*\r
- FreeRTOS V8.0.1 - Copyright (C) 2014 Real Time Engineers Ltd.\r
+ FreeRTOS V9.0.0rc2 - Copyright (C) 2016 Real Time Engineers Ltd.\r
All rights reserved\r
\r
\r
.global FreeRTOS_IRQ_Handler\r
.global FreeRTOS_SWI_Handler\r
.global vPortRestoreTaskContext\r
- .global vPortInstallFreeRTOSVectorTable\r
\r
\r
\r
\r
.macro portRESTORE_CONTEXT\r
\r
- /* Switch to system mode. */\r
- CPS #SYS_MODE\r
-\r
/* Set the SP to point to the stack of the task being restored. */\r
LDR R0, pxCurrentTCBConst\r
LDR R1, [R0]\r
\r
\r
/******************************************************************************\r
- * SVC handler is used to start the scheduler and yield a task.\r
+ * SVC handler is used to start the scheduler.\r
*****************************************************************************/\r
.align 4\r
.type FreeRTOS_SWI_Handler, %function\r
portSAVE_CONTEXT\r
LDR R0, vTaskSwitchContextConst\r
BLX R0\r
+ portRESTORE_CONTEXT\r
+\r
\r
+/******************************************************************************\r
+ * vPortRestoreTaskContext is used to start the scheduler.\r
+ *****************************************************************************/\r
.type vPortRestoreTaskContext, %function\r
vPortRestoreTaskContext:\r
+ /* Switch to system mode. */\r
+ CPS #SYS_MODE\r
portRESTORE_CONTEXT\r
\r
.align 4\r