]> git.sur5r.net Git - freertos/blobdiff - FreeRTOS/Source/portable/GCC/ARM_CM3_MPU/port.c
Update Cortex-M MPU version to include new API functions.
[freertos] / FreeRTOS / Source / portable / GCC / ARM_CM3_MPU / port.c
index 7488f5ee7f6ff0ba58db28cab0006929f1198598..2c8e78adb5c985aab53328ba0791663a1759af47 100644 (file)
@@ -203,6 +203,7 @@ unsigned portBASE_TYPE MPU_uxTaskGetStackHighWaterMark( xTaskHandle xTask );
 xTaskHandle MPU_xTaskGetCurrentTaskHandle( void );\r
 portBASE_TYPE MPU_xTaskGetSchedulerState( void );\r
 xTaskHandle MPU_xTaskGetIdleTaskHandle( void );\r
+unsigned portBASE_TYPE MPU_xTaskGetSystemState( xTaskStatusType *pxTaskStatusArray, unsigned portBASE_TYPE uxArraySize, unsigned long *pulTotalRunTime );\r
 xQueueHandle MPU_xQueueGenericCreate( unsigned portBASE_TYPE uxQueueLength, unsigned portBASE_TYPE uxItemSize, unsigned char ucQueueType );\r
 signed portBASE_TYPE MPU_xQueueGenericSend( xQueueHandle xQueue, const void * const pvItemToQueue, portTickType xTicksToWait, portBASE_TYPE xCopyPosition );\r
 portBASE_TYPE MPU_xQueueGenericReset( xQueueHandle pxQueue, portBASE_TYPE xNewQueue );\r
@@ -224,6 +225,7 @@ xQueueSetHandle MPU_xQueueCreateSet( unsigned portBASE_TYPE uxEventQueueLength )
 xQueueSetMemberHandle MPU_xQueueSelectFromSet( xQueueSetHandle xQueueSet, portTickType xBlockTimeTicks );\r
 portBASE_TYPE MPU_xQueueAddToSet( xQueueSetMemberHandle xQueueOrSemaphore, xQueueSetHandle xQueueSet );\r
 portBASE_TYPE MPU_xQueueRemoveFromSet( xQueueSetMemberHandle xQueueOrSemaphore, xQueueSetHandle xQueueSet );\r
+signed portBASE_TYPE MPU_xQueuePeekFromISR( xQueueHandle xQueue, void * const pvBuffer );\r
 \r
 /*-----------------------------------------------------------*/\r
 \r
@@ -917,6 +919,19 @@ portBASE_TYPE xRunningPrivileged = prvRaisePrivilege();
 #endif\r
 /*-----------------------------------------------------------*/\r
 \r
+#if ( configUSE_TRACE_FACILITY == 1 )\r
+       unsigned portBASE_TYPE MPU_xTaskGetSystemState( xTaskStatusType *pxTaskStatusArray, unsigned portBASE_TYPE uxArraySize, unsigned long *pulTotalRunTime )\r
+       {\r
+       unsigned portBASE_TYPE uxReturn;\r
+       portBASE_TYPE xRunningPrivileged = prvRaisePrivilege();\r
+\r
+               uxReturn = xTaskGetSystemState( pxTaskStatusArray, uxArraySize, pulTotalRunTime );\r
+               portRESET_PRIVILEGE( xRunningPrivileged );\r
+               return xReturn;\r
+       }\r
+#endif\r
+/*-----------------------------------------------------------*/\r
+\r
 #if ( INCLUDE_uxTaskGetStackHighWaterMark == 1 )\r
        unsigned portBASE_TYPE MPU_uxTaskGetStackHighWaterMark( xTaskHandle xTask )\r
        {\r
@@ -1011,6 +1026,17 @@ signed portBASE_TYPE xReturn;
 }\r
 /*-----------------------------------------------------------*/\r
 \r
+signed portBASE_TYPE MPU_xQueuePeekFromISR( xQueueHandle pxQueue, void * const pvBuffer )\r
+{\r
+portBASE_TYPE xRunningPrivileged = prvRaisePrivilege();\r
+signed portBASE_TYPE xReturn;\r
+\r
+       xReturn = xQueuePeekFromISR( pxQueue, pvBuffer );\r
+       portRESET_PRIVILEGE( xRunningPrivileged );\r
+       return xReturn;\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
 #if ( configUSE_MUTEXES == 1 )\r
        xQueueHandle MPU_xQueueCreateMutex( void )\r
        {\r
@@ -1225,4 +1251,5 @@ portBASE_TYPE xRunningPrivileged = prvRaisePrivilege();
 \r
 #if configINCLUDE_APPLICATION_DEFINED_PRIVILEGED_FUNCTIONS == 1\r
        #include "application_defined_privileged_functions.h"\r
-#endif
\ No newline at end of file
+#endif\r
+\r