/* * FreeRTOS Kernel V10.3.1 * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Permission is hereby granted, free of charge, to any person obtaining a copy of * this software and associated documentation files (the "Software"), to deal in * the Software without restriction, including without limitation the rights to * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of * the Software, and to permit persons to whom the Software is furnished to do so, * subject to the following conditions: * * The above copyright notice and this permission notice shall be included in all * copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. * * http://www.FreeRTOS.org * http://aws.amazon.com/freertos * * 1 tab == 4 spaces! *//* ... */#ifndefMPU_WRAPPERS_H#defineMPU_WRAPPERS_H/* This file redefines API functions to be called through a wrapper macro, butonly for ports that are using the MPU. *//* ... */#ifdefportUSING_MPU_WRAPPERS/* MPU_WRAPPERS_INCLUDED_FROM_API_FILE will be defined when this file is included from queue.c or task.c to prevent it from having an effect within those files. *//* ... */#ifndefMPU_WRAPPERS_INCLUDED_FROM_API_FILE/* * Map standard (non MPU) API functions to equivalents that start * "MPU_". This will cause the application code to call the MPU_ * version, which wraps the non-MPU version with privilege promoting * then demoting code, so the kernel code always runs will full * privileges. *//* ... *//* Map standard tasks.h API functions to the MPU equivalents. */#definexTaskCreateMPU_xTaskCreate#definexTaskCreateStaticMPU_xTaskCreateStatic#definexTaskCreateRestrictedMPU_xTaskCreateRestricted#definevTaskAllocateMPURegionsMPU_vTaskAllocateMPURegions#definevTaskDeleteMPU_vTaskDelete#definevTaskDelayMPU_vTaskDelay#definevTaskDelayUntilMPU_vTaskDelayUntil#definexTaskAbortDelayMPU_xTaskAbortDelay#defineuxTaskPriorityGetMPU_uxTaskPriorityGet#defineeTaskGetStateMPU_eTaskGetState#definevTaskGetInfoMPU_vTaskGetInfo#definevTaskPrioritySetMPU_vTaskPrioritySet#definevTaskSuspendMPU_vTaskSuspend#definevTaskResumeMPU_vTaskResume#definevTaskSuspendAllMPU_vTaskSuspendAll#definexTaskResumeAllMPU_xTaskResumeAll#definexTaskGetTickCountMPU_xTaskGetTickCount#defineuxTaskGetNumberOfTasksMPU_uxTaskGetNumberOfTasks#definepcTaskGetNameMPU_pcTaskGetName#definexTaskGetHandleMPU_xTaskGetHandle#defineuxTaskGetStackHighWaterMarkMPU_uxTaskGetStackHighWaterMark#defineuxTaskGetStackHighWaterMark2MPU_uxTaskGetStackHighWaterMark2#definevTaskSetApplicationTaskTagMPU_vTaskSetApplicationTaskTag#definexTaskGetApplicationTaskTagMPU_xTaskGetApplicationTaskTag#definevTaskSetThreadLocalStoragePointerMPU_vTaskSetThreadLocalStoragePointer#definepvTaskGetThreadLocalStoragePointerMPU_pvTaskGetThreadLocalStoragePointer#definexTaskCallApplicationTaskHookMPU_xTaskCallApplicationTaskHook#definexTaskGetIdleTaskHandleMPU_xTaskGetIdleTaskHandle#defineuxTaskGetSystemStateMPU_uxTaskGetSystemState#definevTaskListMPU_vTaskList#definevTaskGetRunTimeStatsMPU_vTaskGetRunTimeStats#defineulTaskGetIdleRunTimeCounterMPU_ulTaskGetIdleRunTimeCounter#definexTaskGenericNotifyMPU_xTaskGenericNotify#definexTaskNotifyWaitMPU_xTaskNotifyWait#defineulTaskNotifyTakeMPU_ulTaskNotifyTake#definexTaskNotifyStateClearMPU_xTaskNotifyStateClear#defineulTaskNotifyValueClearMPU_ulTaskNotifyValueClear#definexTaskCatchUpTicksMPU_xTaskCatchUpTicks#definexTaskGetCurrentTaskHandleMPU_xTaskGetCurrentTaskHandle#definevTaskSetTimeOutStateMPU_vTaskSetTimeOutState#definexTaskCheckForTimeOutMPU_xTaskCheckForTimeOut#definexTaskGetSchedulerStateMPU_xTaskGetSchedulerState/* Map standard queue.h API functions to the MPU equivalents. */#definexQueueGenericSendMPU_xQueueGenericSend#definexQueueReceiveMPU_xQueueReceive#definexQueuePeekMPU_xQueuePeek#definexQueueSemaphoreTakeMPU_xQueueSemaphoreTake#defineuxQueueMessagesWaitingMPU_uxQueueMessagesWaiting#defineuxQueueSpacesAvailableMPU_uxQueueSpacesAvailable#definevQueueDeleteMPU_vQueueDelete#definexQueueCreateMutexMPU_xQueueCreateMutex#definexQueueCreateMutexStaticMPU_xQueueCreateMutexStatic#definexQueueCreateCountingSemaphoreMPU_xQueueCreateCountingSemaphore#definexQueueCreateCountingSemaphoreStaticMPU_xQueueCreateCountingSemaphoreStatic#definexQueueGetMutexHolderMPU_xQueueGetMutexHolder#definexQueueTakeMutexRecursiveMPU_xQueueTakeMutexRecursive#definexQueueGiveMutexRecursiveMPU_xQueueGiveMutexRecursive#definexQueueGenericCreateMPU_xQueueGenericCreate#definexQueueGenericCreateStaticMPU_xQueueGenericCreateStatic#definexQueueCreateSetMPU_xQueueCreateSet#definexQueueAddToSetMPU_xQueueAddToSet#definexQueueRemoveFromSetMPU_xQueueRemoveFromSet#definexQueueSelectFromSetMPU_xQueueSelectFromSet#definexQueueGenericResetMPU_xQueueGenericReset63 defines#if(configQUEUE_REGISTRY_SIZE>0)#definevQueueAddToRegistryMPU_vQueueAddToRegistry#definevQueueUnregisterQueueMPU_vQueueUnregisterQueue#definepcQueueGetNameMPU_pcQueueGetName/* ... */#endif/* Map standard timer.h API functions to the MPU equivalents. */#definexTimerCreateMPU_xTimerCreate#definexTimerCreateStaticMPU_xTimerCreateStatic#definepvTimerGetTimerIDMPU_pvTimerGetTimerID#definevTimerSetTimerIDMPU_vTimerSetTimerID#definexTimerIsTimerActiveMPU_xTimerIsTimerActive#definexTimerGetTimerDaemonTaskHandleMPU_xTimerGetTimerDaemonTaskHandle#definexTimerPendFunctionCallMPU_xTimerPendFunctionCall#definepcTimerGetNameMPU_pcTimerGetName#definevTimerSetReloadModeMPU_vTimerSetReloadMode#defineuxTimerGetReloadModeMPU_uxTimerGetReloadMode#definexTimerGetPeriodMPU_xTimerGetPeriod#definexTimerGetExpiryTimeMPU_xTimerGetExpiryTime#definexTimerGenericCommandMPU_xTimerGenericCommand/* Map standard event_group.h API functions to the MPU equivalents. */#definexEventGroupCreateMPU_xEventGroupCreate#definexEventGroupCreateStaticMPU_xEventGroupCreateStatic#definexEventGroupWaitBitsMPU_xEventGroupWaitBits#definexEventGroupClearBitsMPU_xEventGroupClearBits#definexEventGroupSetBitsMPU_xEventGroupSetBits#definexEventGroupSyncMPU_xEventGroupSync#definevEventGroupDeleteMPU_vEventGroupDelete/* Map standard message/stream_buffer.h API functions to the MPU equivalents. *//* ... */#definexStreamBufferSendMPU_xStreamBufferSend#definexStreamBufferReceiveMPU_xStreamBufferReceive#definexStreamBufferNextMessageLengthBytesMPU_xStreamBufferNextMessageLengthBytes#definevStreamBufferDeleteMPU_vStreamBufferDelete#definexStreamBufferIsFullMPU_xStreamBufferIsFull#definexStreamBufferIsEmptyMPU_xStreamBufferIsEmpty#definexStreamBufferResetMPU_xStreamBufferReset#definexStreamBufferSpacesAvailableMPU_xStreamBufferSpacesAvailable#definexStreamBufferBytesAvailableMPU_xStreamBufferBytesAvailable#definexStreamBufferSetTriggerLevelMPU_xStreamBufferSetTriggerLevel#definexStreamBufferGenericCreateMPU_xStreamBufferGenericCreate#definexStreamBufferGenericCreateStaticMPU_xStreamBufferGenericCreateStatic/* Remove the privileged function macro, but keep the PRIVILEGED_DATA macro so applications can place data in privileged access sections (useful when using statically allocated objects). *//* ... */#definePRIVILEGED_FUNCTION#definePRIVILEGED_DATA__attribute__((section("privileged_data")))#defineFREERTOS_SYSTEM_CALL35 defines/* ... */#else/* MPU_WRAPPERS_INCLUDED_FROM_API_FILE *//* Ensure API functions go in the privileged execution section. */#definePRIVILEGED_FUNCTION__attribute__((section("privileged_functions")))#definePRIVILEGED_DATA__attribute__((section("privileged_data")))#defineFREERTOS_SYSTEM_CALL__attribute__((section("freertos_system_calls")))/* ... */#endif/* MPU_WRAPPERS_INCLUDED_FROM_API_FILE *//* ... */#else/* portUSING_MPU_WRAPPERS */#definePRIVILEGED_FUNCTION#definePRIVILEGED_DATA#defineFREERTOS_SYSTEM_CALL#defineportUSING_MPU_WRAPPERS0/* ... */#endif/* portUSING_MPU_WRAPPERS *//* ... */#endif/* MPU_WRAPPERS_H */
Details
Show: from
Types: Columns:
All items filtered out
All items filtered out
This file uses the notable symbols shown below. Click anywhere in the file to view more details.