2 * FreeRTOS Kernel V10.1.1
\r
3 * Copyright (C) 2018 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.
\r
15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
\r
16 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
\r
17 * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
\r
18 * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
\r
19 * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
\r
20 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
\r
22 * http://www.FreeRTOS.org
\r
23 * http://aws.amazon.com/freertos
\r
25 * 1 tab == 4 spaces!
\r
29 * Implementation of the wrapper functions used to raise the processor privilege
\r
30 * before calling a standard FreeRTOS API function.
\r
33 /* Defining MPU_WRAPPERS_INCLUDED_FROM_API_FILE prevents task.h from redefining
\r
34 all the API functions to use the MPU wrappers. That should only be done when
\r
35 task.h is included from an application file. */
\r
36 #define MPU_WRAPPERS_INCLUDED_FROM_API_FILE
\r
38 /* Scheduler includes. */
\r
39 #include "FreeRTOS.h"
\r
43 #include "event_groups.h"
\r
44 #include "stream_buffer.h"
\r
45 #include "mpu_prototypes.h"
\r
47 #undef MPU_WRAPPERS_INCLUDED_FROM_API_FILE
\r
50 * Checks to see if being called from the context of an unprivileged task, and
\r
51 * if so raises the privilege level and returns false - otherwise does nothing
\r
52 * other than return true.
\r
54 extern BaseType_t xPortRaisePrivilege( void );
\r
56 /*-----------------------------------------------------------*/
\r
58 #if( configSUPPORT_DYNAMIC_ALLOCATION == 1 )
\r
59 BaseType_t MPU_xTaskCreateRestricted( const TaskParameters_t * const pxTaskDefinition, TaskHandle_t *pxCreatedTask )
\r
62 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
64 xReturn = xTaskCreateRestricted( pxTaskDefinition, pxCreatedTask );
\r
65 vPortResetPrivilege( xRunningPrivileged );
\r
68 #endif /* conifgSUPPORT_DYNAMIC_ALLOCATION */
\r
69 /*-----------------------------------------------------------*/
\r
71 #if( configSUPPORT_STATIC_ALLOCATION == 1 )
\r
72 BaseType_t MPU_xTaskCreateRestrictedStatic( const TaskParameters_t * const pxTaskDefinition, TaskHandle_t *pxCreatedTask )
\r
75 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
77 xReturn = xTaskCreateRestrictedStatic( pxTaskDefinition, pxCreatedTask );
\r
78 vPortResetPrivilege( xRunningPrivileged );
\r
81 #endif /* conifgSUPPORT_DYNAMIC_ALLOCATION */
\r
82 /*-----------------------------------------------------------*/
\r
84 #if( configSUPPORT_DYNAMIC_ALLOCATION == 1 )
\r
85 BaseType_t MPU_xTaskCreate( TaskFunction_t pvTaskCode, const char * const pcName, uint16_t usStackDepth, void *pvParameters, UBaseType_t uxPriority, TaskHandle_t *pxCreatedTask )
\r
88 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
90 xReturn = xTaskCreate( pvTaskCode, pcName, usStackDepth, pvParameters, uxPriority, pxCreatedTask );
\r
91 vPortResetPrivilege( xRunningPrivileged );
\r
94 #endif /* configSUPPORT_DYNAMIC_ALLOCATION */
\r
95 /*-----------------------------------------------------------*/
\r
97 #if( configSUPPORT_STATIC_ALLOCATION == 1 )
\r
98 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
100 TaskHandle_t xReturn;
\r
101 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
103 xReturn = xTaskCreateStatic( pxTaskCode, pcName, ulStackDepth, pvParameters, uxPriority, puxStackBuffer, pxTaskBuffer );
\r
104 vPortResetPrivilege( xRunningPrivileged );
\r
107 #endif /* configSUPPORT_STATIC_ALLOCATION */
\r
108 /*-----------------------------------------------------------*/
\r
110 void MPU_vTaskAllocateMPURegions( TaskHandle_t xTask, const MemoryRegion_t * const xRegions )
\r
112 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
114 vTaskAllocateMPURegions( xTask, xRegions );
\r
115 vPortResetPrivilege( xRunningPrivileged );
\r
117 /*-----------------------------------------------------------*/
\r
119 #if ( INCLUDE_vTaskDelete == 1 )
\r
120 void MPU_vTaskDelete( TaskHandle_t pxTaskToDelete )
\r
122 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
124 vTaskDelete( pxTaskToDelete );
\r
125 vPortResetPrivilege( xRunningPrivileged );
\r
128 /*-----------------------------------------------------------*/
\r
130 #if ( INCLUDE_vTaskDelayUntil == 1 )
\r
131 void MPU_vTaskDelayUntil( TickType_t * const pxPreviousWakeTime, TickType_t xTimeIncrement )
\r
133 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
135 vTaskDelayUntil( pxPreviousWakeTime, xTimeIncrement );
\r
136 vPortResetPrivilege( xRunningPrivileged );
\r
139 /*-----------------------------------------------------------*/
\r
141 #if ( INCLUDE_xTaskAbortDelay == 1 )
\r
142 BaseType_t MPU_xTaskAbortDelay( TaskHandle_t xTask )
\r
144 BaseType_t xReturn;
\r
145 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
147 xReturn = xTaskAbortDelay( xTask );
\r
148 vPortResetPrivilege( xRunningPrivileged );
\r
152 /*-----------------------------------------------------------*/
\r
154 #if ( INCLUDE_vTaskDelay == 1 )
\r
155 void MPU_vTaskDelay( TickType_t xTicksToDelay )
\r
157 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
159 vTaskDelay( xTicksToDelay );
\r
160 vPortResetPrivilege( xRunningPrivileged );
\r
163 /*-----------------------------------------------------------*/
\r
165 #if ( INCLUDE_uxTaskPriorityGet == 1 )
\r
166 UBaseType_t MPU_uxTaskPriorityGet( const TaskHandle_t pxTask )
\r
168 UBaseType_t uxReturn;
\r
169 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
171 uxReturn = uxTaskPriorityGet( pxTask );
\r
172 vPortResetPrivilege( xRunningPrivileged );
\r
176 /*-----------------------------------------------------------*/
\r
178 #if ( INCLUDE_vTaskPrioritySet == 1 )
\r
179 void MPU_vTaskPrioritySet( TaskHandle_t pxTask, UBaseType_t uxNewPriority )
\r
181 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
183 vTaskPrioritySet( pxTask, uxNewPriority );
\r
184 vPortResetPrivilege( xRunningPrivileged );
\r
187 /*-----------------------------------------------------------*/
\r
189 #if ( INCLUDE_eTaskGetState == 1 )
\r
190 eTaskState MPU_eTaskGetState( TaskHandle_t pxTask )
\r
192 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
193 eTaskState eReturn;
\r
195 eReturn = eTaskGetState( pxTask );
\r
196 vPortResetPrivilege( xRunningPrivileged );
\r
200 /*-----------------------------------------------------------*/
\r
202 #if( configUSE_TRACE_FACILITY == 1 )
\r
203 void MPU_vTaskGetInfo( TaskHandle_t xTask, TaskStatus_t *pxTaskStatus, BaseType_t xGetFreeStackSpace, eTaskState eState )
\r
205 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
207 vTaskGetInfo( xTask, pxTaskStatus, xGetFreeStackSpace, eState );
\r
208 vPortResetPrivilege( xRunningPrivileged );
\r
211 /*-----------------------------------------------------------*/
\r
213 #if ( INCLUDE_xTaskGetIdleTaskHandle == 1 )
\r
214 TaskHandle_t MPU_xTaskGetIdleTaskHandle( void )
\r
216 TaskHandle_t xReturn;
\r
217 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
219 xReturn = xTaskGetIdleTaskHandle();
\r
220 vPortResetPrivilege( xRunningPrivileged );
\r
224 /*-----------------------------------------------------------*/
\r
226 #if ( INCLUDE_vTaskSuspend == 1 )
\r
227 void MPU_vTaskSuspend( TaskHandle_t pxTaskToSuspend )
\r
229 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
231 vTaskSuspend( pxTaskToSuspend );
\r
232 vPortResetPrivilege( xRunningPrivileged );
\r
235 /*-----------------------------------------------------------*/
\r
237 #if ( INCLUDE_vTaskSuspend == 1 )
\r
238 void MPU_vTaskResume( TaskHandle_t pxTaskToResume )
\r
240 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
242 vTaskResume( pxTaskToResume );
\r
243 vPortResetPrivilege( xRunningPrivileged );
\r
246 /*-----------------------------------------------------------*/
\r
248 void MPU_vTaskSuspendAll( void )
\r
250 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
253 vPortResetPrivilege( xRunningPrivileged );
\r
255 /*-----------------------------------------------------------*/
\r
257 BaseType_t MPU_xTaskResumeAll( void )
\r
259 BaseType_t xReturn;
\r
260 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
262 xReturn = xTaskResumeAll();
\r
263 vPortResetPrivilege( xRunningPrivileged );
\r
266 /*-----------------------------------------------------------*/
\r
268 TickType_t MPU_xTaskGetTickCount( void )
\r
270 TickType_t xReturn;
\r
271 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
273 xReturn = xTaskGetTickCount();
\r
274 vPortResetPrivilege( xRunningPrivileged );
\r
277 /*-----------------------------------------------------------*/
\r
279 UBaseType_t MPU_uxTaskGetNumberOfTasks( void )
\r
281 UBaseType_t uxReturn;
\r
282 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
284 uxReturn = uxTaskGetNumberOfTasks();
\r
285 vPortResetPrivilege( xRunningPrivileged );
\r
288 /*-----------------------------------------------------------*/
\r
290 char * MPU_pcTaskGetName( TaskHandle_t xTaskToQuery )
\r
293 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
295 pcReturn = pcTaskGetName( xTaskToQuery );
\r
296 vPortResetPrivilege( xRunningPrivileged );
\r
299 /*-----------------------------------------------------------*/
\r
301 #if ( INCLUDE_xTaskGetHandle == 1 )
\r
302 TaskHandle_t MPU_xTaskGetHandle( const char *pcNameToQuery )
\r
304 TaskHandle_t xReturn;
\r
305 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
307 xReturn = xTaskGetHandle( pcNameToQuery );
\r
308 vPortResetPrivilege( xRunningPrivileged );
\r
312 /*-----------------------------------------------------------*/
\r
314 #if ( ( configUSE_TRACE_FACILITY == 1 ) && ( configUSE_STATS_FORMATTING_FUNCTIONS > 0 ) && ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) )
\r
315 void MPU_vTaskList( char *pcWriteBuffer )
\r
317 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
319 vTaskList( pcWriteBuffer );
\r
320 vPortResetPrivilege( xRunningPrivileged );
\r
323 /*-----------------------------------------------------------*/
\r
325 #if ( ( configGENERATE_RUN_TIME_STATS == 1 ) && ( configUSE_STATS_FORMATTING_FUNCTIONS > 0 ) && ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) )
\r
326 void MPU_vTaskGetRunTimeStats( char *pcWriteBuffer )
\r
328 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
330 vTaskGetRunTimeStats( pcWriteBuffer );
\r
331 vPortResetPrivilege( xRunningPrivileged );
\r
334 /*-----------------------------------------------------------*/
\r
336 #if( ( configGENERATE_RUN_TIME_STATS == 1 ) && ( INCLUDE_xTaskGetIdleTaskHandle == 1 ) )
\r
337 TickType_t MPU_xTaskGetIdleRunTimeCounter( void )
\r
339 TickType_t xReturn;
\r
340 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
342 xReturn = xTaskGetIdleRunTimeCounter();
\r
343 vPortResetPrivilege( xRunningPrivileged );
\r
347 /*-----------------------------------------------------------*/
\r
349 #if ( configUSE_APPLICATION_TASK_TAG == 1 )
\r
350 void MPU_vTaskSetApplicationTaskTag( TaskHandle_t xTask, TaskHookFunction_t pxTagValue )
\r
352 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
354 vTaskSetApplicationTaskTag( xTask, pxTagValue );
\r
355 vPortResetPrivilege( xRunningPrivileged );
\r
358 /*-----------------------------------------------------------*/
\r
360 #if ( configUSE_APPLICATION_TASK_TAG == 1 )
\r
361 TaskHookFunction_t MPU_xTaskGetApplicationTaskTag( TaskHandle_t xTask )
\r
363 TaskHookFunction_t xReturn;
\r
364 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
366 xReturn = xTaskGetApplicationTaskTag( xTask );
\r
367 vPortResetPrivilege( xRunningPrivileged );
\r
371 /*-----------------------------------------------------------*/
\r
373 #if ( configNUM_THREAD_LOCAL_STORAGE_POINTERS != 0 )
\r
374 void MPU_vTaskSetThreadLocalStoragePointer( TaskHandle_t xTaskToSet, BaseType_t xIndex, void *pvValue )
\r
376 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
378 vTaskSetThreadLocalStoragePointer( xTaskToSet, xIndex, pvValue );
\r
379 vPortResetPrivilege( xRunningPrivileged );
\r
382 /*-----------------------------------------------------------*/
\r
384 #if ( configNUM_THREAD_LOCAL_STORAGE_POINTERS != 0 )
\r
385 void *MPU_pvTaskGetThreadLocalStoragePointer( TaskHandle_t xTaskToQuery, BaseType_t xIndex )
\r
388 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
390 pvReturn = pvTaskGetThreadLocalStoragePointer( xTaskToQuery, xIndex );
\r
391 vPortResetPrivilege( xRunningPrivileged );
\r
395 /*-----------------------------------------------------------*/
\r
397 #if ( configUSE_APPLICATION_TASK_TAG == 1 )
\r
398 BaseType_t MPU_xTaskCallApplicationTaskHook( TaskHandle_t xTask, void *pvParameter )
\r
400 BaseType_t xReturn;
\r
401 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
403 xReturn = xTaskCallApplicationTaskHook( xTask, pvParameter );
\r
404 vPortResetPrivilege( xRunningPrivileged );
\r
408 /*-----------------------------------------------------------*/
\r
410 #if ( configUSE_TRACE_FACILITY == 1 )
\r
411 UBaseType_t MPU_uxTaskGetSystemState( TaskStatus_t *pxTaskStatusArray, UBaseType_t uxArraySize, uint32_t *pulTotalRunTime )
\r
413 UBaseType_t uxReturn;
\r
414 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
416 uxReturn = uxTaskGetSystemState( pxTaskStatusArray, uxArraySize, pulTotalRunTime );
\r
417 vPortResetPrivilege( xRunningPrivileged );
\r
421 /*-----------------------------------------------------------*/
\r
423 #if ( INCLUDE_uxTaskGetStackHighWaterMark == 1 )
\r
424 UBaseType_t MPU_uxTaskGetStackHighWaterMark( TaskHandle_t xTask )
\r
426 UBaseType_t uxReturn;
\r
427 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
429 uxReturn = uxTaskGetStackHighWaterMark( xTask );
\r
430 vPortResetPrivilege( xRunningPrivileged );
\r
434 /*-----------------------------------------------------------*/
\r
436 #if ( INCLUDE_uxTaskGetStackHighWaterMark2 == 1 )
\r
437 configSTACK_DEPTH_TYPE MPU_uxTaskGetStackHighWaterMark2( TaskHandle_t xTask )
\r
439 configSTACK_DEPTH_TYPE uxReturn;
\r
440 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
442 uxReturn = uxTaskGetStackHighWaterMark2( xTask );
\r
443 vPortResetPrivilege( xRunningPrivileged );
\r
447 /*-----------------------------------------------------------*/
\r
449 #if ( INCLUDE_xTaskGetCurrentTaskHandle == 1 )
\r
450 TaskHandle_t MPU_xTaskGetCurrentTaskHandle( void )
\r
452 TaskHandle_t xReturn;
\r
453 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
455 xReturn = xTaskGetCurrentTaskHandle();
\r
456 vPortResetPrivilege( xRunningPrivileged );
\r
460 /*-----------------------------------------------------------*/
\r
462 #if ( INCLUDE_xTaskGetSchedulerState == 1 )
\r
463 BaseType_t MPU_xTaskGetSchedulerState( void )
\r
465 BaseType_t xReturn;
\r
466 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
468 xReturn = xTaskGetSchedulerState();
\r
469 vPortResetPrivilege( xRunningPrivileged );
\r
473 /*-----------------------------------------------------------*/
\r
475 void MPU_vTaskSetTimeOutState( TimeOut_t * const pxTimeOut )
\r
477 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
479 vTaskSetTimeOutState( pxTimeOut );
\r
480 vPortResetPrivilege( xRunningPrivileged );
\r
482 /*-----------------------------------------------------------*/
\r
484 BaseType_t MPU_xTaskCheckForTimeOut( TimeOut_t * const pxTimeOut, TickType_t * const pxTicksToWait )
\r
486 BaseType_t xReturn;
\r
487 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
489 xReturn = xTaskCheckForTimeOut( pxTimeOut, pxTicksToWait );
\r
490 vPortResetPrivilege( xRunningPrivileged );
\r
493 /*-----------------------------------------------------------*/
\r
495 #if( configUSE_TASK_NOTIFICATIONS == 1 )
\r
496 BaseType_t MPU_xTaskGenericNotify( TaskHandle_t xTaskToNotify, uint32_t ulValue, eNotifyAction eAction, uint32_t *pulPreviousNotificationValue )
\r
498 BaseType_t xReturn;
\r
499 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
501 xReturn = xTaskGenericNotify( xTaskToNotify, ulValue, eAction, pulPreviousNotificationValue );
\r
502 vPortResetPrivilege( xRunningPrivileged );
\r
506 /*-----------------------------------------------------------*/
\r
508 #if( configUSE_TASK_NOTIFICATIONS == 1 )
\r
509 BaseType_t MPU_xTaskNotifyWait( uint32_t ulBitsToClearOnEntry, uint32_t ulBitsToClearOnExit, uint32_t *pulNotificationValue, TickType_t xTicksToWait )
\r
511 BaseType_t xReturn;
\r
512 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
514 xReturn = xTaskNotifyWait( ulBitsToClearOnEntry, ulBitsToClearOnExit, pulNotificationValue, xTicksToWait );
\r
515 vPortResetPrivilege( xRunningPrivileged );
\r
519 /*-----------------------------------------------------------*/
\r
521 #if( configUSE_TASK_NOTIFICATIONS == 1 )
\r
522 uint32_t MPU_ulTaskNotifyTake( BaseType_t xClearCountOnExit, TickType_t xTicksToWait )
\r
525 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
527 ulReturn = ulTaskNotifyTake( xClearCountOnExit, xTicksToWait );
\r
528 vPortResetPrivilege( xRunningPrivileged );
\r
532 /*-----------------------------------------------------------*/
\r
534 #if( configUSE_TASK_NOTIFICATIONS == 1 )
\r
535 BaseType_t MPU_xTaskNotifyStateClear( TaskHandle_t xTask )
\r
537 BaseType_t xReturn;
\r
538 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
540 xReturn = xTaskNotifyStateClear( xTask );
\r
541 vPortResetPrivilege( xRunningPrivileged );
\r
545 /*-----------------------------------------------------------*/
\r
547 #if( configSUPPORT_DYNAMIC_ALLOCATION == 1 )
\r
548 QueueHandle_t MPU_xQueueGenericCreate( UBaseType_t uxQueueLength, UBaseType_t uxItemSize, uint8_t ucQueueType )
\r
550 QueueHandle_t xReturn;
\r
551 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
553 xReturn = xQueueGenericCreate( uxQueueLength, uxItemSize, ucQueueType );
\r
554 vPortResetPrivilege( xRunningPrivileged );
\r
558 /*-----------------------------------------------------------*/
\r
560 #if( configSUPPORT_STATIC_ALLOCATION == 1 )
\r
561 QueueHandle_t MPU_xQueueGenericCreateStatic( const UBaseType_t uxQueueLength, const UBaseType_t uxItemSize, uint8_t *pucQueueStorage, StaticQueue_t *pxStaticQueue, const uint8_t ucQueueType )
\r
563 QueueHandle_t xReturn;
\r
564 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
566 xReturn = xQueueGenericCreateStatic( uxQueueLength, uxItemSize, pucQueueStorage, pxStaticQueue, ucQueueType );
\r
567 vPortResetPrivilege( xRunningPrivileged );
\r
571 /*-----------------------------------------------------------*/
\r
573 BaseType_t MPU_xQueueGenericReset( QueueHandle_t pxQueue, BaseType_t xNewQueue )
\r
575 BaseType_t xReturn;
\r
576 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
578 xReturn = xQueueGenericReset( pxQueue, xNewQueue );
\r
579 vPortResetPrivilege( xRunningPrivileged );
\r
582 /*-----------------------------------------------------------*/
\r
584 BaseType_t MPU_xQueueGenericSend( QueueHandle_t xQueue, const void * const pvItemToQueue, TickType_t xTicksToWait, BaseType_t xCopyPosition )
\r
586 BaseType_t xReturn;
\r
587 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
589 xReturn = xQueueGenericSend( xQueue, pvItemToQueue, xTicksToWait, xCopyPosition );
\r
590 vPortResetPrivilege( xRunningPrivileged );
\r
593 /*-----------------------------------------------------------*/
\r
595 UBaseType_t MPU_uxQueueMessagesWaiting( const QueueHandle_t pxQueue )
\r
597 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
598 UBaseType_t uxReturn;
\r
600 uxReturn = uxQueueMessagesWaiting( pxQueue );
\r
601 vPortResetPrivilege( xRunningPrivileged );
\r
604 /*-----------------------------------------------------------*/
\r
606 UBaseType_t MPU_uxQueueSpacesAvailable( const QueueHandle_t xQueue )
\r
608 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
609 UBaseType_t uxReturn;
\r
611 uxReturn = uxQueueSpacesAvailable( xQueue );
\r
612 vPortResetPrivilege( xRunningPrivileged );
\r
615 /*-----------------------------------------------------------*/
\r
617 BaseType_t MPU_xQueueReceive( QueueHandle_t pxQueue, void * const pvBuffer, TickType_t xTicksToWait )
\r
619 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
620 BaseType_t xReturn;
\r
622 xReturn = xQueueReceive( pxQueue, pvBuffer, xTicksToWait );
\r
623 vPortResetPrivilege( xRunningPrivileged );
\r
626 /*-----------------------------------------------------------*/
\r
628 BaseType_t MPU_xQueuePeek( QueueHandle_t xQueue, void * const pvBuffer, TickType_t xTicksToWait )
\r
630 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
631 BaseType_t xReturn;
\r
633 xReturn = xQueuePeek( xQueue, pvBuffer, xTicksToWait );
\r
634 vPortResetPrivilege( xRunningPrivileged );
\r
637 /*-----------------------------------------------------------*/
\r
639 BaseType_t MPU_xQueueSemaphoreTake( QueueHandle_t xQueue, TickType_t xTicksToWait )
\r
641 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
642 BaseType_t xReturn;
\r
644 xReturn = xQueueSemaphoreTake( xQueue, xTicksToWait );
\r
645 vPortResetPrivilege( xRunningPrivileged );
\r
648 /*-----------------------------------------------------------*/
\r
650 TaskHandle_t MPU_xQueueGetMutexHolder( QueueHandle_t xSemaphore )
\r
652 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
655 xReturn = xQueueGetMutexHolder( xSemaphore );
\r
656 vPortResetPrivilege( xRunningPrivileged );
\r
659 /*-----------------------------------------------------------*/
\r
661 #if( ( configUSE_MUTEXES == 1 ) && ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) )
\r
662 QueueHandle_t MPU_xQueueCreateMutex( const uint8_t ucQueueType )
\r
664 QueueHandle_t xReturn;
\r
665 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
667 xReturn = xQueueCreateMutex( ucQueueType );
\r
668 vPortResetPrivilege( xRunningPrivileged );
\r
672 /*-----------------------------------------------------------*/
\r
674 #if( ( configUSE_MUTEXES == 1 ) && ( configSUPPORT_STATIC_ALLOCATION == 1 ) )
\r
675 QueueHandle_t MPU_xQueueCreateMutexStatic( const uint8_t ucQueueType, StaticQueue_t *pxStaticQueue )
\r
677 QueueHandle_t xReturn;
\r
678 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
680 xReturn = xQueueCreateMutexStatic( ucQueueType, pxStaticQueue );
\r
681 vPortResetPrivilege( xRunningPrivileged );
\r
685 /*-----------------------------------------------------------*/
\r
687 #if( ( configUSE_COUNTING_SEMAPHORES == 1 ) && ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) )
\r
688 QueueHandle_t MPU_xQueueCreateCountingSemaphore( UBaseType_t uxCountValue, UBaseType_t uxInitialCount )
\r
690 QueueHandle_t xReturn;
\r
691 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
693 xReturn = xQueueCreateCountingSemaphore( uxCountValue, uxInitialCount );
\r
694 vPortResetPrivilege( xRunningPrivileged );
\r
698 /*-----------------------------------------------------------*/
\r
700 #if( ( configUSE_COUNTING_SEMAPHORES == 1 ) && ( configSUPPORT_STATIC_ALLOCATION == 1 ) )
\r
702 QueueHandle_t MPU_xQueueCreateCountingSemaphoreStatic( const UBaseType_t uxMaxCount, const UBaseType_t uxInitialCount, StaticQueue_t *pxStaticQueue )
\r
704 QueueHandle_t xReturn;
\r
705 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
707 xReturn = xQueueCreateCountingSemaphoreStatic( uxMaxCount, uxInitialCount, pxStaticQueue );
\r
708 vPortResetPrivilege( xRunningPrivileged );
\r
712 /*-----------------------------------------------------------*/
\r
714 #if ( configUSE_RECURSIVE_MUTEXES == 1 )
\r
715 BaseType_t MPU_xQueueTakeMutexRecursive( QueueHandle_t xMutex, TickType_t xBlockTime )
\r
717 BaseType_t xReturn;
\r
718 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
720 xReturn = xQueueTakeMutexRecursive( xMutex, xBlockTime );
\r
721 vPortResetPrivilege( xRunningPrivileged );
\r
725 /*-----------------------------------------------------------*/
\r
727 #if ( configUSE_RECURSIVE_MUTEXES == 1 )
\r
728 BaseType_t MPU_xQueueGiveMutexRecursive( QueueHandle_t xMutex )
\r
730 BaseType_t xReturn;
\r
731 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
733 xReturn = xQueueGiveMutexRecursive( xMutex );
\r
734 vPortResetPrivilege( xRunningPrivileged );
\r
738 /*-----------------------------------------------------------*/
\r
740 #if( ( configUSE_QUEUE_SETS == 1 ) && ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) )
\r
741 QueueSetHandle_t MPU_xQueueCreateSet( UBaseType_t uxEventQueueLength )
\r
743 QueueSetHandle_t xReturn;
\r
744 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
746 xReturn = xQueueCreateSet( uxEventQueueLength );
\r
747 vPortResetPrivilege( xRunningPrivileged );
\r
751 /*-----------------------------------------------------------*/
\r
753 #if ( configUSE_QUEUE_SETS == 1 )
\r
754 QueueSetMemberHandle_t MPU_xQueueSelectFromSet( QueueSetHandle_t xQueueSet, TickType_t xBlockTimeTicks )
\r
756 QueueSetMemberHandle_t xReturn;
\r
757 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
759 xReturn = xQueueSelectFromSet( xQueueSet, xBlockTimeTicks );
\r
760 vPortResetPrivilege( xRunningPrivileged );
\r
764 /*-----------------------------------------------------------*/
\r
766 #if ( configUSE_QUEUE_SETS == 1 )
\r
767 BaseType_t MPU_xQueueAddToSet( QueueSetMemberHandle_t xQueueOrSemaphore, QueueSetHandle_t xQueueSet )
\r
769 BaseType_t xReturn;
\r
770 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
772 xReturn = xQueueAddToSet( xQueueOrSemaphore, xQueueSet );
\r
773 vPortResetPrivilege( xRunningPrivileged );
\r
777 /*-----------------------------------------------------------*/
\r
779 #if ( configUSE_QUEUE_SETS == 1 )
\r
780 BaseType_t MPU_xQueueRemoveFromSet( QueueSetMemberHandle_t xQueueOrSemaphore, QueueSetHandle_t xQueueSet )
\r
782 BaseType_t xReturn;
\r
783 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
785 xReturn = xQueueRemoveFromSet( xQueueOrSemaphore, xQueueSet );
\r
786 vPortResetPrivilege( xRunningPrivileged );
\r
790 /*-----------------------------------------------------------*/
\r
792 #if configQUEUE_REGISTRY_SIZE > 0
\r
793 void MPU_vQueueAddToRegistry( QueueHandle_t xQueue, const char *pcName )
\r
795 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
797 vQueueAddToRegistry( xQueue, pcName );
\r
799 vPortResetPrivilege( xRunningPrivileged );
\r
802 /*-----------------------------------------------------------*/
\r
804 #if configQUEUE_REGISTRY_SIZE > 0
\r
805 void MPU_vQueueUnregisterQueue( QueueHandle_t xQueue )
\r
807 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
809 vQueueUnregisterQueue( xQueue );
\r
811 vPortResetPrivilege( xRunningPrivileged );
\r
814 /*-----------------------------------------------------------*/
\r
816 #if configQUEUE_REGISTRY_SIZE > 0
\r
817 const char *MPU_pcQueueGetName( QueueHandle_t xQueue )
\r
819 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
820 const char *pcReturn;
\r
822 pcReturn = pcQueueGetName( xQueue );
\r
824 vPortResetPrivilege( xRunningPrivileged );
\r
828 /*-----------------------------------------------------------*/
\r
830 void MPU_vQueueDelete( QueueHandle_t xQueue )
\r
832 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
834 vQueueDelete( xQueue );
\r
836 vPortResetPrivilege( xRunningPrivileged );
\r
838 /*-----------------------------------------------------------*/
\r
840 #if( configSUPPORT_DYNAMIC_ALLOCATION == 1 )
\r
841 void *MPU_pvPortMalloc( size_t xSize )
\r
844 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
846 pvReturn = pvPortMalloc( xSize );
\r
848 vPortResetPrivilege( xRunningPrivileged );
\r
852 #endif /* configSUPPORT_DYNAMIC_ALLOCATION */
\r
853 /*-----------------------------------------------------------*/
\r
855 #if( configSUPPORT_DYNAMIC_ALLOCATION == 1 )
\r
856 void MPU_vPortFree( void *pv )
\r
858 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
862 vPortResetPrivilege( xRunningPrivileged );
\r
864 #endif /* configSUPPORT_DYNAMIC_ALLOCATION */
\r
865 /*-----------------------------------------------------------*/
\r
867 #if( configSUPPORT_DYNAMIC_ALLOCATION == 1 )
\r
868 void MPU_vPortInitialiseBlocks( void )
\r
870 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
872 vPortInitialiseBlocks();
\r
874 vPortResetPrivilege( xRunningPrivileged );
\r
876 #endif /* configSUPPORT_DYNAMIC_ALLOCATION */
\r
877 /*-----------------------------------------------------------*/
\r
879 #if( configSUPPORT_DYNAMIC_ALLOCATION == 1 )
\r
880 size_t MPU_xPortGetFreeHeapSize( void )
\r
883 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
885 xReturn = xPortGetFreeHeapSize();
\r
887 vPortResetPrivilege( xRunningPrivileged );
\r
891 #endif /* configSUPPORT_DYNAMIC_ALLOCATION */
\r
892 /*-----------------------------------------------------------*/
\r
894 #if( ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) && ( configUSE_TIMERS == 1 ) )
\r
895 TimerHandle_t MPU_xTimerCreate( const char * const pcTimerName, const TickType_t xTimerPeriodInTicks, const UBaseType_t uxAutoReload, void * const pvTimerID, TimerCallbackFunction_t pxCallbackFunction )
\r
897 TimerHandle_t xReturn;
\r
898 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
900 xReturn = xTimerCreate( pcTimerName, xTimerPeriodInTicks, uxAutoReload, pvTimerID, pxCallbackFunction );
\r
901 vPortResetPrivilege( xRunningPrivileged );
\r
906 /*-----------------------------------------------------------*/
\r
908 #if( ( configSUPPORT_STATIC_ALLOCATION == 1 ) && ( configUSE_TIMERS == 1 ) )
\r
909 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
911 TimerHandle_t xReturn;
\r
912 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
914 xReturn = xTimerCreateStatic( pcTimerName, xTimerPeriodInTicks, uxAutoReload, pvTimerID, pxCallbackFunction, pxTimerBuffer );
\r
915 vPortResetPrivilege( xRunningPrivileged );
\r
920 /*-----------------------------------------------------------*/
\r
922 #if( configUSE_TIMERS == 1 )
\r
923 void *MPU_pvTimerGetTimerID( const TimerHandle_t xTimer )
\r
926 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
928 pvReturn = pvTimerGetTimerID( xTimer );
\r
929 vPortResetPrivilege( xRunningPrivileged );
\r
934 /*-----------------------------------------------------------*/
\r
936 #if( configUSE_TIMERS == 1 )
\r
937 void MPU_vTimerSetTimerID( TimerHandle_t xTimer, void *pvNewID )
\r
939 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
941 vTimerSetTimerID( xTimer, pvNewID );
\r
942 vPortResetPrivilege( xRunningPrivileged );
\r
945 /*-----------------------------------------------------------*/
\r
947 #if( configUSE_TIMERS == 1 )
\r
948 BaseType_t MPU_xTimerIsTimerActive( TimerHandle_t xTimer )
\r
950 BaseType_t xReturn;
\r
951 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
953 xReturn = xTimerIsTimerActive( xTimer );
\r
954 vPortResetPrivilege( xRunningPrivileged );
\r
959 /*-----------------------------------------------------------*/
\r
961 #if( configUSE_TIMERS == 1 )
\r
962 TaskHandle_t MPU_xTimerGetTimerDaemonTaskHandle( void )
\r
964 TaskHandle_t xReturn;
\r
965 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
967 xReturn = xTimerGetTimerDaemonTaskHandle();
\r
968 vPortResetPrivilege( xRunningPrivileged );
\r
973 /*-----------------------------------------------------------*/
\r
975 #if( ( INCLUDE_xTimerPendFunctionCall == 1 ) && ( configUSE_TIMERS == 1 ) )
\r
976 BaseType_t MPU_xTimerPendFunctionCall( PendedFunction_t xFunctionToPend, void *pvParameter1, uint32_t ulParameter2, TickType_t xTicksToWait )
\r
978 BaseType_t xReturn;
\r
979 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
981 xReturn = xTimerPendFunctionCall( xFunctionToPend, pvParameter1, ulParameter2, xTicksToWait );
\r
982 vPortResetPrivilege( xRunningPrivileged );
\r
987 /*-----------------------------------------------------------*/
\r
989 #if( configUSE_TIMERS == 1 )
\r
990 void MPU_vTimerSetReloadMode( TimerHandle_t xTimer, const UBaseType_t uxAutoReload )
\r
992 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
994 vTimerSetReloadMode( xTimer, uxAutoReload );
\r
995 vPortResetPrivilege( xRunningPrivileged );
\r
998 /*-----------------------------------------------------------*/
\r
1000 #if( configUSE_TIMERS == 1 )
\r
1001 const char * MPU_pcTimerGetName( TimerHandle_t xTimer )
\r
1003 const char * pcReturn;
\r
1004 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
1006 pcReturn = pcTimerGetName( xTimer );
\r
1007 vPortResetPrivilege( xRunningPrivileged );
\r
1012 /*-----------------------------------------------------------*/
\r
1014 #if( configUSE_TIMERS == 1 )
\r
1015 TickType_t MPU_xTimerGetPeriod( TimerHandle_t xTimer )
\r
1017 TickType_t xReturn;
\r
1018 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
1020 xReturn = xTimerGetPeriod( xTimer );
\r
1021 vPortResetPrivilege( xRunningPrivileged );
\r
1026 /*-----------------------------------------------------------*/
\r
1028 #if( configUSE_TIMERS == 1 )
\r
1029 TickType_t MPU_xTimerGetExpiryTime( TimerHandle_t xTimer )
\r
1031 TickType_t xReturn;
\r
1032 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
1034 xReturn = xTimerGetExpiryTime( xTimer );
\r
1035 vPortResetPrivilege( xRunningPrivileged );
\r
1040 /*-----------------------------------------------------------*/
\r
1042 #if( configUSE_TIMERS == 1 )
\r
1043 BaseType_t MPU_xTimerGenericCommand( TimerHandle_t xTimer, const BaseType_t xCommandID, const TickType_t xOptionalValue, BaseType_t * const pxHigherPriorityTaskWoken, const TickType_t xTicksToWait )
\r
1045 BaseType_t xReturn;
\r
1046 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
1048 xReturn = xTimerGenericCommand( xTimer, xCommandID, xOptionalValue, pxHigherPriorityTaskWoken, xTicksToWait );
\r
1049 vPortResetPrivilege( xRunningPrivileged );
\r
1054 /*-----------------------------------------------------------*/
\r
1056 #if( configSUPPORT_DYNAMIC_ALLOCATION == 1 )
\r
1057 EventGroupHandle_t MPU_xEventGroupCreate( void )
\r
1059 EventGroupHandle_t xReturn;
\r
1060 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
1062 xReturn = xEventGroupCreate();
\r
1063 vPortResetPrivilege( xRunningPrivileged );
\r
1068 /*-----------------------------------------------------------*/
\r
1070 #if( configSUPPORT_STATIC_ALLOCATION == 1 )
\r
1071 EventGroupHandle_t MPU_xEventGroupCreateStatic( StaticEventGroup_t *pxEventGroupBuffer )
\r
1073 EventGroupHandle_t xReturn;
\r
1074 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
1076 xReturn = xEventGroupCreateStatic( pxEventGroupBuffer );
\r
1077 vPortResetPrivilege( xRunningPrivileged );
\r
1082 /*-----------------------------------------------------------*/
\r
1084 EventBits_t MPU_xEventGroupWaitBits( EventGroupHandle_t xEventGroup, const EventBits_t uxBitsToWaitFor, const BaseType_t xClearOnExit, const BaseType_t xWaitForAllBits, TickType_t xTicksToWait )
\r
1086 EventBits_t xReturn;
\r
1087 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
1089 xReturn = xEventGroupWaitBits( xEventGroup, uxBitsToWaitFor, xClearOnExit, xWaitForAllBits, xTicksToWait );
\r
1090 vPortResetPrivilege( xRunningPrivileged );
\r
1094 /*-----------------------------------------------------------*/
\r
1096 EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, const EventBits_t uxBitsToClear )
\r
1098 EventBits_t xReturn;
\r
1099 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
1101 xReturn = xEventGroupClearBits( xEventGroup, uxBitsToClear );
\r
1102 vPortResetPrivilege( xRunningPrivileged );
\r
1106 /*-----------------------------------------------------------*/
\r
1108 EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, const EventBits_t uxBitsToSet )
\r
1110 EventBits_t xReturn;
\r
1111 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
1113 xReturn = xEventGroupSetBits( xEventGroup, uxBitsToSet );
\r
1114 vPortResetPrivilege( xRunningPrivileged );
\r
1118 /*-----------------------------------------------------------*/
\r
1120 EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, const EventBits_t uxBitsToSet, const EventBits_t uxBitsToWaitFor, TickType_t xTicksToWait )
\r
1122 EventBits_t xReturn;
\r
1123 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
1125 xReturn = xEventGroupSync( xEventGroup, uxBitsToSet, uxBitsToWaitFor, xTicksToWait );
\r
1126 vPortResetPrivilege( xRunningPrivileged );
\r
1130 /*-----------------------------------------------------------*/
\r
1132 void MPU_vEventGroupDelete( EventGroupHandle_t xEventGroup )
\r
1134 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
1136 vEventGroupDelete( xEventGroup );
\r
1137 vPortResetPrivilege( xRunningPrivileged );
\r
1139 /*-----------------------------------------------------------*/
\r
1141 size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, const void *pvTxData, size_t xDataLengthBytes, TickType_t xTicksToWait )
\r
1144 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
1146 xReturn = xStreamBufferSend( xStreamBuffer, pvTxData, xDataLengthBytes, xTicksToWait );
\r
1147 vPortResetPrivilege( xRunningPrivileged );
\r
1151 /*-----------------------------------------------------------*/
\r
1153 size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer )
\r
1156 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
1158 xReturn = xStreamBufferNextMessageLengthBytes( xStreamBuffer );
\r
1159 vPortResetPrivilege( xRunningPrivileged );
\r
1163 /*-----------------------------------------------------------*/
\r
1165 size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, void *pvRxData, size_t xBufferLengthBytes, TickType_t xTicksToWait )
\r
1168 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
1170 xReturn = xStreamBufferReceive( xStreamBuffer, pvRxData, xBufferLengthBytes, xTicksToWait );
\r
1171 vPortResetPrivilege( xRunningPrivileged );
\r
1175 /*-----------------------------------------------------------*/
\r
1177 void MPU_vStreamBufferDelete( StreamBufferHandle_t xStreamBuffer )
\r
1179 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
1181 vStreamBufferDelete( xStreamBuffer );
\r
1182 vPortResetPrivilege( xRunningPrivileged );
\r
1184 /*-----------------------------------------------------------*/
\r
1186 BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer )
\r
1188 BaseType_t xReturn;
\r
1189 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
1191 xReturn = xStreamBufferIsFull( xStreamBuffer );
\r
1192 vPortResetPrivilege( xRunningPrivileged );
\r
1196 /*-----------------------------------------------------------*/
\r
1198 BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer )
\r
1200 BaseType_t xReturn;
\r
1201 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
1203 xReturn = xStreamBufferIsEmpty( xStreamBuffer );
\r
1204 vPortResetPrivilege( xRunningPrivileged );
\r
1208 /*-----------------------------------------------------------*/
\r
1210 BaseType_t MPU_xStreamBufferReset( StreamBufferHandle_t xStreamBuffer )
\r
1212 BaseType_t xReturn;
\r
1213 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
1215 xReturn = xStreamBufferReset( xStreamBuffer );
\r
1216 vPortResetPrivilege( xRunningPrivileged );
\r
1220 /*-----------------------------------------------------------*/
\r
1222 size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer )
\r
1225 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
1227 xReturn = xStreamBufferSpacesAvailable( xStreamBuffer );
\r
1228 vPortResetPrivilege( xRunningPrivileged );
\r
1232 /*-----------------------------------------------------------*/
\r
1234 size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer )
\r
1237 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
1239 xReturn = xStreamBufferBytesAvailable( xStreamBuffer );
\r
1240 vPortResetPrivilege( xRunningPrivileged );
\r
1244 /*-----------------------------------------------------------*/
\r
1246 BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, size_t xTriggerLevel )
\r
1248 BaseType_t xReturn;
\r
1249 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
1251 xReturn = xStreamBufferSetTriggerLevel( xStreamBuffer, xTriggerLevel );
\r
1252 vPortResetPrivilege( xRunningPrivileged );
\r
1256 /*-----------------------------------------------------------*/
\r
1258 #if( configSUPPORT_DYNAMIC_ALLOCATION == 1 )
\r
1259 StreamBufferHandle_t MPU_xStreamBufferGenericCreate( size_t xBufferSizeBytes, size_t xTriggerLevelBytes, BaseType_t xIsMessageBuffer )
\r
1261 StreamBufferHandle_t xReturn;
\r
1262 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
1264 xReturn = xStreamBufferGenericCreate( xBufferSizeBytes, xTriggerLevelBytes, xIsMessageBuffer );
\r
1265 vPortResetPrivilege( xRunningPrivileged );
\r
1269 #endif /* configSUPPORT_DYNAMIC_ALLOCATION */
\r
1270 /*-----------------------------------------------------------*/
\r
1272 #if( configSUPPORT_STATIC_ALLOCATION == 1 )
\r
1273 StreamBufferHandle_t MPU_xStreamBufferGenericCreateStatic( size_t xBufferSizeBytes, size_t xTriggerLevelBytes, BaseType_t xIsMessageBuffer, uint8_t * const pucStreamBufferStorageArea, StaticStreamBuffer_t * const pxStaticStreamBuffer )
\r
1275 StreamBufferHandle_t xReturn;
\r
1276 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
1278 xReturn = xStreamBufferGenericCreateStatic( xBufferSizeBytes, xTriggerLevelBytes, xIsMessageBuffer, pucStreamBufferStorageArea, pxStaticStreamBuffer );
\r
1279 vPortResetPrivilege( xRunningPrivileged );
\r
1283 #endif /* configSUPPORT_STATIC_ALLOCATION */
\r
1284 /*-----------------------------------------------------------*/
\r
1287 /* Functions that the application writer wants to execute in privileged mode
\r
1288 can be defined in application_defined_privileged_functions.h. The functions
\r
1289 must take the same format as those above whereby the privilege state on exit
\r
1290 equals the privilege state on entry. For example:
\r
1292 void MPU_FunctionName( [parameters ] )
\r
1294 BaseType_t xRunningPrivileged = xPortRaisePrivilege();
\r
1296 FunctionName( [parameters ] );
\r
1298 vPortResetPrivilege( xRunningPrivileged );
\r
1302 #if configINCLUDE_APPLICATION_DEFINED_PRIVILEGED_FUNCTIONS == 1
\r
1303 #include "application_defined_privileged_functions.h"
\r