@ -40,7 +40,7 @@
FreeRTOS WEB site .
1 tab = = 4 spaces !
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *
* Having a problem ? Start by reading the FAQ " My application does *
@ -50,17 +50,17 @@
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
http : //www.FreeRTOS.org - Documentation, training, latest information,
http : //www.FreeRTOS.org - Documentation, training, latest information,
license and contact details .
http : //www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
including FreeRTOS + Trace - an indispensable productivity tool .
Real Time Engineers ltd license FreeRTOS to High Integrity Systems , who sell
the code with commercial support , indemnification , and middleware , under
Real Time Engineers ltd license FreeRTOS to High Integrity Systems , who sell
the code with commercial support , indemnification , and middleware , under
the OpenRTOS brand : http : //www.OpenRTOS.com. High Integrity Systems also
provide a safety engineered and independently SIL3 certified version under
provide a safety engineered and independently SIL3 certified version under
the SafeRTOS brand : http : //www.SafeRTOS.com.
*/
@ -78,10 +78,6 @@ task.h is included from an application file. */
# include "task.h"
# include "queue.h"
# if configMAX_SYSCALL_INTERRUPT_PRIORITY == 0
# error configMAX_SYSCALL_INTERRUPT_PRIORITY must not be set to 0. See http: //www.FreeRTOS.org/RTOS-Cortex-M3-M4.html
# endif
# undef MPU_WRAPPERS_INCLUDED_FROM_API_FILE
/* Constants required to access and manipulate the NVIC. */
@ -191,8 +187,6 @@ portTickType MPU_xTaskGetTickCount( void );
unsigned portBASE_TYPE MPU_uxTaskGetNumberOfTasks ( void ) ;
void MPU_vTaskList ( signed char * pcWriteBuffer ) ;
void MPU_vTaskGetRunTimeStats ( signed char * pcWriteBuffer ) ;
void MPU_vTaskStartTrace ( signed char * pcBuffer , unsigned long ulBufferSize ) ;
unsigned long MPU_ulTaskEndTrace ( void ) ;
void MPU_vTaskSetApplicationTaskTag ( xTaskHandle xTask , pdTASK_HOOK_CODE pxTagValue ) ;
pdTASK_HOOK_CODE MPU_xTaskGetApplicationTaskTag ( xTaskHandle xTask ) ;
portBASE_TYPE MPU_xTaskCallApplicationTaskHook ( xTaskHandle xTask , void * pvParameter ) ;
@ -261,13 +255,9 @@ void vPortSVCHandler( void )
# else
" mrs r0, psp \n "
# endif
" b prvSVCHandler \n "
: : : " r0 "
" b %0 \n "
: : " i " ( prvSVCHandler ) : " r0 "
) ;
/* This will never get executed, but is required to prevent prvSVCHandler
being removed by the optimiser . */
prvSVCHandler ( NULL ) ;
}
/*-----------------------------------------------------------*/
@ -336,7 +326,11 @@ static void prvRestoreContextOfFirstTask( void )
*/
portBASE_TYPE xPortStartScheduler ( void )
{
/* Make PendSV and SysTick the same priroity as the kernel. */
/* configMAX_SYSCALL_INTERRUPT_PRIORITY must not be set to 0. See
http : //www.FreeRTOS.org/RTOS-Cortex-M3-M4.html */
configASSERT ( ( configMAX_SYSCALL_INTERRUPT_PRIORITY ) ) ;
/* Make PendSV and SysTick the same priority as the kernel. */
* ( portNVIC_SYSPRI2 ) | = portNVIC_PENDSV_PRI ;
* ( portNVIC_SYSPRI2 ) | = portNVIC_SYSTICK_PRI ;
@ -838,30 +832,6 @@ portBASE_TYPE xRunningPrivileged = prvRaisePrivilege();
# endif
/*-----------------------------------------------------------*/
# if ( configUSE_TRACE_FACILITY == 1 )
void MPU_vTaskStartTrace ( signed char * pcBuffer , unsigned long ulBufferSize )
{
portBASE_TYPE xRunningPrivileged = prvRaisePrivilege ( ) ;
vTaskStartTrace ( pcBuffer , ulBufferSize ) ;
portRESET_PRIVILEGE ( xRunningPrivileged ) ;
}
# endif
/*-----------------------------------------------------------*/
# if ( configUSE_TRACE_FACILITY == 1 )
unsigned long MPU_ulTaskEndTrace ( void )
{
unsigned long ulReturn ;
portBASE_TYPE xRunningPrivileged = prvRaisePrivilege ( ) ;
ulReturn = ulTaskEndTrace ( ) ;
portRESET_PRIVILEGE ( xRunningPrivileged ) ;
return ulReturn ;
}
# endif
/*-----------------------------------------------------------*/
# if ( configUSE_APPLICATION_TASK_TAG == 1 )
void MPU_vTaskSetApplicationTaskTag ( xTaskHandle xTask , pdTASK_HOOK_CODE pxTagValue )
{
@ -1077,7 +1047,7 @@ void MPU_vQueueDelete( xQueueHandle xQueue )
portBASE_TYPE xRunningPrivileged = prvRaisePrivilege ( ) ;
vQueueDelete ( xQueue ) ;
portRESET_PRIVILEGE ( xRunningPrivileged ) ;
}
/*-----------------------------------------------------------*/