/*\r
- FreeRTOS V8.2.2 - Copyright (C) 2015 Real Time Engineers Ltd.\r
+ FreeRTOS V9.0.1 - Copyright (C) 2017 Real Time Engineers Ltd.\r
All rights reserved\r
\r
VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.\r
\r
FreeRTOS is free software; you can redistribute it and/or modify it under\r
the terms of the GNU General Public License (version 2) as published by the\r
- Free Software Foundation >>!AND MODIFIED BY!<< the FreeRTOS exception.\r
+ Free Software Foundation >>>> AND MODIFIED BY <<<< the FreeRTOS exception.\r
\r
***************************************************************************\r
>>! NOTE: The modification to the GPL is included to allow you to !<<\r
#define portAPSR_USER_MODE ( 0x10 )\r
\r
/* Let the user override the pre-loading of the initial LR with the address of\r
-prvTaskExitError() in case is messes up unwinding of the stack in the\r
+prvTaskExitError() in case it messes up unwinding of the stack in the\r
debugger. */\r
#ifdef configTASK_RETURN_ADDRESS\r
#define portTASK_RETURN_ADDRESS configTASK_RETURN_ADDRESS\r
vPortRestoreTaskContext();\r
}\r
\r
- /* Will only get here if xTaskStartScheduler() was called with the CPU in\r
+ /* Will only get here if vTaskStartScheduler() was called with the CPU in\r
a non-privileged mode or the binary point register was not set to its lowest\r
possible value. prvTaskExitError() is referenced to prevent a compiler\r
warning about it being defined but not referenced in the case that the user\r
\r
void FreeRTOS_Tick_Handler( void )\r
{\r
- portDISABLE_INTERRUPTS();\r
+uint32_t ulInterruptStatus;\r
+\r
+ ulInterruptStatus = portSET_INTERRUPT_MASK_FROM_ISR();\r
\r
/* Increment the RTOS tick. */\r
if( xTaskIncrementTick() != pdFALSE )\r
ulPortYieldRequired = pdTRUE;\r
}\r
\r
- portENABLE_INTERRUPTS();\r
+ portCLEAR_INTERRUPT_MASK_FROM_ISR( ulInterruptStatus );\r
+\r
configCLEAR_TICK_INTERRUPT();\r
}\r
/*-----------------------------------------------------------*/\r