2 * FreeRTOS Kernel V10.0.0
\r
3 * Copyright (C) 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.
\r
5 * Permission is hereby granted, free of charge, to any person obtaining a copy of
\r
6 * this software and associated documentation files (the "Software"), to deal in
\r
7 * the Software without restriction, including without limitation the rights to
\r
8 * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
\r
9 * the Software, and to permit persons to whom the Software is furnished to do so,
\r
10 * subject to the following conditions:
\r
12 * The above copyright notice and this permission notice shall be included in all
\r
13 * copies or substantial portions of the Software. If you wish to use our Amazon
\r
14 * FreeRTOS name, please do so in a fair use way that does not cause confusion.
\r
16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
\r
17 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
\r
18 * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
\r
19 * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
\r
20 * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
\r
21 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
\r
23 * http://www.FreeRTOS.org
\r
24 * http://aws.amazon.com/freertos
\r
26 * 1 tab == 4 spaces!
\r
30 * Implementation of the wrapper functions used to raise the processor privilege
\r
31 * before calling a standard FreeRTOS API function.
\r
34 /* Defining MPU_WRAPPERS_INCLUDED_FROM_API_FILE prevents task.h from redefining
\r
35 all the API functions to use the MPU wrappers. That should only be done when
\r
36 task.h is included from an application file. */
\r
37 #define MPU_WRAPPERS_INCLUDED_FROM_API_FILE
\r
39 /* Scheduler includes. */
\r
40 #include "FreeRTOS.h"
\r
44 #include "event_groups.h"
\r
45 #include "stream_buffer.h"
\r
46 #include "mpu_prototypes.h"
\r
48 #undef MPU_WRAPPERS_INCLUDED_FROM_API_FILE
\r
51 * Checks to see if being called from the context of an unprivileged task, and
\r
52 * if so raises the privilege level and returns false - otherwise does nothing
\r
53 * other than return true.
\r
55 extern BaseType_t xPortRaisePrivilege( void );
\r
57 /*-----------------------------------------------------------*/
\r
59 #if( configSUPPORT_DYNAMIC_ALLOCATION == 1 )
\r
60 BaseType_t MPU_xTaskCreateRestricted( const TaskParameters_t * const pxTaskDefinition, TaskHandle_t *pxCreatedTask )
\r
63 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
65 xReturn = xTaskCreateRestricted( pxTaskDefinition, pxCreatedTask );
\r
66 vPortResetPrivilege( xRunningPrivileged );
\r
69 #endif /* conifgSUPPORT_DYNAMIC_ALLOCATION */
\r
70 /*-----------------------------------------------------------*/
\r
72 #if( configSUPPORT_STATIC_ALLOCATION == 1 )
\r
73 BaseType_t MPU_xTaskCreateRestrictedStatic( const TaskParameters_t * const pxTaskDefinition, TaskHandle_t *pxCreatedTask )
\r
76 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
78 xReturn = xTaskCreateRestrictedStatic( pxTaskDefinition, pxCreatedTask );
\r
79 vPortResetPrivilege( xRunningPrivileged );
\r
82 #endif /* conifgSUPPORT_DYNAMIC_ALLOCATION */
\r
83 /*-----------------------------------------------------------*/
\r
85 #if( configSUPPORT_DYNAMIC_ALLOCATION == 1 )
\r
86 BaseType_t MPU_xTaskCreate( TaskFunction_t pvTaskCode, const char * const pcName, uint16_t usStackDepth, void *pvParameters, UBaseType_t uxPriority, TaskHandle_t *pxCreatedTask )
\r
89 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
91 xReturn = xTaskCreate( pvTaskCode, pcName, usStackDepth, pvParameters, uxPriority, pxCreatedTask );
\r
92 vPortResetPrivilege( xRunningPrivileged );
\r
95 #endif /* configSUPPORT_DYNAMIC_ALLOCATION */
\r
96 /*-----------------------------------------------------------*/
\r
98 #if( configSUPPORT_STATIC_ALLOCATION == 1 )
\r
99 TaskHandle_t MPU_xTaskCreateStatic( TaskFunction_t pxTaskCode, const char * const pcName, const uint32_t ulStackDepth, void * const pvParameters, UBaseType_t uxPriority, StackType_t * const puxStackBuffer, StaticTask_t * const pxTaskBuffer )
\r
101 TaskHandle_t xReturn;
\r
102 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
104 xReturn = xTaskCreateStatic( pxTaskCode, pcName, ulStackDepth, pvParameters, uxPriority, puxStackBuffer, pxTaskBuffer );
\r
105 vPortResetPrivilege( xRunningPrivileged );
\r
108 #endif /* configSUPPORT_STATIC_ALLOCATION */
\r
109 /*-----------------------------------------------------------*/
\r
111 void MPU_vTaskAllocateMPURegions( TaskHandle_t xTask, const MemoryRegion_t * const xRegions )
\r
113 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
115 vTaskAllocateMPURegions( xTask, xRegions );
\r
116 vPortResetPrivilege( xRunningPrivileged );
\r
118 /*-----------------------------------------------------------*/
\r
120 #if ( INCLUDE_vTaskDelete == 1 )
\r
121 void MPU_vTaskDelete( TaskHandle_t pxTaskToDelete )
\r
123 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
125 vTaskDelete( pxTaskToDelete );
\r
126 vPortResetPrivilege( xRunningPrivileged );
\r
129 /*-----------------------------------------------------------*/
\r
131 #if ( INCLUDE_vTaskDelayUntil == 1 )
\r
132 void MPU_vTaskDelayUntil( TickType_t * const pxPreviousWakeTime, TickType_t xTimeIncrement )
\r
134 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
136 vTaskDelayUntil( pxPreviousWakeTime, xTimeIncrement );
\r
137 vPortResetPrivilege( xRunningPrivileged );
\r
140 /*-----------------------------------------------------------*/
\r
142 #if ( INCLUDE_xTaskAbortDelay == 1 )
\r
143 BaseType_t MPU_xTaskAbortDelay( TaskHandle_t xTask )
\r
145 BaseType_t xReturn;
\r
146 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
148 xReturn = xTaskAbortDelay( xTask );
\r
149 vPortResetPrivilege( xRunningPrivileged );
\r
153 /*-----------------------------------------------------------*/
\r
155 #if ( INCLUDE_vTaskDelay == 1 )
\r
156 void MPU_vTaskDelay( TickType_t xTicksToDelay )
\r
158 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
160 vTaskDelay( xTicksToDelay );
\r
161 vPortResetPrivilege( xRunningPrivileged );
\r
164 /*-----------------------------------------------------------*/
\r
166 #if ( INCLUDE_uxTaskPriorityGet == 1 )
\r
167 UBaseType_t MPU_uxTaskPriorityGet( TaskHandle_t pxTask )
\r
169 UBaseType_t uxReturn;
\r
170 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
172 uxReturn = uxTaskPriorityGet( pxTask );
\r
173 vPortResetPrivilege( xRunningPrivileged );
\r
177 /*-----------------------------------------------------------*/
\r
179 #if ( INCLUDE_vTaskPrioritySet == 1 )
\r
180 void MPU_vTaskPrioritySet( TaskHandle_t pxTask, UBaseType_t uxNewPriority )
\r
182 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
184 vTaskPrioritySet( pxTask, uxNewPriority );
\r
185 vPortResetPrivilege( xRunningPrivileged );
\r
188 /*-----------------------------------------------------------*/
\r
190 #if ( INCLUDE_eTaskGetState == 1 )
\r
191 eTaskState MPU_eTaskGetState( TaskHandle_t pxTask )
\r
193 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
194 eTaskState eReturn;
\r
196 eReturn = eTaskGetState( pxTask );
\r
197 vPortResetPrivilege( xRunningPrivileged );
\r
201 /*-----------------------------------------------------------*/
\r
203 #if( configUSE_TRACE_FACILITY == 1 )
\r
204 void MPU_vTaskGetInfo( TaskHandle_t xTask, TaskStatus_t *pxTaskStatus, BaseType_t xGetFreeStackSpace, eTaskState eState )
\r
206 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
208 vTaskGetInfo( xTask, pxTaskStatus, xGetFreeStackSpace, eState );
\r
209 vPortResetPrivilege( xRunningPrivileged );
\r
212 /*-----------------------------------------------------------*/
\r
214 #if ( INCLUDE_xTaskGetIdleTaskHandle == 1 )
\r
215 TaskHandle_t MPU_xTaskGetIdleTaskHandle( void )
\r
217 TaskHandle_t xReturn;
\r
218 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
220 xReturn = xTaskGetIdleTaskHandle();
\r
221 vPortResetPrivilege( xRunningPrivileged );
\r
225 /*-----------------------------------------------------------*/
\r
227 #if ( INCLUDE_vTaskSuspend == 1 )
\r
228 void MPU_vTaskSuspend( TaskHandle_t pxTaskToSuspend )
\r
230 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
232 vTaskSuspend( pxTaskToSuspend );
\r
233 vPortResetPrivilege( xRunningPrivileged );
\r
236 /*-----------------------------------------------------------*/
\r
238 #if ( INCLUDE_vTaskSuspend == 1 )
\r
239 void MPU_vTaskResume( TaskHandle_t pxTaskToResume )
\r
241 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
243 vTaskResume( pxTaskToResume );
\r
244 vPortResetPrivilege( xRunningPrivileged );
\r
247 /*-----------------------------------------------------------*/
\r
249 void MPU_vTaskSuspendAll( void )
\r
251 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
254 vPortResetPrivilege( xRunningPrivileged );
\r
256 /*-----------------------------------------------------------*/
\r
258 BaseType_t MPU_xTaskResumeAll( void )
\r
260 BaseType_t xReturn;
\r
261 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
263 xReturn = xTaskResumeAll();
\r
264 vPortResetPrivilege( xRunningPrivileged );
\r
267 /*-----------------------------------------------------------*/
\r
269 TickType_t MPU_xTaskGetTickCount( void )
\r
271 TickType_t xReturn;
\r
272 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
274 xReturn = xTaskGetTickCount();
\r
275 vPortResetPrivilege( xRunningPrivileged );
\r
278 /*-----------------------------------------------------------*/
\r
280 UBaseType_t MPU_uxTaskGetNumberOfTasks( void )
\r
282 UBaseType_t uxReturn;
\r
283 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
285 uxReturn = uxTaskGetNumberOfTasks();
\r
286 vPortResetPrivilege( xRunningPrivileged );
\r
289 /*-----------------------------------------------------------*/
\r
291 char * MPU_pcTaskGetName( TaskHandle_t xTaskToQuery )
\r
294 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
296 pcReturn = pcTaskGetName( xTaskToQuery );
\r
297 vPortResetPrivilege( xRunningPrivileged );
\r
300 /*-----------------------------------------------------------*/
\r
302 #if ( INCLUDE_xTaskGetHandle == 1 )
\r
303 TaskHandle_t MPU_xTaskGetHandle( const char *pcNameToQuery )
\r
305 TaskHandle_t xReturn;
\r
306 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
308 xReturn = xTaskGetHandle( pcNameToQuery );
\r
309 vPortResetPrivilege( xRunningPrivileged );
\r
313 /*-----------------------------------------------------------*/
\r
315 #if ( ( configUSE_TRACE_FACILITY == 1 ) && ( configUSE_STATS_FORMATTING_FUNCTIONS > 0 ) && ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) )
\r
316 void MPU_vTaskList( char *pcWriteBuffer )
\r
318 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
320 vTaskList( pcWriteBuffer );
\r
321 vPortResetPrivilege( xRunningPrivileged );
\r
324 /*-----------------------------------------------------------*/
\r
326 #if ( ( configGENERATE_RUN_TIME_STATS == 1 ) && ( configUSE_STATS_FORMATTING_FUNCTIONS > 0 ) && ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) )
\r
327 void MPU_vTaskGetRunTimeStats( char *pcWriteBuffer )
\r
329 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
331 vTaskGetRunTimeStats( pcWriteBuffer );
\r
332 vPortResetPrivilege( xRunningPrivileged );
\r
335 /*-----------------------------------------------------------*/
\r
337 #if ( configUSE_APPLICATION_TASK_TAG == 1 )
\r
338 void MPU_vTaskSetApplicationTaskTag( TaskHandle_t xTask, TaskHookFunction_t pxTagValue )
\r
340 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
342 vTaskSetApplicationTaskTag( xTask, pxTagValue );
\r
343 vPortResetPrivilege( xRunningPrivileged );
\r
346 /*-----------------------------------------------------------*/
\r
348 #if ( configUSE_APPLICATION_TASK_TAG == 1 )
\r
349 TaskHookFunction_t MPU_xTaskGetApplicationTaskTag( TaskHandle_t xTask )
\r
351 TaskHookFunction_t xReturn;
\r
352 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
354 xReturn = xTaskGetApplicationTaskTag( xTask );
\r
355 vPortResetPrivilege( xRunningPrivileged );
\r
359 /*-----------------------------------------------------------*/
\r
361 #if ( configNUM_THREAD_LOCAL_STORAGE_POINTERS != 0 )
\r
362 void MPU_vTaskSetThreadLocalStoragePointer( TaskHandle_t xTaskToSet, BaseType_t xIndex, void *pvValue )
\r
364 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
366 vTaskSetThreadLocalStoragePointer( xTaskToSet, xIndex, pvValue );
\r
367 vPortResetPrivilege( xRunningPrivileged );
\r
370 /*-----------------------------------------------------------*/
\r
372 #if ( configNUM_THREAD_LOCAL_STORAGE_POINTERS != 0 )
\r
373 void *MPU_pvTaskGetThreadLocalStoragePointer( TaskHandle_t xTaskToQuery, BaseType_t xIndex )
\r
376 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
378 pvReturn = pvTaskGetThreadLocalStoragePointer( xTaskToQuery, xIndex );
\r
379 vPortResetPrivilege( xRunningPrivileged );
\r
383 /*-----------------------------------------------------------*/
\r
385 #if ( configUSE_APPLICATION_TASK_TAG == 1 )
\r
386 BaseType_t MPU_xTaskCallApplicationTaskHook( TaskHandle_t xTask, void *pvParameter )
\r
388 BaseType_t xReturn;
\r
389 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
391 xReturn = xTaskCallApplicationTaskHook( xTask, pvParameter );
\r
392 vPortResetPrivilege( xRunningPrivileged );
\r
396 /*-----------------------------------------------------------*/
\r
398 #if ( configUSE_TRACE_FACILITY == 1 )
\r
399 UBaseType_t MPU_uxTaskGetSystemState( TaskStatus_t *pxTaskStatusArray, UBaseType_t uxArraySize, uint32_t *pulTotalRunTime )
\r
401 UBaseType_t uxReturn;
\r
402 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
404 uxReturn = uxTaskGetSystemState( pxTaskStatusArray, uxArraySize, pulTotalRunTime );
\r
405 vPortResetPrivilege( xRunningPrivileged );
\r
409 /*-----------------------------------------------------------*/
\r
411 #if ( INCLUDE_uxTaskGetStackHighWaterMark == 1 )
\r
412 UBaseType_t MPU_uxTaskGetStackHighWaterMark( TaskHandle_t xTask )
\r
414 UBaseType_t uxReturn;
\r
415 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
417 uxReturn = uxTaskGetStackHighWaterMark( xTask );
\r
418 vPortResetPrivilege( xRunningPrivileged );
\r
422 /*-----------------------------------------------------------*/
\r
424 #if ( INCLUDE_xTaskGetCurrentTaskHandle == 1 )
\r
425 TaskHandle_t MPU_xTaskGetCurrentTaskHandle( void )
\r
427 TaskHandle_t xReturn;
\r
428 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
430 xReturn = xTaskGetCurrentTaskHandle();
\r
431 vPortResetPrivilege( xRunningPrivileged );
\r
435 /*-----------------------------------------------------------*/
\r
437 #if ( INCLUDE_xTaskGetSchedulerState == 1 )
\r
438 BaseType_t MPU_xTaskGetSchedulerState( void )
\r
440 BaseType_t xReturn;
\r
441 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
443 xReturn = xTaskGetSchedulerState();
\r
444 vPortResetPrivilege( xRunningPrivileged );
\r
448 /*-----------------------------------------------------------*/
\r
450 void MPU_vTaskSetTimeOutState( TimeOut_t * const pxTimeOut )
\r
452 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
454 vTaskSetTimeOutState( pxTimeOut );
\r
455 vPortResetPrivilege( xRunningPrivileged );
\r
457 /*-----------------------------------------------------------*/
\r
459 BaseType_t MPU_xTaskCheckForTimeOut( TimeOut_t * const pxTimeOut, TickType_t * const pxTicksToWait )
\r
461 BaseType_t xReturn;
\r
462 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
464 xReturn = xTaskCheckForTimeOut( pxTimeOut, pxTicksToWait );
\r
465 vPortResetPrivilege( xRunningPrivileged );
\r
468 /*-----------------------------------------------------------*/
\r
470 #if( configUSE_TASK_NOTIFICATIONS == 1 )
\r
471 BaseType_t MPU_xTaskGenericNotify( TaskHandle_t xTaskToNotify, uint32_t ulValue, eNotifyAction eAction, uint32_t *pulPreviousNotificationValue )
\r
473 BaseType_t xReturn;
\r
474 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
476 xReturn = xTaskGenericNotify( xTaskToNotify, ulValue, eAction, pulPreviousNotificationValue );
\r
477 vPortResetPrivilege( xRunningPrivileged );
\r
481 /*-----------------------------------------------------------*/
\r
483 #if( configUSE_TASK_NOTIFICATIONS == 1 )
\r
484 BaseType_t MPU_xTaskNotifyWait( uint32_t ulBitsToClearOnEntry, uint32_t ulBitsToClearOnExit, uint32_t *pulNotificationValue, TickType_t xTicksToWait )
\r
486 BaseType_t xReturn;
\r
487 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
489 xReturn = xTaskNotifyWait( ulBitsToClearOnEntry, ulBitsToClearOnExit, pulNotificationValue, xTicksToWait );
\r
490 vPortResetPrivilege( xRunningPrivileged );
\r
494 /*-----------------------------------------------------------*/
\r
496 #if( configUSE_TASK_NOTIFICATIONS == 1 )
\r
497 uint32_t MPU_ulTaskNotifyTake( BaseType_t xClearCountOnExit, TickType_t xTicksToWait )
\r
500 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
502 ulReturn = ulTaskNotifyTake( xClearCountOnExit, xTicksToWait );
\r
503 vPortResetPrivilege( xRunningPrivileged );
\r
507 /*-----------------------------------------------------------*/
\r
509 #if( configUSE_TASK_NOTIFICATIONS == 1 )
\r
510 BaseType_t MPU_xTaskNotifyStateClear( TaskHandle_t xTask )
\r
512 BaseType_t xReturn;
\r
513 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
515 xReturn = xTaskNotifyStateClear( xTask );
\r
516 vPortResetPrivilege( xRunningPrivileged );
\r
520 /*-----------------------------------------------------------*/
\r
522 #if( configSUPPORT_DYNAMIC_ALLOCATION == 1 )
\r
523 QueueHandle_t MPU_xQueueGenericCreate( UBaseType_t uxQueueLength, UBaseType_t uxItemSize, uint8_t ucQueueType )
\r
525 QueueHandle_t xReturn;
\r
526 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
528 xReturn = xQueueGenericCreate( uxQueueLength, uxItemSize, ucQueueType );
\r
529 vPortResetPrivilege( xRunningPrivileged );
\r
533 /*-----------------------------------------------------------*/
\r
535 #if( configSUPPORT_STATIC_ALLOCATION == 1 )
\r
536 QueueHandle_t MPU_xQueueGenericCreateStatic( const UBaseType_t uxQueueLength, const UBaseType_t uxItemSize, uint8_t *pucQueueStorage, StaticQueue_t *pxStaticQueue, const uint8_t ucQueueType )
\r
538 QueueHandle_t xReturn;
\r
539 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
541 xReturn = xQueueGenericCreateStatic( uxQueueLength, uxItemSize, pucQueueStorage, pxStaticQueue, ucQueueType );
\r
542 vPortResetPrivilege( xRunningPrivileged );
\r
546 /*-----------------------------------------------------------*/
\r
548 BaseType_t MPU_xQueueGenericReset( QueueHandle_t pxQueue, BaseType_t xNewQueue )
\r
550 BaseType_t xReturn;
\r
551 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
553 xReturn = xQueueGenericReset( pxQueue, xNewQueue );
\r
554 vPortResetPrivilege( xRunningPrivileged );
\r
557 /*-----------------------------------------------------------*/
\r
559 BaseType_t MPU_xQueueGenericSend( QueueHandle_t xQueue, const void * const pvItemToQueue, TickType_t xTicksToWait, BaseType_t xCopyPosition )
\r
561 BaseType_t xReturn;
\r
562 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
564 xReturn = xQueueGenericSend( xQueue, pvItemToQueue, xTicksToWait, xCopyPosition );
\r
565 vPortResetPrivilege( xRunningPrivileged );
\r
568 /*-----------------------------------------------------------*/
\r
570 UBaseType_t MPU_uxQueueMessagesWaiting( const QueueHandle_t pxQueue )
\r
572 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
573 UBaseType_t uxReturn;
\r
575 uxReturn = uxQueueMessagesWaiting( pxQueue );
\r
576 vPortResetPrivilege( xRunningPrivileged );
\r
579 /*-----------------------------------------------------------*/
\r
581 UBaseType_t MPU_uxQueueSpacesAvailable( const QueueHandle_t xQueue )
\r
583 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
584 UBaseType_t uxReturn;
\r
586 uxReturn = uxQueueSpacesAvailable( xQueue );
\r
587 vPortResetPrivilege( xRunningPrivileged );
\r
590 /*-----------------------------------------------------------*/
\r
592 BaseType_t MPU_xQueueReceive( QueueHandle_t pxQueue, void * const pvBuffer, TickType_t xTicksToWait )
\r
594 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
595 BaseType_t xReturn;
\r
597 xReturn = xQueueReceive( pxQueue, pvBuffer, xTicksToWait );
\r
598 vPortResetPrivilege( xRunningPrivileged );
\r
601 /*-----------------------------------------------------------*/
\r
603 BaseType_t MPU_xQueuePeek( QueueHandle_t xQueue, void * const pvBuffer, TickType_t xTicksToWait )
\r
605 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
606 BaseType_t xReturn;
\r
608 xReturn = xQueuePeek( xQueue, pvBuffer, xTicksToWait );
\r
609 vPortResetPrivilege( xRunningPrivileged );
\r
612 /*-----------------------------------------------------------*/
\r
614 BaseType_t MPU_xQueueSemaphoreTake( QueueHandle_t xQueue, TickType_t xTicksToWait )
\r
616 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
617 BaseType_t xReturn;
\r
619 xReturn = xQueueSemaphoreTake( xQueue, xTicksToWait );
\r
620 vPortResetPrivilege( xRunningPrivileged );
\r
623 /*-----------------------------------------------------------*/
\r
625 BaseType_t MPU_xQueuePeekFromISR( QueueHandle_t pxQueue, void * const pvBuffer )
\r
627 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
628 BaseType_t xReturn;
\r
630 xReturn = xQueuePeekFromISR( pxQueue, pvBuffer );
\r
631 vPortResetPrivilege( xRunningPrivileged );
\r
634 /*-----------------------------------------------------------*/
\r
636 void* MPU_xQueueGetMutexHolder( QueueHandle_t xSemaphore )
\r
638 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
641 xReturn = ( void * ) xQueueGetMutexHolder( xSemaphore );
\r
642 vPortResetPrivilege( xRunningPrivileged );
\r
645 /*-----------------------------------------------------------*/
\r
647 #if( ( configUSE_MUTEXES == 1 ) && ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) )
\r
648 QueueHandle_t MPU_xQueueCreateMutex( const uint8_t ucQueueType )
\r
650 QueueHandle_t xReturn;
\r
651 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
653 xReturn = xQueueCreateMutex( ucQueueType );
\r
654 vPortResetPrivilege( xRunningPrivileged );
\r
658 /*-----------------------------------------------------------*/
\r
660 #if( ( configUSE_MUTEXES == 1 ) && ( configSUPPORT_STATIC_ALLOCATION == 1 ) )
\r
661 QueueHandle_t MPU_xQueueCreateMutexStatic( const uint8_t ucQueueType, StaticQueue_t *pxStaticQueue )
\r
663 QueueHandle_t xReturn;
\r
664 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
666 xReturn = xQueueCreateMutexStatic( ucQueueType, pxStaticQueue );
\r
667 vPortResetPrivilege( xRunningPrivileged );
\r
671 /*-----------------------------------------------------------*/
\r
673 #if( ( configUSE_COUNTING_SEMAPHORES == 1 ) && ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) )
\r
674 QueueHandle_t MPU_xQueueCreateCountingSemaphore( UBaseType_t uxCountValue, UBaseType_t uxInitialCount )
\r
676 QueueHandle_t xReturn;
\r
677 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
679 xReturn = xQueueCreateCountingSemaphore( uxCountValue, uxInitialCount );
\r
680 vPortResetPrivilege( xRunningPrivileged );
\r
684 /*-----------------------------------------------------------*/
\r
686 #if( ( configUSE_COUNTING_SEMAPHORES == 1 ) && ( configSUPPORT_STATIC_ALLOCATION == 1 ) )
\r
688 QueueHandle_t MPU_xQueueCreateCountingSemaphoreStatic( const UBaseType_t uxMaxCount, const UBaseType_t uxInitialCount, StaticQueue_t *pxStaticQueue )
\r
690 QueueHandle_t xReturn;
\r
691 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
693 xReturn = xQueueCreateCountingSemaphoreStatic( uxMaxCount, uxInitialCount, pxStaticQueue );
\r
694 vPortResetPrivilege( xRunningPrivileged );
\r
698 /*-----------------------------------------------------------*/
\r
700 #if ( configUSE_MUTEXES == 1 )
\r
701 BaseType_t MPU_xQueueTakeMutexRecursive( QueueHandle_t xMutex, TickType_t xBlockTime )
\r
703 BaseType_t xReturn;
\r
704 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
706 xReturn = xQueueTakeMutexRecursive( xMutex, xBlockTime );
\r
707 vPortResetPrivilege( xRunningPrivileged );
\r
711 /*-----------------------------------------------------------*/
\r
713 #if ( configUSE_MUTEXES == 1 )
\r
714 BaseType_t MPU_xQueueGiveMutexRecursive( QueueHandle_t xMutex )
\r
716 BaseType_t xReturn;
\r
717 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
719 xReturn = xQueueGiveMutexRecursive( xMutex );
\r
720 vPortResetPrivilege( xRunningPrivileged );
\r
724 /*-----------------------------------------------------------*/
\r
726 #if( ( configUSE_QUEUE_SETS == 1 ) && ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) )
\r
727 QueueSetHandle_t MPU_xQueueCreateSet( UBaseType_t uxEventQueueLength )
\r
729 QueueSetHandle_t xReturn;
\r
730 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
732 xReturn = xQueueCreateSet( uxEventQueueLength );
\r
733 vPortResetPrivilege( xRunningPrivileged );
\r
737 /*-----------------------------------------------------------*/
\r
739 #if ( configUSE_QUEUE_SETS == 1 )
\r
740 QueueSetMemberHandle_t MPU_xQueueSelectFromSet( QueueSetHandle_t xQueueSet, TickType_t xBlockTimeTicks )
\r
742 QueueSetMemberHandle_t xReturn;
\r
743 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
745 xReturn = xQueueSelectFromSet( xQueueSet, xBlockTimeTicks );
\r
746 vPortResetPrivilege( xRunningPrivileged );
\r
750 /*-----------------------------------------------------------*/
\r
752 #if ( configUSE_QUEUE_SETS == 1 )
\r
753 BaseType_t MPU_xQueueAddToSet( QueueSetMemberHandle_t xQueueOrSemaphore, QueueSetHandle_t xQueueSet )
\r
755 BaseType_t xReturn;
\r
756 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
758 xReturn = xQueueAddToSet( xQueueOrSemaphore, xQueueSet );
\r
759 vPortResetPrivilege( xRunningPrivileged );
\r
763 /*-----------------------------------------------------------*/
\r
765 #if ( configUSE_QUEUE_SETS == 1 )
\r
766 BaseType_t MPU_xQueueRemoveFromSet( QueueSetMemberHandle_t xQueueOrSemaphore, QueueSetHandle_t xQueueSet )
\r
768 BaseType_t xReturn;
\r
769 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
771 xReturn = xQueueRemoveFromSet( xQueueOrSemaphore, xQueueSet );
\r
772 vPortResetPrivilege( xRunningPrivileged );
\r
776 /*-----------------------------------------------------------*/
\r
778 #if configQUEUE_REGISTRY_SIZE > 0
\r
779 void MPU_vQueueAddToRegistry( QueueHandle_t xQueue, const char *pcName )
\r
781 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
783 vQueueAddToRegistry( xQueue, pcName );
\r
785 vPortResetPrivilege( xRunningPrivileged );
\r
788 /*-----------------------------------------------------------*/
\r
790 #if configQUEUE_REGISTRY_SIZE > 0
\r
791 void MPU_vQueueUnregisterQueue( QueueHandle_t xQueue )
\r
793 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
795 vQueueUnregisterQueue( xQueue );
\r
797 vPortResetPrivilege( xRunningPrivileged );
\r
800 /*-----------------------------------------------------------*/
\r
802 #if configQUEUE_REGISTRY_SIZE > 0
\r
803 const char *MPU_pcQueueGetName( QueueHandle_t xQueue )
\r
805 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
806 const char *pcReturn;
\r
808 pcReturn = pcQueueGetName( xQueue );
\r
810 vPortResetPrivilege( xRunningPrivileged );
\r
814 /*-----------------------------------------------------------*/
\r
816 void MPU_vQueueDelete( QueueHandle_t xQueue )
\r
818 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
820 vQueueDelete( xQueue );
\r
822 vPortResetPrivilege( xRunningPrivileged );
\r
824 /*-----------------------------------------------------------*/
\r
826 #if( configSUPPORT_DYNAMIC_ALLOCATION == 1 )
\r
827 void *MPU_pvPortMalloc( size_t xSize )
\r
830 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
832 pvReturn = pvPortMalloc( xSize );
\r
834 vPortResetPrivilege( xRunningPrivileged );
\r
838 #endif /* configSUPPORT_DYNAMIC_ALLOCATION */
\r
839 /*-----------------------------------------------------------*/
\r
841 #if( configSUPPORT_DYNAMIC_ALLOCATION == 1 )
\r
842 void MPU_vPortFree( void *pv )
\r
844 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
848 vPortResetPrivilege( xRunningPrivileged );
\r
850 #endif /* configSUPPORT_DYNAMIC_ALLOCATION */
\r
851 /*-----------------------------------------------------------*/
\r
853 #if( configSUPPORT_DYNAMIC_ALLOCATION == 1 )
\r
854 void MPU_vPortInitialiseBlocks( void )
\r
856 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
858 vPortInitialiseBlocks();
\r
860 vPortResetPrivilege( xRunningPrivileged );
\r
862 #endif /* configSUPPORT_DYNAMIC_ALLOCATION */
\r
863 /*-----------------------------------------------------------*/
\r
865 #if( configSUPPORT_DYNAMIC_ALLOCATION == 1 )
\r
866 size_t MPU_xPortGetFreeHeapSize( void )
\r
869 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
871 xReturn = xPortGetFreeHeapSize();
\r
873 vPortResetPrivilege( xRunningPrivileged );
\r
877 #endif /* configSUPPORT_DYNAMIC_ALLOCATION */
\r
878 /*-----------------------------------------------------------*/
\r
880 #if( ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) && ( configUSE_TIMERS == 1 ) )
\r
881 TimerHandle_t MPU_xTimerCreate( const char * const pcTimerName, const TickType_t xTimerPeriodInTicks, const UBaseType_t uxAutoReload, void * const pvTimerID, TimerCallbackFunction_t pxCallbackFunction )
\r
883 TimerHandle_t xReturn;
\r
884 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
886 xReturn = xTimerCreate( pcTimerName, xTimerPeriodInTicks, uxAutoReload, pvTimerID, pxCallbackFunction );
\r
887 vPortResetPrivilege( xRunningPrivileged );
\r
892 /*-----------------------------------------------------------*/
\r
894 #if( ( configSUPPORT_STATIC_ALLOCATION == 1 ) && ( configUSE_TIMERS == 1 ) )
\r
895 TimerHandle_t MPU_xTimerCreateStatic( const char * const pcTimerName, const TickType_t xTimerPeriodInTicks, const UBaseType_t uxAutoReload, void * const pvTimerID, TimerCallbackFunction_t pxCallbackFunction, StaticTimer_t *pxTimerBuffer )
\r
897 TimerHandle_t xReturn;
\r
898 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
900 xReturn = xTimerCreateStatic( pcTimerName, xTimerPeriodInTicks, uxAutoReload, pvTimerID, pxCallbackFunction, pxTimerBuffer );
\r
901 vPortResetPrivilege( xRunningPrivileged );
\r
906 /*-----------------------------------------------------------*/
\r
908 #if( configUSE_TIMERS == 1 )
\r
909 void *MPU_pvTimerGetTimerID( const TimerHandle_t xTimer )
\r
912 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
914 pvReturn = pvTimerGetTimerID( xTimer );
\r
915 vPortResetPrivilege( xRunningPrivileged );
\r
920 /*-----------------------------------------------------------*/
\r
922 #if( configUSE_TIMERS == 1 )
\r
923 void MPU_vTimerSetTimerID( TimerHandle_t xTimer, void *pvNewID )
\r
925 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
927 vTimerSetTimerID( xTimer, pvNewID );
\r
928 vPortResetPrivilege( xRunningPrivileged );
\r
931 /*-----------------------------------------------------------*/
\r
933 #if( configUSE_TIMERS == 1 )
\r
934 BaseType_t MPU_xTimerIsTimerActive( TimerHandle_t xTimer )
\r
936 BaseType_t xReturn;
\r
937 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
939 xReturn = xTimerIsTimerActive( xTimer );
\r
940 vPortResetPrivilege( xRunningPrivileged );
\r
945 /*-----------------------------------------------------------*/
\r
947 #if( configUSE_TIMERS == 1 )
\r
948 TaskHandle_t MPU_xTimerGetTimerDaemonTaskHandle( void )
\r
950 TaskHandle_t xReturn;
\r
951 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
953 xReturn = xTimerGetTimerDaemonTaskHandle();
\r
954 vPortResetPrivilege( xRunningPrivileged );
\r
959 /*-----------------------------------------------------------*/
\r
961 #if( ( INCLUDE_xTimerPendFunctionCall == 1 ) && ( configUSE_TIMERS == 1 ) )
\r
962 BaseType_t MPU_xTimerPendFunctionCall( PendedFunction_t xFunctionToPend, void *pvParameter1, uint32_t ulParameter2, TickType_t xTicksToWait )
\r
964 BaseType_t xReturn;
\r
965 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
967 xReturn = xTimerPendFunctionCall( xFunctionToPend, pvParameter1, ulParameter2, xTicksToWait );
\r
968 vPortResetPrivilege( xRunningPrivileged );
\r
973 /*-----------------------------------------------------------*/
\r
975 #if( configUSE_TIMERS == 1 )
\r
976 const char * MPU_pcTimerGetName( TimerHandle_t xTimer )
\r
978 const char * pcReturn;
\r
979 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
981 pcReturn = pcTimerGetName( xTimer );
\r
982 vPortResetPrivilege( xRunningPrivileged );
\r
987 /*-----------------------------------------------------------*/
\r
989 #if( configUSE_TIMERS == 1 )
\r
990 TickType_t MPU_xTimerGetPeriod( TimerHandle_t xTimer )
\r
992 TickType_t xReturn;
\r
993 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
995 xReturn = xTimerGetPeriod( xTimer );
\r
996 vPortResetPrivilege( xRunningPrivileged );
\r
1001 /*-----------------------------------------------------------*/
\r
1003 #if( configUSE_TIMERS == 1 )
\r
1004 TickType_t MPU_xTimerGetExpiryTime( TimerHandle_t xTimer )
\r
1006 TickType_t xReturn;
\r
1007 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
1009 xReturn = xTimerGetExpiryTime( xTimer );
\r
1010 vPortResetPrivilege( xRunningPrivileged );
\r
1015 /*-----------------------------------------------------------*/
\r
1017 #if( configUSE_TIMERS == 1 )
\r
1018 BaseType_t MPU_xTimerGenericCommand( TimerHandle_t xTimer, const BaseType_t xCommandID, const TickType_t xOptionalValue, BaseType_t * const pxHigherPriorityTaskWoken, const TickType_t xTicksToWait )
\r
1020 BaseType_t xReturn;
\r
1021 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
1023 xReturn = xTimerGenericCommand( xTimer, xCommandID, xOptionalValue, pxHigherPriorityTaskWoken, xTicksToWait );
\r
1024 vPortResetPrivilege( xRunningPrivileged );
\r
1029 /*-----------------------------------------------------------*/
\r
1031 #if( configSUPPORT_DYNAMIC_ALLOCATION == 1 )
\r
1032 EventGroupHandle_t MPU_xEventGroupCreate( void )
\r
1034 EventGroupHandle_t xReturn;
\r
1035 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
1037 xReturn = xEventGroupCreate();
\r
1038 vPortResetPrivilege( xRunningPrivileged );
\r
1043 /*-----------------------------------------------------------*/
\r
1045 #if( configSUPPORT_STATIC_ALLOCATION == 1 )
\r
1046 EventGroupHandle_t MPU_xEventGroupCreateStatic( StaticEventGroup_t *pxEventGroupBuffer )
\r
1048 EventGroupHandle_t xReturn;
\r
1049 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
1051 xReturn = xEventGroupCreateStatic( pxEventGroupBuffer );
\r
1052 vPortResetPrivilege( xRunningPrivileged );
\r
1057 /*-----------------------------------------------------------*/
\r
1059 EventBits_t MPU_xEventGroupWaitBits( EventGroupHandle_t xEventGroup, const EventBits_t uxBitsToWaitFor, const BaseType_t xClearOnExit, const BaseType_t xWaitForAllBits, TickType_t xTicksToWait )
\r
1061 EventBits_t xReturn;
\r
1062 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
1064 xReturn = xEventGroupWaitBits( xEventGroup, uxBitsToWaitFor, xClearOnExit, xWaitForAllBits, xTicksToWait );
\r
1065 vPortResetPrivilege( xRunningPrivileged );
\r
1069 /*-----------------------------------------------------------*/
\r
1071 EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, const EventBits_t uxBitsToClear )
\r
1073 EventBits_t xReturn;
\r
1074 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
1076 xReturn = xEventGroupClearBits( xEventGroup, uxBitsToClear );
\r
1077 vPortResetPrivilege( xRunningPrivileged );
\r
1081 /*-----------------------------------------------------------*/
\r
1083 EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, const EventBits_t uxBitsToSet )
\r
1085 EventBits_t xReturn;
\r
1086 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
1088 xReturn = xEventGroupSetBits( xEventGroup, uxBitsToSet );
\r
1089 vPortResetPrivilege( xRunningPrivileged );
\r
1093 /*-----------------------------------------------------------*/
\r
1095 EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, const EventBits_t uxBitsToSet, const EventBits_t uxBitsToWaitFor, TickType_t xTicksToWait )
\r
1097 EventBits_t xReturn;
\r
1098 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
1100 xReturn = xEventGroupSync( xEventGroup, uxBitsToSet, uxBitsToWaitFor, xTicksToWait );
\r
1101 vPortResetPrivilege( xRunningPrivileged );
\r
1105 /*-----------------------------------------------------------*/
\r
1107 void MPU_vEventGroupDelete( EventGroupHandle_t xEventGroup )
\r
1109 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
1111 vEventGroupDelete( xEventGroup );
\r
1112 vPortResetPrivilege( xRunningPrivileged );
\r
1114 /*-----------------------------------------------------------*/
\r
1116 size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, const void *pvTxData, size_t xDataLengthBytes, TickType_t xTicksToWait )
\r
1119 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
1121 xReturn = xStreamBufferSend( xStreamBuffer, pvTxData, xDataLengthBytes, xTicksToWait );
\r
1122 vPortResetPrivilege( xRunningPrivileged );
\r
1126 /*-----------------------------------------------------------*/
\r
1128 size_t MPU_xStreamBufferSendFromISR( StreamBufferHandle_t xStreamBuffer, const void *pvTxData, size_t xDataLengthBytes, BaseType_t * const pxHigherPriorityTaskWoken )
\r
1131 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
1133 xReturn = xStreamBufferSendFromISR( xStreamBuffer, pvTxData, xDataLengthBytes, pxHigherPriorityTaskWoken );
\r
1134 vPortResetPrivilege( xRunningPrivileged );
\r
1138 /*-----------------------------------------------------------*/
\r
1140 size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, void *pvRxData, size_t xBufferLengthBytes, TickType_t xTicksToWait )
\r
1143 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
1145 xReturn = xStreamBufferReceive( xStreamBuffer, pvRxData, xBufferLengthBytes, xTicksToWait );
\r
1146 vPortResetPrivilege( xRunningPrivileged );
\r
1150 /*-----------------------------------------------------------*/
\r
1152 size_t MPU_xStreamBufferReceiveFromISR( StreamBufferHandle_t xStreamBuffer, void *pvRxData, size_t xBufferLengthBytes, BaseType_t * const pxHigherPriorityTaskWoken )
\r
1155 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
1157 xReturn = xStreamBufferReceiveFromISR( xStreamBuffer, pvRxData, xBufferLengthBytes, pxHigherPriorityTaskWoken );
\r
1158 vPortResetPrivilege( xRunningPrivileged );
\r
1162 /*-----------------------------------------------------------*/
\r
1164 void MPU_vStreamBufferDelete( StreamBufferHandle_t xStreamBuffer )
\r
1166 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
1168 vStreamBufferDelete( xStreamBuffer );
\r
1169 vPortResetPrivilege( xRunningPrivileged );
\r
1171 /*-----------------------------------------------------------*/
\r
1173 BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer )
\r
1175 BaseType_t xReturn;
\r
1176 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
1178 xReturn = xStreamBufferIsFull( xStreamBuffer );
\r
1179 vPortResetPrivilege( xRunningPrivileged );
\r
1183 /*-----------------------------------------------------------*/
\r
1185 BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer )
\r
1187 BaseType_t xReturn;
\r
1188 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
1190 xReturn = xStreamBufferIsEmpty( xStreamBuffer );
\r
1191 vPortResetPrivilege( xRunningPrivileged );
\r
1195 /*-----------------------------------------------------------*/
\r
1197 BaseType_t MPU_xStreamBufferReset( StreamBufferHandle_t xStreamBuffer )
\r
1199 BaseType_t xReturn;
\r
1200 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
1202 xReturn = xStreamBufferReset( xStreamBuffer );
\r
1203 vPortResetPrivilege( xRunningPrivileged );
\r
1207 /*-----------------------------------------------------------*/
\r
1209 size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer )
\r
1212 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
1214 xReturn = xStreamBufferSpacesAvailable( xStreamBuffer );
\r
1215 vPortResetPrivilege( xRunningPrivileged );
\r
1219 /*-----------------------------------------------------------*/
\r
1221 size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer )
\r
1224 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
1226 xReturn = xStreamBufferBytesAvailable( xStreamBuffer );
\r
1227 vPortResetPrivilege( xRunningPrivileged );
\r
1231 /*-----------------------------------------------------------*/
\r
1233 BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, size_t xTriggerLevel )
\r
1235 BaseType_t xReturn;
\r
1236 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
1238 xReturn = xStreamBufferSetTriggerLevel( xStreamBuffer, xTriggerLevel );
\r
1239 vPortResetPrivilege( xRunningPrivileged );
\r
1243 /*-----------------------------------------------------------*/
\r
1245 #if( configSUPPORT_DYNAMIC_ALLOCATION == 1 )
\r
1246 StreamBufferHandle_t MPU_xStreamBufferGenericCreate( size_t xBufferSizeBytes, size_t xTriggerLevelBytes, BaseType_t xIsMessageBuffer )
\r
1248 StreamBufferHandle_t xReturn;
\r
1249 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
1251 xReturn = xStreamBufferGenericCreate( xBufferSizeBytes, xTriggerLevelBytes, xIsMessageBuffer );
\r
1252 vPortResetPrivilege( xRunningPrivileged );
\r
1256 #endif /* configSUPPORT_DYNAMIC_ALLOCATION */
\r
1257 /*-----------------------------------------------------------*/
\r
1259 #if( configSUPPORT_STATIC_ALLOCATION == 1 )
\r
1260 StreamBufferHandle_t MPU_xStreamBufferGenericCreateStatic( size_t xBufferSizeBytes, size_t xTriggerLevelBytes, BaseType_t xIsMessageBuffer, uint8_t * const pucStreamBufferStorageArea, StaticStreamBuffer_t * const pxStaticStreamBuffer )
\r
1262 StreamBufferHandle_t xReturn;
\r
1263 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
1265 xReturn = xStreamBufferGenericCreateStatic( xBufferSizeBytes, xTriggerLevelBytes, xIsMessageBuffer, pucStreamBufferStorageArea, pxStaticStreamBuffer );
\r
1266 vPortResetPrivilege( xRunningPrivileged );
\r
1270 #endif /* configSUPPORT_STATIC_ALLOCATION */
\r
1271 /*-----------------------------------------------------------*/
\r
1274 /* Functions that the application writer wants to execute in privileged mode
\r
1275 can be defined in application_defined_privileged_functions.h. The functions
\r
1276 must take the same format as those above whereby the privilege state on exit
\r
1277 equals the privilege state on entry. For example:
\r
1279 void MPU_FunctionName( [parameters ] )
\r
1281 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
1283 FunctionName( [parameters ] );
\r
1285 vPortResetPrivilege( xRunningPrivileged );
\r
1289 #if configINCLUDE_APPLICATION_DEFINED_PRIVILEGED_FUNCTIONS == 1
\r
1290 #include "application_defined_privileged_functions.h"
\r