mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-11-08 20:52:23 -05:00
Update system call entry mechanism (#898)
Earlier the System Call entry from an unprivileged task
looked like:
1. SVC for entering system call.
2. System call implementation.
3. SVC for exiting system call.
Now, the system call entry needs to make only one SVC
call and everything else is handled internally.
This PR also makes the following changes:
1. Update the Access Control List (ACL) mechanism to
grant access to all the kernel objects before the
scheduler is started.
2. Add one struct param for system calls with 5 parameters.
This removes the need for special handling for system
calls with 5 parameters.
3. Remove raise privilege SVC when MPU wrapper v2 is used.
4. Add additional run time parameter checks to MPU wrappers
for xTaskGenericNotify and xQueueTakeMutexRecursive APIs.
This commit is contained in:
parent
4ff01a7a4a
commit
76be28cdc6
114 changed files with 7521 additions and 16320 deletions
|
|
@ -38,6 +38,8 @@
|
|||
#include "timers.h"
|
||||
#include "event_groups.h"
|
||||
#include "stream_buffer.h"
|
||||
#include "mpu_prototypes.h"
|
||||
#include "mpu_syscall_numbers.h"
|
||||
|
||||
#undef MPU_WRAPPERS_INCLUDED_FROM_API_FILE
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -68,11 +70,8 @@
|
|||
" MPU_xTaskDelayUntil_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xTaskDelayUntilImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xTaskDelayUntil ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -101,11 +100,8 @@
|
|||
" MPU_xTaskAbortDelay_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xTaskAbortDelayImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xTaskAbortDelay ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -134,11 +130,8 @@
|
|||
" MPU_vTaskDelay_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_vTaskDelayImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_vTaskDelay ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -167,11 +160,8 @@
|
|||
" MPU_uxTaskPriorityGet_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_uxTaskPriorityGetImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_uxTaskPriorityGet ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -200,11 +190,8 @@
|
|||
" MPU_eTaskGetState_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_eTaskGetStateImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_eTaskGetState ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -239,11 +226,8 @@
|
|||
" MPU_vTaskGetInfo_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_vTaskGetInfoImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_vTaskGetInfo ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -272,11 +256,8 @@
|
|||
" MPU_xTaskGetIdleTaskHandle_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xTaskGetIdleTaskHandleImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xTaskGetIdleTaskHandle ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -305,11 +286,8 @@
|
|||
" MPU_vTaskSuspend_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_vTaskSuspendImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_vTaskSuspend ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -338,11 +316,8 @@
|
|||
" MPU_vTaskResume_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_vTaskResumeImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_vTaskResume ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -369,11 +344,8 @@
|
|||
" MPU_xTaskGetTickCount_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xTaskGetTickCountImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xTaskGetTickCount ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -398,11 +370,8 @@
|
|||
" MPU_uxTaskGetNumberOfTasks_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_uxTaskGetNumberOfTasksImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_uxTaskGetNumberOfTasks ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -429,11 +398,8 @@
|
|||
" MPU_ulTaskGetRunTimeCounter_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_ulTaskGetRunTimeCounterImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_ulTaskGetRunTimeCounter ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -462,11 +428,8 @@
|
|||
" MPU_ulTaskGetRunTimePercent_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_ulTaskGetRunTimePercentImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_ulTaskGetRunTimePercent ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -495,11 +458,8 @@
|
|||
" MPU_ulTaskGetIdleRunTimePercent_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_ulTaskGetIdleRunTimePercentImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_ulTaskGetIdleRunTimePercent ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -528,11 +488,8 @@
|
|||
" MPU_ulTaskGetIdleRunTimeCounter_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_ulTaskGetIdleRunTimeCounterImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_ulTaskGetIdleRunTimeCounter ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -563,11 +520,8 @@
|
|||
" MPU_vTaskSetApplicationTaskTag_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_vTaskSetApplicationTaskTagImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_vTaskSetApplicationTaskTag ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -596,11 +550,8 @@
|
|||
" MPU_xTaskGetApplicationTaskTag_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xTaskGetApplicationTaskTagImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xTaskGetApplicationTaskTag ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -633,11 +584,8 @@
|
|||
" MPU_vTaskSetThreadLocalStoragePointer_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_vTaskSetThreadLocalStoragePointerImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_vTaskSetThreadLocalStoragePointer ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -668,11 +616,8 @@
|
|||
" MPU_pvTaskGetThreadLocalStoragePointer_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_pvTaskGetThreadLocalStoragePointerImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_pvTaskGetThreadLocalStoragePointer ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -705,11 +650,8 @@
|
|||
" MPU_uxTaskGetSystemState_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_uxTaskGetSystemStateImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_uxTaskGetSystemState ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -738,11 +680,8 @@
|
|||
" MPU_uxTaskGetStackHighWaterMark_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_uxTaskGetStackHighWaterMarkImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_uxTaskGetStackHighWaterMark ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -771,11 +710,8 @@
|
|||
" MPU_uxTaskGetStackHighWaterMark2_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_uxTaskGetStackHighWaterMark2Impl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_uxTaskGetStackHighWaterMark2 ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -804,11 +740,8 @@
|
|||
" MPU_xTaskGetCurrentTaskHandle_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xTaskGetCurrentTaskHandleImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xTaskGetCurrentTaskHandle ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -837,11 +770,8 @@
|
|||
" MPU_xTaskGetSchedulerState_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xTaskGetSchedulerStateImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xTaskGetSchedulerState ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -868,11 +798,8 @@
|
|||
" MPU_vTaskSetTimeOutState_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_vTaskSetTimeOutStateImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_vTaskSetTimeOutState ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -899,28 +826,17 @@
|
|||
" MPU_xTaskCheckForTimeOut_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xTaskCheckForTimeOutImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xTaskCheckForTimeOut ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
#if ( configUSE_TASK_NOTIFICATIONS == 1 )
|
||||
|
||||
BaseType_t MPU_xTaskGenericNotify( TaskHandle_t xTaskToNotify,
|
||||
UBaseType_t uxIndexToNotify,
|
||||
uint32_t ulValue,
|
||||
eNotifyAction eAction,
|
||||
uint32_t * pulPreviousNotificationValue ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL;
|
||||
BaseType_t MPU_xTaskGenericNotifyEntry( const xTaskGenericNotifyParams_t * pxParams ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL;
|
||||
|
||||
BaseType_t MPU_xTaskGenericNotify( TaskHandle_t xTaskToNotify,
|
||||
UBaseType_t uxIndexToNotify,
|
||||
uint32_t ulValue,
|
||||
eNotifyAction eAction,
|
||||
uint32_t * pulPreviousNotificationValue ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
|
||||
BaseType_t MPU_xTaskGenericNotifyEntry( const xTaskGenericNotifyParams_t * pxParams ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
|
||||
{
|
||||
__asm volatile
|
||||
(
|
||||
|
|
@ -938,11 +854,8 @@
|
|||
" MPU_xTaskGenericNotify_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xTaskGenericNotifyImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER_1 ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xTaskGenericNotify ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -951,17 +864,9 @@
|
|||
|
||||
#if ( configUSE_TASK_NOTIFICATIONS == 1 )
|
||||
|
||||
BaseType_t MPU_xTaskGenericNotifyWait( UBaseType_t uxIndexToWaitOn,
|
||||
uint32_t ulBitsToClearOnEntry,
|
||||
uint32_t ulBitsToClearOnExit,
|
||||
uint32_t * pulNotificationValue,
|
||||
TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL;
|
||||
BaseType_t MPU_xTaskGenericNotifyWaitEntry( const xTaskGenericNotifyWaitParams_t * pxParams ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL;
|
||||
|
||||
BaseType_t MPU_xTaskGenericNotifyWait( UBaseType_t uxIndexToWaitOn,
|
||||
uint32_t ulBitsToClearOnEntry,
|
||||
uint32_t ulBitsToClearOnExit,
|
||||
uint32_t * pulNotificationValue,
|
||||
TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
|
||||
BaseType_t MPU_xTaskGenericNotifyWaitEntry( const xTaskGenericNotifyWaitParams_t * pxParams ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
|
||||
{
|
||||
__asm volatile
|
||||
(
|
||||
|
|
@ -979,11 +884,8 @@
|
|||
" MPU_xTaskGenericNotifyWait_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xTaskGenericNotifyWaitImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER_1 ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xTaskGenericNotifyWait ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1016,11 +918,8 @@
|
|||
" MPU_ulTaskGenericNotifyTake_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_ulTaskGenericNotifyTakeImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_ulTaskGenericNotifyTake ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1051,11 +950,8 @@
|
|||
" MPU_xTaskGenericNotifyStateClear_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xTaskGenericNotifyStateClearImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xTaskGenericNotifyStateClear ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1088,11 +984,8 @@
|
|||
" MPU_ulTaskGenericNotifyValueClear_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_ulTaskGenericNotifyValueClearImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_ulTaskGenericNotifyValueClear ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1125,11 +1018,8 @@
|
|||
" MPU_xQueueGenericSend_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xQueueGenericSendImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xQueueGenericSend ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -1154,11 +1044,8 @@
|
|||
" MPU_uxQueueMessagesWaiting_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_uxQueueMessagesWaitingImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_uxQueueMessagesWaiting ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -1183,11 +1070,8 @@
|
|||
" MPU_uxQueueSpacesAvailable_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_uxQueueSpacesAvailableImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_uxQueueSpacesAvailable ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -1216,11 +1100,8 @@
|
|||
" MPU_xQueueReceive_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xQueueReceiveImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xQueueReceive ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -1249,11 +1130,8 @@
|
|||
" MPU_xQueuePeek_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xQueuePeekImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xQueuePeek ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -1280,11 +1158,8 @@
|
|||
" MPU_xQueueSemaphoreTake_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xQueueSemaphoreTakeImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xQueueSemaphoreTake ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -1311,11 +1186,8 @@
|
|||
" MPU_xQueueGetMutexHolder_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xQueueGetMutexHolderImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xQueueGetMutexHolder ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1346,11 +1218,8 @@
|
|||
" MPU_xQueueTakeMutexRecursive_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xQueueTakeMutexRecursiveImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xQueueTakeMutexRecursive ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1379,11 +1248,8 @@
|
|||
" MPU_xQueueGiveMutexRecursive_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xQueueGiveMutexRecursiveImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xQueueGiveMutexRecursive ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1414,11 +1280,8 @@
|
|||
" MPU_xQueueSelectFromSet_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xQueueSelectFromSetImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xQueueSelectFromSet ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1449,11 +1312,8 @@
|
|||
" MPU_xQueueAddToSet_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xQueueAddToSetImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xQueueAddToSet ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1484,11 +1344,8 @@
|
|||
" MPU_vQueueAddToRegistry_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_vQueueAddToRegistryImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_vQueueAddToRegistry ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1517,11 +1374,8 @@
|
|||
" MPU_vQueueUnregisterQueue_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_vQueueUnregisterQueueImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_vQueueUnregisterQueue ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1550,11 +1404,8 @@
|
|||
" MPU_pcQueueGetName_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_pcQueueGetNameImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_pcQueueGetName ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1583,11 +1434,8 @@
|
|||
" MPU_pvTimerGetTimerID_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_pvTimerGetTimerIDImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_pvTimerGetTimerID ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1618,11 +1466,8 @@
|
|||
" MPU_vTimerSetTimerID_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_vTimerSetTimerIDImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_vTimerSetTimerID ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1651,11 +1496,8 @@
|
|||
" MPU_xTimerIsTimerActive_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xTimerIsTimerActiveImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xTimerIsTimerActive ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1684,11 +1526,8 @@
|
|||
" MPU_xTimerGetTimerDaemonTaskHandle_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xTimerGetTimerDaemonTaskHandleImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xTimerGetTimerDaemonTaskHandle ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1697,17 +1536,9 @@
|
|||
|
||||
#if ( configUSE_TIMERS == 1 )
|
||||
|
||||
BaseType_t MPU_xTimerGenericCommandFromTask( TimerHandle_t xTimer,
|
||||
const BaseType_t xCommandID,
|
||||
const TickType_t xOptionalValue,
|
||||
BaseType_t * const pxHigherPriorityTaskWoken,
|
||||
const TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL;
|
||||
BaseType_t MPU_xTimerGenericCommandFromTaskEntry( const xTimerGenericCommandFromTaskParams_t * pxParams ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL;
|
||||
|
||||
BaseType_t MPU_xTimerGenericCommandFromTask( TimerHandle_t xTimer,
|
||||
const BaseType_t xCommandID,
|
||||
const TickType_t xOptionalValue,
|
||||
BaseType_t * const pxHigherPriorityTaskWoken,
|
||||
const TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
|
||||
BaseType_t MPU_xTimerGenericCommandFromTaskEntry( const xTimerGenericCommandFromTaskParams_t * pxParams ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
|
||||
{
|
||||
__asm volatile
|
||||
(
|
||||
|
|
@ -1725,11 +1556,8 @@
|
|||
" MPU_xTimerGenericCommandFromTask_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xTimerGenericCommandFromTaskImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER_1 ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xTimerGenericCommandFromTask ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1758,11 +1586,8 @@
|
|||
" MPU_pcTimerGetName_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_pcTimerGetNameImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_pcTimerGetName ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1793,11 +1618,8 @@
|
|||
" MPU_vTimerSetReloadMode_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_vTimerSetReloadModeImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_vTimerSetReloadMode ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1826,11 +1648,8 @@
|
|||
" MPU_xTimerGetReloadMode_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xTimerGetReloadModeImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xTimerGetReloadMode ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1859,11 +1678,8 @@
|
|||
" MPU_uxTimerGetReloadMode_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_uxTimerGetReloadModeImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_uxTimerGetReloadMode ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1892,11 +1708,8 @@
|
|||
" MPU_xTimerGetPeriod_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xTimerGetPeriodImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xTimerGetPeriod ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1925,28 +1738,17 @@
|
|||
" MPU_xTimerGetExpiryTime_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xTimerGetExpiryTimeImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xTimerGetExpiryTime ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
#endif /* if ( configUSE_TIMERS == 1 ) */
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
EventBits_t MPU_xEventGroupWaitBits( EventGroupHandle_t xEventGroup,
|
||||
const EventBits_t uxBitsToWaitFor,
|
||||
const BaseType_t xClearOnExit,
|
||||
const BaseType_t xWaitForAllBits,
|
||||
TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL;
|
||||
EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL;
|
||||
|
||||
EventBits_t MPU_xEventGroupWaitBits( EventGroupHandle_t xEventGroup,
|
||||
const EventBits_t uxBitsToWaitFor,
|
||||
const BaseType_t xClearOnExit,
|
||||
const BaseType_t xWaitForAllBits,
|
||||
TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
|
||||
EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
|
||||
{
|
||||
__asm volatile
|
||||
(
|
||||
|
|
@ -1964,11 +1766,8 @@
|
|||
" MPU_xEventGroupWaitBits_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xEventGroupWaitBitsImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER_1 ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xEventGroupWaitBits ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -1995,11 +1794,8 @@
|
|||
" MPU_xEventGroupClearBits_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xEventGroupClearBitsImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xEventGroupClearBits ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -2026,11 +1822,8 @@
|
|||
" MPU_xEventGroupSetBits_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xEventGroupSetBitsImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xEventGroupSetBits ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -2061,11 +1854,8 @@
|
|||
" MPU_xEventGroupSync_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xEventGroupSyncImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xEventGroupSync ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -2092,11 +1882,8 @@
|
|||
" MPU_uxEventGroupGetNumber_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_uxEventGroupGetNumberImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_uxEventGroupGetNumber ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -2127,11 +1914,8 @@
|
|||
" MPU_vEventGroupSetNumber_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_vEventGroupSetNumberImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_vEventGroupSetNumber ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -2164,11 +1948,8 @@
|
|||
" MPU_xStreamBufferSend_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xStreamBufferSendImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xStreamBufferSend ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -2199,11 +1980,8 @@
|
|||
" MPU_xStreamBufferReceive_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xStreamBufferReceiveImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xStreamBufferReceive ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -2228,11 +2006,8 @@
|
|||
" MPU_xStreamBufferIsFull_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xStreamBufferIsFullImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xStreamBufferIsFull ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -2257,11 +2032,8 @@
|
|||
" MPU_xStreamBufferIsEmpty_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xStreamBufferIsEmptyImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xStreamBufferIsEmpty ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -2286,11 +2058,8 @@
|
|||
" MPU_xStreamBufferSpacesAvailable_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xStreamBufferSpacesAvailableImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xStreamBufferSpacesAvailable ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -2315,11 +2084,8 @@
|
|||
" MPU_xStreamBufferBytesAvailable_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xStreamBufferBytesAvailableImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xStreamBufferBytesAvailable ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -2346,11 +2112,8 @@
|
|||
" MPU_xStreamBufferSetTriggerLevel_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xStreamBufferSetTriggerLevelImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xStreamBufferSetTriggerLevel ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -2375,11 +2138,8 @@
|
|||
" MPU_xStreamBufferNextMessageLengthBytes_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xStreamBufferNextMessageLengthBytesImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xStreamBufferNextMessageLengthBytes ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
|
|||
|
|
@ -36,6 +36,9 @@
|
|||
/* Portasm includes. */
|
||||
#include "portasm.h"
|
||||
|
||||
/* System call numbers includes. */
|
||||
#include "mpu_syscall_numbers.h"
|
||||
|
||||
/* MPU_WRAPPERS_INCLUDED_FROM_API_FILE is needed to be defined only for the
|
||||
* header files. */
|
||||
#undef MPU_WRAPPERS_INCLUDED_FROM_API_FILE
|
||||
|
|
@ -538,7 +541,6 @@ void vClearInterruptMask( __attribute__( ( unused ) ) uint32_t ulMask ) /* __att
|
|||
".syntax unified \n"
|
||||
".extern vPortSVCHandler_C \n"
|
||||
".extern vSystemCallEnter \n"
|
||||
".extern vSystemCallEnter_1 \n"
|
||||
".extern vSystemCallExit \n"
|
||||
" \n"
|
||||
"movs r0, #4 \n"
|
||||
|
|
@ -553,26 +555,22 @@ void vClearInterruptMask( __attribute__( ( unused ) ) uint32_t ulMask ) /* __att
|
|||
" b route_svc \n"
|
||||
" \n"
|
||||
"route_svc: \n"
|
||||
" ldr r2, [r0, #24] \n"
|
||||
" subs r2, #2 \n"
|
||||
" ldrb r3, [r2, #0] \n"
|
||||
" cmp r3, %0 \n"
|
||||
" beq system_call_enter \n"
|
||||
" cmp r3, %1 \n"
|
||||
" beq system_call_enter_1 \n"
|
||||
" cmp r3, %2 \n"
|
||||
" ldr r3, [r0, #24] \n"
|
||||
" subs r3, #2 \n"
|
||||
" ldrb r2, [r3, #0] \n"
|
||||
" cmp r2, %0 \n"
|
||||
" blt system_call_enter \n"
|
||||
" cmp r2, %1 \n"
|
||||
" beq system_call_exit \n"
|
||||
" b vPortSVCHandler_C \n"
|
||||
" \n"
|
||||
"system_call_enter: \n"
|
||||
" b vSystemCallEnter \n"
|
||||
"system_call_enter_1: \n"
|
||||
" b vSystemCallEnter_1 \n"
|
||||
"system_call_exit: \n"
|
||||
" b vSystemCallExit \n"
|
||||
" \n"
|
||||
: /* No outputs. */
|
||||
: "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_ENTER_1 ), "i" ( portSVC_SYSTEM_CALL_EXIT )
|
||||
: "i" ( NUM_SYSTEM_CALLS ), "i" ( portSVC_SYSTEM_CALL_EXIT )
|
||||
: "r0", "r1", "r2", "r3", "memory"
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -38,6 +38,8 @@
|
|||
#include "timers.h"
|
||||
#include "event_groups.h"
|
||||
#include "stream_buffer.h"
|
||||
#include "mpu_prototypes.h"
|
||||
#include "mpu_syscall_numbers.h"
|
||||
|
||||
#undef MPU_WRAPPERS_INCLUDED_FROM_API_FILE
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -68,11 +70,8 @@
|
|||
" MPU_xTaskDelayUntil_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xTaskDelayUntilImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xTaskDelayUntil ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -101,11 +100,8 @@
|
|||
" MPU_xTaskAbortDelay_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xTaskAbortDelayImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xTaskAbortDelay ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -134,11 +130,8 @@
|
|||
" MPU_vTaskDelay_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_vTaskDelayImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_vTaskDelay ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -167,11 +160,8 @@
|
|||
" MPU_uxTaskPriorityGet_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_uxTaskPriorityGetImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_uxTaskPriorityGet ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -200,11 +190,8 @@
|
|||
" MPU_eTaskGetState_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_eTaskGetStateImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_eTaskGetState ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -239,11 +226,8 @@
|
|||
" MPU_vTaskGetInfo_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_vTaskGetInfoImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_vTaskGetInfo ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -272,11 +256,8 @@
|
|||
" MPU_xTaskGetIdleTaskHandle_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xTaskGetIdleTaskHandleImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xTaskGetIdleTaskHandle ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -305,11 +286,8 @@
|
|||
" MPU_vTaskSuspend_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_vTaskSuspendImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_vTaskSuspend ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -338,11 +316,8 @@
|
|||
" MPU_vTaskResume_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_vTaskResumeImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_vTaskResume ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -369,11 +344,8 @@
|
|||
" MPU_xTaskGetTickCount_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xTaskGetTickCountImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xTaskGetTickCount ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -398,11 +370,8 @@
|
|||
" MPU_uxTaskGetNumberOfTasks_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_uxTaskGetNumberOfTasksImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_uxTaskGetNumberOfTasks ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -429,11 +398,8 @@
|
|||
" MPU_ulTaskGetRunTimeCounter_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_ulTaskGetRunTimeCounterImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_ulTaskGetRunTimeCounter ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -462,11 +428,8 @@
|
|||
" MPU_ulTaskGetRunTimePercent_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_ulTaskGetRunTimePercentImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_ulTaskGetRunTimePercent ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -495,11 +458,8 @@
|
|||
" MPU_ulTaskGetIdleRunTimePercent_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_ulTaskGetIdleRunTimePercentImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_ulTaskGetIdleRunTimePercent ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -528,11 +488,8 @@
|
|||
" MPU_ulTaskGetIdleRunTimeCounter_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_ulTaskGetIdleRunTimeCounterImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_ulTaskGetIdleRunTimeCounter ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -563,11 +520,8 @@
|
|||
" MPU_vTaskSetApplicationTaskTag_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_vTaskSetApplicationTaskTagImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_vTaskSetApplicationTaskTag ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -596,11 +550,8 @@
|
|||
" MPU_xTaskGetApplicationTaskTag_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xTaskGetApplicationTaskTagImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xTaskGetApplicationTaskTag ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -633,11 +584,8 @@
|
|||
" MPU_vTaskSetThreadLocalStoragePointer_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_vTaskSetThreadLocalStoragePointerImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_vTaskSetThreadLocalStoragePointer ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -668,11 +616,8 @@
|
|||
" MPU_pvTaskGetThreadLocalStoragePointer_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_pvTaskGetThreadLocalStoragePointerImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_pvTaskGetThreadLocalStoragePointer ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -705,11 +650,8 @@
|
|||
" MPU_uxTaskGetSystemState_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_uxTaskGetSystemStateImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_uxTaskGetSystemState ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -738,11 +680,8 @@
|
|||
" MPU_uxTaskGetStackHighWaterMark_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_uxTaskGetStackHighWaterMarkImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_uxTaskGetStackHighWaterMark ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -771,11 +710,8 @@
|
|||
" MPU_uxTaskGetStackHighWaterMark2_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_uxTaskGetStackHighWaterMark2Impl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_uxTaskGetStackHighWaterMark2 ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -804,11 +740,8 @@
|
|||
" MPU_xTaskGetCurrentTaskHandle_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xTaskGetCurrentTaskHandleImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xTaskGetCurrentTaskHandle ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -837,11 +770,8 @@
|
|||
" MPU_xTaskGetSchedulerState_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xTaskGetSchedulerStateImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xTaskGetSchedulerState ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -868,11 +798,8 @@
|
|||
" MPU_vTaskSetTimeOutState_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_vTaskSetTimeOutStateImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_vTaskSetTimeOutState ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -899,28 +826,17 @@
|
|||
" MPU_xTaskCheckForTimeOut_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xTaskCheckForTimeOutImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xTaskCheckForTimeOut ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
#if ( configUSE_TASK_NOTIFICATIONS == 1 )
|
||||
|
||||
BaseType_t MPU_xTaskGenericNotify( TaskHandle_t xTaskToNotify,
|
||||
UBaseType_t uxIndexToNotify,
|
||||
uint32_t ulValue,
|
||||
eNotifyAction eAction,
|
||||
uint32_t * pulPreviousNotificationValue ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL;
|
||||
BaseType_t MPU_xTaskGenericNotifyEntry( const xTaskGenericNotifyParams_t * pxParams ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL;
|
||||
|
||||
BaseType_t MPU_xTaskGenericNotify( TaskHandle_t xTaskToNotify,
|
||||
UBaseType_t uxIndexToNotify,
|
||||
uint32_t ulValue,
|
||||
eNotifyAction eAction,
|
||||
uint32_t * pulPreviousNotificationValue ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
|
||||
BaseType_t MPU_xTaskGenericNotifyEntry( const xTaskGenericNotifyParams_t * pxParams ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
|
||||
{
|
||||
__asm volatile
|
||||
(
|
||||
|
|
@ -938,11 +854,8 @@
|
|||
" MPU_xTaskGenericNotify_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xTaskGenericNotifyImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER_1 ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xTaskGenericNotify ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -951,17 +864,9 @@
|
|||
|
||||
#if ( configUSE_TASK_NOTIFICATIONS == 1 )
|
||||
|
||||
BaseType_t MPU_xTaskGenericNotifyWait( UBaseType_t uxIndexToWaitOn,
|
||||
uint32_t ulBitsToClearOnEntry,
|
||||
uint32_t ulBitsToClearOnExit,
|
||||
uint32_t * pulNotificationValue,
|
||||
TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL;
|
||||
BaseType_t MPU_xTaskGenericNotifyWaitEntry( const xTaskGenericNotifyWaitParams_t * pxParams ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL;
|
||||
|
||||
BaseType_t MPU_xTaskGenericNotifyWait( UBaseType_t uxIndexToWaitOn,
|
||||
uint32_t ulBitsToClearOnEntry,
|
||||
uint32_t ulBitsToClearOnExit,
|
||||
uint32_t * pulNotificationValue,
|
||||
TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
|
||||
BaseType_t MPU_xTaskGenericNotifyWaitEntry( const xTaskGenericNotifyWaitParams_t * pxParams ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
|
||||
{
|
||||
__asm volatile
|
||||
(
|
||||
|
|
@ -979,11 +884,8 @@
|
|||
" MPU_xTaskGenericNotifyWait_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xTaskGenericNotifyWaitImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER_1 ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xTaskGenericNotifyWait ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1016,11 +918,8 @@
|
|||
" MPU_ulTaskGenericNotifyTake_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_ulTaskGenericNotifyTakeImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_ulTaskGenericNotifyTake ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1051,11 +950,8 @@
|
|||
" MPU_xTaskGenericNotifyStateClear_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xTaskGenericNotifyStateClearImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xTaskGenericNotifyStateClear ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1088,11 +984,8 @@
|
|||
" MPU_ulTaskGenericNotifyValueClear_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_ulTaskGenericNotifyValueClearImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_ulTaskGenericNotifyValueClear ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1125,11 +1018,8 @@
|
|||
" MPU_xQueueGenericSend_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xQueueGenericSendImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xQueueGenericSend ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -1154,11 +1044,8 @@
|
|||
" MPU_uxQueueMessagesWaiting_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_uxQueueMessagesWaitingImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_uxQueueMessagesWaiting ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -1183,11 +1070,8 @@
|
|||
" MPU_uxQueueSpacesAvailable_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_uxQueueSpacesAvailableImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_uxQueueSpacesAvailable ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -1216,11 +1100,8 @@
|
|||
" MPU_xQueueReceive_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xQueueReceiveImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xQueueReceive ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -1249,11 +1130,8 @@
|
|||
" MPU_xQueuePeek_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xQueuePeekImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xQueuePeek ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -1280,11 +1158,8 @@
|
|||
" MPU_xQueueSemaphoreTake_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xQueueSemaphoreTakeImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xQueueSemaphoreTake ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -1311,11 +1186,8 @@
|
|||
" MPU_xQueueGetMutexHolder_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xQueueGetMutexHolderImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xQueueGetMutexHolder ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1346,11 +1218,8 @@
|
|||
" MPU_xQueueTakeMutexRecursive_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xQueueTakeMutexRecursiveImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xQueueTakeMutexRecursive ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1379,11 +1248,8 @@
|
|||
" MPU_xQueueGiveMutexRecursive_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xQueueGiveMutexRecursiveImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xQueueGiveMutexRecursive ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1414,11 +1280,8 @@
|
|||
" MPU_xQueueSelectFromSet_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xQueueSelectFromSetImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xQueueSelectFromSet ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1449,11 +1312,8 @@
|
|||
" MPU_xQueueAddToSet_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xQueueAddToSetImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xQueueAddToSet ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1484,11 +1344,8 @@
|
|||
" MPU_vQueueAddToRegistry_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_vQueueAddToRegistryImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_vQueueAddToRegistry ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1517,11 +1374,8 @@
|
|||
" MPU_vQueueUnregisterQueue_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_vQueueUnregisterQueueImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_vQueueUnregisterQueue ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1550,11 +1404,8 @@
|
|||
" MPU_pcQueueGetName_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_pcQueueGetNameImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_pcQueueGetName ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1583,11 +1434,8 @@
|
|||
" MPU_pvTimerGetTimerID_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_pvTimerGetTimerIDImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_pvTimerGetTimerID ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1618,11 +1466,8 @@
|
|||
" MPU_vTimerSetTimerID_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_vTimerSetTimerIDImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_vTimerSetTimerID ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1651,11 +1496,8 @@
|
|||
" MPU_xTimerIsTimerActive_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xTimerIsTimerActiveImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xTimerIsTimerActive ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1684,11 +1526,8 @@
|
|||
" MPU_xTimerGetTimerDaemonTaskHandle_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xTimerGetTimerDaemonTaskHandleImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xTimerGetTimerDaemonTaskHandle ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1697,17 +1536,9 @@
|
|||
|
||||
#if ( configUSE_TIMERS == 1 )
|
||||
|
||||
BaseType_t MPU_xTimerGenericCommandFromTask( TimerHandle_t xTimer,
|
||||
const BaseType_t xCommandID,
|
||||
const TickType_t xOptionalValue,
|
||||
BaseType_t * const pxHigherPriorityTaskWoken,
|
||||
const TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL;
|
||||
BaseType_t MPU_xTimerGenericCommandFromTaskEntry( const xTimerGenericCommandFromTaskParams_t * pxParams ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL;
|
||||
|
||||
BaseType_t MPU_xTimerGenericCommandFromTask( TimerHandle_t xTimer,
|
||||
const BaseType_t xCommandID,
|
||||
const TickType_t xOptionalValue,
|
||||
BaseType_t * const pxHigherPriorityTaskWoken,
|
||||
const TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
|
||||
BaseType_t MPU_xTimerGenericCommandFromTaskEntry( const xTimerGenericCommandFromTaskParams_t * pxParams ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
|
||||
{
|
||||
__asm volatile
|
||||
(
|
||||
|
|
@ -1725,11 +1556,8 @@
|
|||
" MPU_xTimerGenericCommandFromTask_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xTimerGenericCommandFromTaskImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER_1 ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xTimerGenericCommandFromTask ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1758,11 +1586,8 @@
|
|||
" MPU_pcTimerGetName_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_pcTimerGetNameImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_pcTimerGetName ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1793,11 +1618,8 @@
|
|||
" MPU_vTimerSetReloadMode_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_vTimerSetReloadModeImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_vTimerSetReloadMode ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1826,11 +1648,8 @@
|
|||
" MPU_xTimerGetReloadMode_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xTimerGetReloadModeImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xTimerGetReloadMode ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1859,11 +1678,8 @@
|
|||
" MPU_uxTimerGetReloadMode_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_uxTimerGetReloadModeImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_uxTimerGetReloadMode ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1892,11 +1708,8 @@
|
|||
" MPU_xTimerGetPeriod_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xTimerGetPeriodImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xTimerGetPeriod ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1925,28 +1738,17 @@
|
|||
" MPU_xTimerGetExpiryTime_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xTimerGetExpiryTimeImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xTimerGetExpiryTime ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
#endif /* if ( configUSE_TIMERS == 1 ) */
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
EventBits_t MPU_xEventGroupWaitBits( EventGroupHandle_t xEventGroup,
|
||||
const EventBits_t uxBitsToWaitFor,
|
||||
const BaseType_t xClearOnExit,
|
||||
const BaseType_t xWaitForAllBits,
|
||||
TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL;
|
||||
EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL;
|
||||
|
||||
EventBits_t MPU_xEventGroupWaitBits( EventGroupHandle_t xEventGroup,
|
||||
const EventBits_t uxBitsToWaitFor,
|
||||
const BaseType_t xClearOnExit,
|
||||
const BaseType_t xWaitForAllBits,
|
||||
TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
|
||||
EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
|
||||
{
|
||||
__asm volatile
|
||||
(
|
||||
|
|
@ -1964,11 +1766,8 @@
|
|||
" MPU_xEventGroupWaitBits_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xEventGroupWaitBitsImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER_1 ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xEventGroupWaitBits ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -1995,11 +1794,8 @@
|
|||
" MPU_xEventGroupClearBits_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xEventGroupClearBitsImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xEventGroupClearBits ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -2026,11 +1822,8 @@
|
|||
" MPU_xEventGroupSetBits_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xEventGroupSetBitsImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xEventGroupSetBits ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -2061,11 +1854,8 @@
|
|||
" MPU_xEventGroupSync_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xEventGroupSyncImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xEventGroupSync ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -2092,11 +1882,8 @@
|
|||
" MPU_uxEventGroupGetNumber_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_uxEventGroupGetNumberImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_uxEventGroupGetNumber ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -2127,11 +1914,8 @@
|
|||
" MPU_vEventGroupSetNumber_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_vEventGroupSetNumberImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_vEventGroupSetNumber ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -2164,11 +1948,8 @@
|
|||
" MPU_xStreamBufferSend_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xStreamBufferSendImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xStreamBufferSend ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -2199,11 +1980,8 @@
|
|||
" MPU_xStreamBufferReceive_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xStreamBufferReceiveImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xStreamBufferReceive ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -2228,11 +2006,8 @@
|
|||
" MPU_xStreamBufferIsFull_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xStreamBufferIsFullImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xStreamBufferIsFull ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -2257,11 +2032,8 @@
|
|||
" MPU_xStreamBufferIsEmpty_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xStreamBufferIsEmptyImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xStreamBufferIsEmpty ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -2286,11 +2058,8 @@
|
|||
" MPU_xStreamBufferSpacesAvailable_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xStreamBufferSpacesAvailableImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xStreamBufferSpacesAvailable ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -2315,11 +2084,8 @@
|
|||
" MPU_xStreamBufferBytesAvailable_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xStreamBufferBytesAvailableImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xStreamBufferBytesAvailable ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -2346,11 +2112,8 @@
|
|||
" MPU_xStreamBufferSetTriggerLevel_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xStreamBufferSetTriggerLevelImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xStreamBufferSetTriggerLevel ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -2375,11 +2138,8 @@
|
|||
" MPU_xStreamBufferNextMessageLengthBytes_Unpriv: \n"
|
||||
" pop {r0, r1} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xStreamBufferNextMessageLengthBytesImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xStreamBufferNextMessageLengthBytes ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
|
|||
|
|
@ -36,6 +36,9 @@
|
|||
/* Portasm includes. */
|
||||
#include "portasm.h"
|
||||
|
||||
/* System call numbers includes. */
|
||||
#include "mpu_syscall_numbers.h"
|
||||
|
||||
/* MPU_WRAPPERS_INCLUDED_FROM_API_FILE is needed to be defined only for the
|
||||
* header files. */
|
||||
#undef MPU_WRAPPERS_INCLUDED_FROM_API_FILE
|
||||
|
|
@ -478,7 +481,6 @@ void vClearInterruptMask( __attribute__( ( unused ) ) uint32_t ulMask ) /* __att
|
|||
".syntax unified \n"
|
||||
".extern vPortSVCHandler_C \n"
|
||||
".extern vSystemCallEnter \n"
|
||||
".extern vSystemCallEnter_1 \n"
|
||||
".extern vSystemCallExit \n"
|
||||
" \n"
|
||||
"movs r0, #4 \n"
|
||||
|
|
@ -493,26 +495,22 @@ void vClearInterruptMask( __attribute__( ( unused ) ) uint32_t ulMask ) /* __att
|
|||
" b route_svc \n"
|
||||
" \n"
|
||||
"route_svc: \n"
|
||||
" ldr r2, [r0, #24] \n"
|
||||
" subs r2, #2 \n"
|
||||
" ldrb r3, [r2, #0] \n"
|
||||
" cmp r3, %0 \n"
|
||||
" beq system_call_enter \n"
|
||||
" cmp r3, %1 \n"
|
||||
" beq system_call_enter_1 \n"
|
||||
" cmp r3, %2 \n"
|
||||
" ldr r3, [r0, #24] \n"
|
||||
" subs r3, #2 \n"
|
||||
" ldrb r2, [r3, #0] \n"
|
||||
" cmp r2, %0 \n"
|
||||
" blt system_call_enter \n"
|
||||
" cmp r2, %1 \n"
|
||||
" beq system_call_exit \n"
|
||||
" b vPortSVCHandler_C \n"
|
||||
" \n"
|
||||
"system_call_enter: \n"
|
||||
" b vSystemCallEnter \n"
|
||||
"system_call_enter_1: \n"
|
||||
" b vSystemCallEnter_1 \n"
|
||||
"system_call_exit: \n"
|
||||
" b vSystemCallExit \n"
|
||||
" \n"
|
||||
: /* No outputs. */
|
||||
: "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_ENTER_1 ), "i" ( portSVC_SYSTEM_CALL_EXIT )
|
||||
: "i" ( NUM_SYSTEM_CALLS ), "i" ( portSVC_SYSTEM_CALL_EXIT )
|
||||
: "r0", "r1", "r2", "r3", "memory"
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -38,6 +38,8 @@
|
|||
#include "timers.h"
|
||||
#include "event_groups.h"
|
||||
#include "stream_buffer.h"
|
||||
#include "mpu_prototypes.h"
|
||||
#include "mpu_syscall_numbers.h"
|
||||
|
||||
#undef MPU_WRAPPERS_INCLUDED_FROM_API_FILE
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -67,11 +69,8 @@
|
|||
" MPU_xTaskDelayUntil_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xTaskDelayUntilImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xTaskDelayUntil ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -99,11 +98,8 @@
|
|||
" MPU_xTaskAbortDelay_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xTaskAbortDelayImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xTaskAbortDelay ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -131,11 +127,8 @@
|
|||
" MPU_vTaskDelay_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_vTaskDelayImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_vTaskDelay ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -163,11 +156,8 @@
|
|||
" MPU_uxTaskPriorityGet_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_uxTaskPriorityGetImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_uxTaskPriorityGet ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -195,11 +185,8 @@
|
|||
" MPU_eTaskGetState_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_eTaskGetStateImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_eTaskGetState ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -233,11 +220,8 @@
|
|||
" MPU_vTaskGetInfo_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_vTaskGetInfoImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_vTaskGetInfo ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -265,11 +249,8 @@
|
|||
" MPU_xTaskGetIdleTaskHandle_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xTaskGetIdleTaskHandleImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xTaskGetIdleTaskHandle ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -297,11 +278,8 @@
|
|||
" MPU_vTaskSuspend_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_vTaskSuspendImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_vTaskSuspend ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -329,11 +307,8 @@
|
|||
" MPU_vTaskResume_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_vTaskResumeImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_vTaskResume ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -359,11 +334,8 @@
|
|||
" MPU_xTaskGetTickCount_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xTaskGetTickCountImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xTaskGetTickCount ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -387,11 +359,8 @@
|
|||
" MPU_uxTaskGetNumberOfTasks_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_uxTaskGetNumberOfTasksImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_uxTaskGetNumberOfTasks ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -417,11 +386,8 @@
|
|||
" MPU_ulTaskGetRunTimeCounter_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_ulTaskGetRunTimeCounterImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_ulTaskGetRunTimeCounter ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -449,11 +415,8 @@
|
|||
" MPU_ulTaskGetRunTimePercent_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_ulTaskGetRunTimePercentImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_ulTaskGetRunTimePercent ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -481,11 +444,8 @@
|
|||
" MPU_ulTaskGetIdleRunTimePercent_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_ulTaskGetIdleRunTimePercentImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_ulTaskGetIdleRunTimePercent ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -513,11 +473,8 @@
|
|||
" MPU_ulTaskGetIdleRunTimeCounter_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_ulTaskGetIdleRunTimeCounterImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_ulTaskGetIdleRunTimeCounter ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -547,11 +504,8 @@
|
|||
" MPU_vTaskSetApplicationTaskTag_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_vTaskSetApplicationTaskTagImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_vTaskSetApplicationTaskTag ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -579,11 +533,8 @@
|
|||
" MPU_xTaskGetApplicationTaskTag_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xTaskGetApplicationTaskTagImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xTaskGetApplicationTaskTag ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -615,11 +566,8 @@
|
|||
" MPU_vTaskSetThreadLocalStoragePointer_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_vTaskSetThreadLocalStoragePointerImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_vTaskSetThreadLocalStoragePointer ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -649,11 +597,8 @@
|
|||
" MPU_pvTaskGetThreadLocalStoragePointer_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_pvTaskGetThreadLocalStoragePointerImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_pvTaskGetThreadLocalStoragePointer ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -685,11 +630,8 @@
|
|||
" MPU_uxTaskGetSystemState_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_uxTaskGetSystemStateImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_uxTaskGetSystemState ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -717,11 +659,8 @@
|
|||
" MPU_uxTaskGetStackHighWaterMark_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_uxTaskGetStackHighWaterMarkImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_uxTaskGetStackHighWaterMark ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -749,11 +688,8 @@
|
|||
" MPU_uxTaskGetStackHighWaterMark2_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_uxTaskGetStackHighWaterMark2Impl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_uxTaskGetStackHighWaterMark2 ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -781,11 +717,8 @@
|
|||
" MPU_xTaskGetCurrentTaskHandle_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xTaskGetCurrentTaskHandleImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xTaskGetCurrentTaskHandle ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -813,11 +746,8 @@
|
|||
" MPU_xTaskGetSchedulerState_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xTaskGetSchedulerStateImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xTaskGetSchedulerState ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -843,11 +773,8 @@
|
|||
" MPU_vTaskSetTimeOutState_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_vTaskSetTimeOutStateImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_vTaskSetTimeOutState ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -873,28 +800,17 @@
|
|||
" MPU_xTaskCheckForTimeOut_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xTaskCheckForTimeOutImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xTaskCheckForTimeOut ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
#if ( configUSE_TASK_NOTIFICATIONS == 1 )
|
||||
|
||||
BaseType_t MPU_xTaskGenericNotify( TaskHandle_t xTaskToNotify,
|
||||
UBaseType_t uxIndexToNotify,
|
||||
uint32_t ulValue,
|
||||
eNotifyAction eAction,
|
||||
uint32_t * pulPreviousNotificationValue ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL;
|
||||
BaseType_t MPU_xTaskGenericNotifyEntry( const xTaskGenericNotifyParams_t * pxParams ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL;
|
||||
|
||||
BaseType_t MPU_xTaskGenericNotify( TaskHandle_t xTaskToNotify,
|
||||
UBaseType_t uxIndexToNotify,
|
||||
uint32_t ulValue,
|
||||
eNotifyAction eAction,
|
||||
uint32_t * pulPreviousNotificationValue ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
|
||||
BaseType_t MPU_xTaskGenericNotifyEntry( const xTaskGenericNotifyParams_t * pxParams ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
|
||||
{
|
||||
__asm volatile
|
||||
(
|
||||
|
|
@ -911,11 +827,8 @@
|
|||
" MPU_xTaskGenericNotify_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xTaskGenericNotifyImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER_1 ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xTaskGenericNotify ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -924,17 +837,9 @@
|
|||
|
||||
#if ( configUSE_TASK_NOTIFICATIONS == 1 )
|
||||
|
||||
BaseType_t MPU_xTaskGenericNotifyWait( UBaseType_t uxIndexToWaitOn,
|
||||
uint32_t ulBitsToClearOnEntry,
|
||||
uint32_t ulBitsToClearOnExit,
|
||||
uint32_t * pulNotificationValue,
|
||||
TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL;
|
||||
BaseType_t MPU_xTaskGenericNotifyWaitEntry( const xTaskGenericNotifyWaitParams_t * pxParams ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL;
|
||||
|
||||
BaseType_t MPU_xTaskGenericNotifyWait( UBaseType_t uxIndexToWaitOn,
|
||||
uint32_t ulBitsToClearOnEntry,
|
||||
uint32_t ulBitsToClearOnExit,
|
||||
uint32_t * pulNotificationValue,
|
||||
TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
|
||||
BaseType_t MPU_xTaskGenericNotifyWaitEntry( const xTaskGenericNotifyWaitParams_t * pxParams ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
|
||||
{
|
||||
__asm volatile
|
||||
(
|
||||
|
|
@ -951,11 +856,8 @@
|
|||
" MPU_xTaskGenericNotifyWait_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xTaskGenericNotifyWaitImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER_1 ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xTaskGenericNotifyWait ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -987,11 +889,8 @@
|
|||
" MPU_ulTaskGenericNotifyTake_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_ulTaskGenericNotifyTakeImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_ulTaskGenericNotifyTake ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1021,11 +920,8 @@
|
|||
" MPU_xTaskGenericNotifyStateClear_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xTaskGenericNotifyStateClearImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xTaskGenericNotifyStateClear ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1057,11 +953,8 @@
|
|||
" MPU_ulTaskGenericNotifyValueClear_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_ulTaskGenericNotifyValueClearImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_ulTaskGenericNotifyValueClear ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1093,11 +986,8 @@
|
|||
" MPU_xQueueGenericSend_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xQueueGenericSendImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xQueueGenericSend ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -1121,11 +1011,8 @@
|
|||
" MPU_uxQueueMessagesWaiting_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_uxQueueMessagesWaitingImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_uxQueueMessagesWaiting ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -1149,11 +1036,8 @@
|
|||
" MPU_uxQueueSpacesAvailable_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_uxQueueSpacesAvailableImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_uxQueueSpacesAvailable ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -1181,11 +1065,8 @@
|
|||
" MPU_xQueueReceive_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xQueueReceiveImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xQueueReceive ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -1213,11 +1094,8 @@
|
|||
" MPU_xQueuePeek_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xQueuePeekImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xQueuePeek ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -1243,11 +1121,8 @@
|
|||
" MPU_xQueueSemaphoreTake_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xQueueSemaphoreTakeImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xQueueSemaphoreTake ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -1273,11 +1148,8 @@
|
|||
" MPU_xQueueGetMutexHolder_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xQueueGetMutexHolderImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xQueueGetMutexHolder ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1307,11 +1179,8 @@
|
|||
" MPU_xQueueTakeMutexRecursive_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xQueueTakeMutexRecursiveImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xQueueTakeMutexRecursive ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1339,11 +1208,8 @@
|
|||
" MPU_xQueueGiveMutexRecursive_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xQueueGiveMutexRecursiveImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xQueueGiveMutexRecursive ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1373,11 +1239,8 @@
|
|||
" MPU_xQueueSelectFromSet_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xQueueSelectFromSetImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xQueueSelectFromSet ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1407,11 +1270,8 @@
|
|||
" MPU_xQueueAddToSet_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xQueueAddToSetImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xQueueAddToSet ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1441,11 +1301,8 @@
|
|||
" MPU_vQueueAddToRegistry_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_vQueueAddToRegistryImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_vQueueAddToRegistry ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1473,11 +1330,8 @@
|
|||
" MPU_vQueueUnregisterQueue_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_vQueueUnregisterQueueImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_vQueueUnregisterQueue ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1505,11 +1359,8 @@
|
|||
" MPU_pcQueueGetName_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_pcQueueGetNameImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_pcQueueGetName ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1537,11 +1388,8 @@
|
|||
" MPU_pvTimerGetTimerID_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_pvTimerGetTimerIDImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_pvTimerGetTimerID ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1571,11 +1419,8 @@
|
|||
" MPU_vTimerSetTimerID_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_vTimerSetTimerIDImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_vTimerSetTimerID ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1603,11 +1448,8 @@
|
|||
" MPU_xTimerIsTimerActive_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xTimerIsTimerActiveImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xTimerIsTimerActive ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1635,11 +1477,8 @@
|
|||
" MPU_xTimerGetTimerDaemonTaskHandle_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xTimerGetTimerDaemonTaskHandleImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xTimerGetTimerDaemonTaskHandle ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1648,17 +1487,9 @@
|
|||
|
||||
#if ( configUSE_TIMERS == 1 )
|
||||
|
||||
BaseType_t MPU_xTimerGenericCommandFromTask( TimerHandle_t xTimer,
|
||||
const BaseType_t xCommandID,
|
||||
const TickType_t xOptionalValue,
|
||||
BaseType_t * const pxHigherPriorityTaskWoken,
|
||||
const TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL;
|
||||
BaseType_t MPU_xTimerGenericCommandFromTaskEntry( const xTimerGenericCommandFromTaskParams_t * pxParams ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL;
|
||||
|
||||
BaseType_t MPU_xTimerGenericCommandFromTask( TimerHandle_t xTimer,
|
||||
const BaseType_t xCommandID,
|
||||
const TickType_t xOptionalValue,
|
||||
BaseType_t * const pxHigherPriorityTaskWoken,
|
||||
const TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
|
||||
BaseType_t MPU_xTimerGenericCommandFromTaskEntry( const xTimerGenericCommandFromTaskParams_t * pxParams ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
|
||||
{
|
||||
__asm volatile
|
||||
(
|
||||
|
|
@ -1675,11 +1506,8 @@
|
|||
" MPU_xTimerGenericCommandFromTask_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xTimerGenericCommandFromTaskImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER_1 ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xTimerGenericCommandFromTask ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1707,11 +1535,8 @@
|
|||
" MPU_pcTimerGetName_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_pcTimerGetNameImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_pcTimerGetName ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1741,11 +1566,8 @@
|
|||
" MPU_vTimerSetReloadMode_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_vTimerSetReloadModeImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_vTimerSetReloadMode ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1773,11 +1595,8 @@
|
|||
" MPU_xTimerGetReloadMode_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xTimerGetReloadModeImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xTimerGetReloadMode ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1805,11 +1624,8 @@
|
|||
" MPU_uxTimerGetReloadMode_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_uxTimerGetReloadModeImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_uxTimerGetReloadMode ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1837,11 +1653,8 @@
|
|||
" MPU_xTimerGetPeriod_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xTimerGetPeriodImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xTimerGetPeriod ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1869,28 +1682,17 @@
|
|||
" MPU_xTimerGetExpiryTime_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xTimerGetExpiryTimeImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xTimerGetExpiryTime ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
#endif /* if ( configUSE_TIMERS == 1 ) */
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
EventBits_t MPU_xEventGroupWaitBits( EventGroupHandle_t xEventGroup,
|
||||
const EventBits_t uxBitsToWaitFor,
|
||||
const BaseType_t xClearOnExit,
|
||||
const BaseType_t xWaitForAllBits,
|
||||
TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL;
|
||||
EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL;
|
||||
|
||||
EventBits_t MPU_xEventGroupWaitBits( EventGroupHandle_t xEventGroup,
|
||||
const EventBits_t uxBitsToWaitFor,
|
||||
const BaseType_t xClearOnExit,
|
||||
const BaseType_t xWaitForAllBits,
|
||||
TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
|
||||
EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
|
||||
{
|
||||
__asm volatile
|
||||
(
|
||||
|
|
@ -1907,11 +1709,8 @@
|
|||
" MPU_xEventGroupWaitBits_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xEventGroupWaitBitsImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER_1 ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xEventGroupWaitBits ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -1937,11 +1736,8 @@
|
|||
" MPU_xEventGroupClearBits_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xEventGroupClearBitsImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xEventGroupClearBits ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -1967,11 +1763,8 @@
|
|||
" MPU_xEventGroupSetBits_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xEventGroupSetBitsImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xEventGroupSetBits ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -2001,11 +1794,8 @@
|
|||
" MPU_xEventGroupSync_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xEventGroupSyncImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xEventGroupSync ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -2031,11 +1821,8 @@
|
|||
" MPU_uxEventGroupGetNumber_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_uxEventGroupGetNumberImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_uxEventGroupGetNumber ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -2065,11 +1852,8 @@
|
|||
" MPU_vEventGroupSetNumber_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_vEventGroupSetNumberImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_vEventGroupSetNumber ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -2101,11 +1885,8 @@
|
|||
" MPU_xStreamBufferSend_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xStreamBufferSendImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xStreamBufferSend ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -2135,11 +1916,8 @@
|
|||
" MPU_xStreamBufferReceive_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xStreamBufferReceiveImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xStreamBufferReceive ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -2163,11 +1941,8 @@
|
|||
" MPU_xStreamBufferIsFull_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xStreamBufferIsFullImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xStreamBufferIsFull ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -2191,11 +1966,8 @@
|
|||
" MPU_xStreamBufferIsEmpty_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xStreamBufferIsEmptyImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xStreamBufferIsEmpty ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -2219,11 +1991,8 @@
|
|||
" MPU_xStreamBufferSpacesAvailable_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xStreamBufferSpacesAvailableImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xStreamBufferSpacesAvailable ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -2247,11 +2016,8 @@
|
|||
" MPU_xStreamBufferBytesAvailable_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xStreamBufferBytesAvailableImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xStreamBufferBytesAvailable ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -2277,11 +2043,8 @@
|
|||
" MPU_xStreamBufferSetTriggerLevel_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xStreamBufferSetTriggerLevelImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xStreamBufferSetTriggerLevel ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -2305,11 +2068,8 @@
|
|||
" MPU_xStreamBufferNextMessageLengthBytes_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xStreamBufferNextMessageLengthBytesImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xStreamBufferNextMessageLengthBytes ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
|
|||
|
|
@ -36,6 +36,9 @@
|
|||
/* Portasm includes. */
|
||||
#include "portasm.h"
|
||||
|
||||
/* System call numbers includes. */
|
||||
#include "mpu_syscall_numbers.h"
|
||||
|
||||
/* MPU_WRAPPERS_INCLUDED_FROM_API_FILE is needed to be defined only for the
|
||||
* header files. */
|
||||
#undef MPU_WRAPPERS_INCLUDED_FROM_API_FILE
|
||||
|
|
@ -522,7 +525,6 @@ void vClearInterruptMask( __attribute__( ( unused ) ) uint32_t ulMask ) /* __att
|
|||
".syntax unified \n"
|
||||
".extern vPortSVCHandler_C \n"
|
||||
".extern vSystemCallEnter \n"
|
||||
".extern vSystemCallEnter_1 \n"
|
||||
".extern vSystemCallExit \n"
|
||||
" \n"
|
||||
"tst lr, #4 \n"
|
||||
|
|
@ -533,10 +535,8 @@ void vClearInterruptMask( __attribute__( ( unused ) ) uint32_t ulMask ) /* __att
|
|||
"ldr r1, [r0, #24] \n"
|
||||
"ldrb r2, [r1, #-2] \n"
|
||||
"cmp r2, %0 \n"
|
||||
"beq syscall_enter \n"
|
||||
"blt syscall_enter \n"
|
||||
"cmp r2, %1 \n"
|
||||
"beq syscall_enter_1 \n"
|
||||
"cmp r2, %2 \n"
|
||||
"beq syscall_exit \n"
|
||||
"b vPortSVCHandler_C \n"
|
||||
" \n"
|
||||
|
|
@ -544,16 +544,12 @@ void vClearInterruptMask( __attribute__( ( unused ) ) uint32_t ulMask ) /* __att
|
|||
" mov r1, lr \n"
|
||||
" b vSystemCallEnter \n"
|
||||
" \n"
|
||||
"syscall_enter_1: \n"
|
||||
" mov r1, lr \n"
|
||||
" b vSystemCallEnter_1 \n"
|
||||
" \n"
|
||||
"syscall_exit: \n"
|
||||
" mov r1, lr \n"
|
||||
" b vSystemCallExit \n"
|
||||
" \n"
|
||||
: /* No outputs. */
|
||||
: "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_ENTER_1 ), "i" ( portSVC_SYSTEM_CALL_EXIT )
|
||||
: "i" ( NUM_SYSTEM_CALLS ), "i" ( portSVC_SYSTEM_CALL_EXIT )
|
||||
: "r0", "r1", "r2", "memory"
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -38,6 +38,8 @@
|
|||
#include "timers.h"
|
||||
#include "event_groups.h"
|
||||
#include "stream_buffer.h"
|
||||
#include "mpu_prototypes.h"
|
||||
#include "mpu_syscall_numbers.h"
|
||||
|
||||
#undef MPU_WRAPPERS_INCLUDED_FROM_API_FILE
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -67,11 +69,8 @@
|
|||
" MPU_xTaskDelayUntil_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xTaskDelayUntilImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xTaskDelayUntil ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -99,11 +98,8 @@
|
|||
" MPU_xTaskAbortDelay_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xTaskAbortDelayImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xTaskAbortDelay ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -131,11 +127,8 @@
|
|||
" MPU_vTaskDelay_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_vTaskDelayImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_vTaskDelay ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -163,11 +156,8 @@
|
|||
" MPU_uxTaskPriorityGet_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_uxTaskPriorityGetImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_uxTaskPriorityGet ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -195,11 +185,8 @@
|
|||
" MPU_eTaskGetState_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_eTaskGetStateImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_eTaskGetState ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -233,11 +220,8 @@
|
|||
" MPU_vTaskGetInfo_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_vTaskGetInfoImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_vTaskGetInfo ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -265,11 +249,8 @@
|
|||
" MPU_xTaskGetIdleTaskHandle_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xTaskGetIdleTaskHandleImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xTaskGetIdleTaskHandle ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -297,11 +278,8 @@
|
|||
" MPU_vTaskSuspend_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_vTaskSuspendImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_vTaskSuspend ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -329,11 +307,8 @@
|
|||
" MPU_vTaskResume_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_vTaskResumeImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_vTaskResume ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -359,11 +334,8 @@
|
|||
" MPU_xTaskGetTickCount_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xTaskGetTickCountImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xTaskGetTickCount ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -387,11 +359,8 @@
|
|||
" MPU_uxTaskGetNumberOfTasks_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_uxTaskGetNumberOfTasksImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_uxTaskGetNumberOfTasks ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -417,11 +386,8 @@
|
|||
" MPU_ulTaskGetRunTimeCounter_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_ulTaskGetRunTimeCounterImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_ulTaskGetRunTimeCounter ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -449,11 +415,8 @@
|
|||
" MPU_ulTaskGetRunTimePercent_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_ulTaskGetRunTimePercentImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_ulTaskGetRunTimePercent ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -481,11 +444,8 @@
|
|||
" MPU_ulTaskGetIdleRunTimePercent_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_ulTaskGetIdleRunTimePercentImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_ulTaskGetIdleRunTimePercent ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -513,11 +473,8 @@
|
|||
" MPU_ulTaskGetIdleRunTimeCounter_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_ulTaskGetIdleRunTimeCounterImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_ulTaskGetIdleRunTimeCounter ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -547,11 +504,8 @@
|
|||
" MPU_vTaskSetApplicationTaskTag_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_vTaskSetApplicationTaskTagImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_vTaskSetApplicationTaskTag ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -579,11 +533,8 @@
|
|||
" MPU_xTaskGetApplicationTaskTag_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xTaskGetApplicationTaskTagImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xTaskGetApplicationTaskTag ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -615,11 +566,8 @@
|
|||
" MPU_vTaskSetThreadLocalStoragePointer_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_vTaskSetThreadLocalStoragePointerImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_vTaskSetThreadLocalStoragePointer ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -649,11 +597,8 @@
|
|||
" MPU_pvTaskGetThreadLocalStoragePointer_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_pvTaskGetThreadLocalStoragePointerImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_pvTaskGetThreadLocalStoragePointer ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -685,11 +630,8 @@
|
|||
" MPU_uxTaskGetSystemState_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_uxTaskGetSystemStateImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_uxTaskGetSystemState ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -717,11 +659,8 @@
|
|||
" MPU_uxTaskGetStackHighWaterMark_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_uxTaskGetStackHighWaterMarkImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_uxTaskGetStackHighWaterMark ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -749,11 +688,8 @@
|
|||
" MPU_uxTaskGetStackHighWaterMark2_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_uxTaskGetStackHighWaterMark2Impl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_uxTaskGetStackHighWaterMark2 ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -781,11 +717,8 @@
|
|||
" MPU_xTaskGetCurrentTaskHandle_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xTaskGetCurrentTaskHandleImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xTaskGetCurrentTaskHandle ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -813,11 +746,8 @@
|
|||
" MPU_xTaskGetSchedulerState_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xTaskGetSchedulerStateImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xTaskGetSchedulerState ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -843,11 +773,8 @@
|
|||
" MPU_vTaskSetTimeOutState_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_vTaskSetTimeOutStateImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_vTaskSetTimeOutState ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -873,28 +800,17 @@
|
|||
" MPU_xTaskCheckForTimeOut_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xTaskCheckForTimeOutImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xTaskCheckForTimeOut ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
#if ( configUSE_TASK_NOTIFICATIONS == 1 )
|
||||
|
||||
BaseType_t MPU_xTaskGenericNotify( TaskHandle_t xTaskToNotify,
|
||||
UBaseType_t uxIndexToNotify,
|
||||
uint32_t ulValue,
|
||||
eNotifyAction eAction,
|
||||
uint32_t * pulPreviousNotificationValue ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL;
|
||||
BaseType_t MPU_xTaskGenericNotifyEntry( const xTaskGenericNotifyParams_t * pxParams ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL;
|
||||
|
||||
BaseType_t MPU_xTaskGenericNotify( TaskHandle_t xTaskToNotify,
|
||||
UBaseType_t uxIndexToNotify,
|
||||
uint32_t ulValue,
|
||||
eNotifyAction eAction,
|
||||
uint32_t * pulPreviousNotificationValue ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
|
||||
BaseType_t MPU_xTaskGenericNotifyEntry( const xTaskGenericNotifyParams_t * pxParams ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
|
||||
{
|
||||
__asm volatile
|
||||
(
|
||||
|
|
@ -911,11 +827,8 @@
|
|||
" MPU_xTaskGenericNotify_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xTaskGenericNotifyImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER_1 ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xTaskGenericNotify ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -924,17 +837,9 @@
|
|||
|
||||
#if ( configUSE_TASK_NOTIFICATIONS == 1 )
|
||||
|
||||
BaseType_t MPU_xTaskGenericNotifyWait( UBaseType_t uxIndexToWaitOn,
|
||||
uint32_t ulBitsToClearOnEntry,
|
||||
uint32_t ulBitsToClearOnExit,
|
||||
uint32_t * pulNotificationValue,
|
||||
TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL;
|
||||
BaseType_t MPU_xTaskGenericNotifyWaitEntry( const xTaskGenericNotifyWaitParams_t * pxParams ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL;
|
||||
|
||||
BaseType_t MPU_xTaskGenericNotifyWait( UBaseType_t uxIndexToWaitOn,
|
||||
uint32_t ulBitsToClearOnEntry,
|
||||
uint32_t ulBitsToClearOnExit,
|
||||
uint32_t * pulNotificationValue,
|
||||
TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
|
||||
BaseType_t MPU_xTaskGenericNotifyWaitEntry( const xTaskGenericNotifyWaitParams_t * pxParams ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
|
||||
{
|
||||
__asm volatile
|
||||
(
|
||||
|
|
@ -951,11 +856,8 @@
|
|||
" MPU_xTaskGenericNotifyWait_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xTaskGenericNotifyWaitImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER_1 ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xTaskGenericNotifyWait ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -987,11 +889,8 @@
|
|||
" MPU_ulTaskGenericNotifyTake_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_ulTaskGenericNotifyTakeImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_ulTaskGenericNotifyTake ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1021,11 +920,8 @@
|
|||
" MPU_xTaskGenericNotifyStateClear_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xTaskGenericNotifyStateClearImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xTaskGenericNotifyStateClear ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1057,11 +953,8 @@
|
|||
" MPU_ulTaskGenericNotifyValueClear_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_ulTaskGenericNotifyValueClearImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_ulTaskGenericNotifyValueClear ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1093,11 +986,8 @@
|
|||
" MPU_xQueueGenericSend_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xQueueGenericSendImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xQueueGenericSend ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -1121,11 +1011,8 @@
|
|||
" MPU_uxQueueMessagesWaiting_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_uxQueueMessagesWaitingImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_uxQueueMessagesWaiting ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -1149,11 +1036,8 @@
|
|||
" MPU_uxQueueSpacesAvailable_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_uxQueueSpacesAvailableImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_uxQueueSpacesAvailable ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -1181,11 +1065,8 @@
|
|||
" MPU_xQueueReceive_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xQueueReceiveImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xQueueReceive ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -1213,11 +1094,8 @@
|
|||
" MPU_xQueuePeek_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xQueuePeekImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xQueuePeek ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -1243,11 +1121,8 @@
|
|||
" MPU_xQueueSemaphoreTake_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xQueueSemaphoreTakeImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xQueueSemaphoreTake ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -1273,11 +1148,8 @@
|
|||
" MPU_xQueueGetMutexHolder_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xQueueGetMutexHolderImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xQueueGetMutexHolder ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1307,11 +1179,8 @@
|
|||
" MPU_xQueueTakeMutexRecursive_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xQueueTakeMutexRecursiveImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xQueueTakeMutexRecursive ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1339,11 +1208,8 @@
|
|||
" MPU_xQueueGiveMutexRecursive_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xQueueGiveMutexRecursiveImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xQueueGiveMutexRecursive ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1373,11 +1239,8 @@
|
|||
" MPU_xQueueSelectFromSet_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xQueueSelectFromSetImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xQueueSelectFromSet ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1407,11 +1270,8 @@
|
|||
" MPU_xQueueAddToSet_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xQueueAddToSetImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xQueueAddToSet ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1441,11 +1301,8 @@
|
|||
" MPU_vQueueAddToRegistry_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_vQueueAddToRegistryImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_vQueueAddToRegistry ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1473,11 +1330,8 @@
|
|||
" MPU_vQueueUnregisterQueue_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_vQueueUnregisterQueueImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_vQueueUnregisterQueue ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1505,11 +1359,8 @@
|
|||
" MPU_pcQueueGetName_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_pcQueueGetNameImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_pcQueueGetName ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1537,11 +1388,8 @@
|
|||
" MPU_pvTimerGetTimerID_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_pvTimerGetTimerIDImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_pvTimerGetTimerID ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1571,11 +1419,8 @@
|
|||
" MPU_vTimerSetTimerID_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_vTimerSetTimerIDImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_vTimerSetTimerID ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1603,11 +1448,8 @@
|
|||
" MPU_xTimerIsTimerActive_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xTimerIsTimerActiveImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xTimerIsTimerActive ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1635,11 +1477,8 @@
|
|||
" MPU_xTimerGetTimerDaemonTaskHandle_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xTimerGetTimerDaemonTaskHandleImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xTimerGetTimerDaemonTaskHandle ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1648,17 +1487,9 @@
|
|||
|
||||
#if ( configUSE_TIMERS == 1 )
|
||||
|
||||
BaseType_t MPU_xTimerGenericCommandFromTask( TimerHandle_t xTimer,
|
||||
const BaseType_t xCommandID,
|
||||
const TickType_t xOptionalValue,
|
||||
BaseType_t * const pxHigherPriorityTaskWoken,
|
||||
const TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL;
|
||||
BaseType_t MPU_xTimerGenericCommandFromTaskEntry( const xTimerGenericCommandFromTaskParams_t * pxParams ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL;
|
||||
|
||||
BaseType_t MPU_xTimerGenericCommandFromTask( TimerHandle_t xTimer,
|
||||
const BaseType_t xCommandID,
|
||||
const TickType_t xOptionalValue,
|
||||
BaseType_t * const pxHigherPriorityTaskWoken,
|
||||
const TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
|
||||
BaseType_t MPU_xTimerGenericCommandFromTaskEntry( const xTimerGenericCommandFromTaskParams_t * pxParams ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
|
||||
{
|
||||
__asm volatile
|
||||
(
|
||||
|
|
@ -1675,11 +1506,8 @@
|
|||
" MPU_xTimerGenericCommandFromTask_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xTimerGenericCommandFromTaskImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER_1 ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xTimerGenericCommandFromTask ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1707,11 +1535,8 @@
|
|||
" MPU_pcTimerGetName_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_pcTimerGetNameImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_pcTimerGetName ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1741,11 +1566,8 @@
|
|||
" MPU_vTimerSetReloadMode_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_vTimerSetReloadModeImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_vTimerSetReloadMode ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1773,11 +1595,8 @@
|
|||
" MPU_xTimerGetReloadMode_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xTimerGetReloadModeImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xTimerGetReloadMode ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1805,11 +1624,8 @@
|
|||
" MPU_uxTimerGetReloadMode_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_uxTimerGetReloadModeImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_uxTimerGetReloadMode ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1837,11 +1653,8 @@
|
|||
" MPU_xTimerGetPeriod_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xTimerGetPeriodImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xTimerGetPeriod ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1869,28 +1682,17 @@
|
|||
" MPU_xTimerGetExpiryTime_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xTimerGetExpiryTimeImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xTimerGetExpiryTime ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
#endif /* if ( configUSE_TIMERS == 1 ) */
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
EventBits_t MPU_xEventGroupWaitBits( EventGroupHandle_t xEventGroup,
|
||||
const EventBits_t uxBitsToWaitFor,
|
||||
const BaseType_t xClearOnExit,
|
||||
const BaseType_t xWaitForAllBits,
|
||||
TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL;
|
||||
EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL;
|
||||
|
||||
EventBits_t MPU_xEventGroupWaitBits( EventGroupHandle_t xEventGroup,
|
||||
const EventBits_t uxBitsToWaitFor,
|
||||
const BaseType_t xClearOnExit,
|
||||
const BaseType_t xWaitForAllBits,
|
||||
TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
|
||||
EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
|
||||
{
|
||||
__asm volatile
|
||||
(
|
||||
|
|
@ -1907,11 +1709,8 @@
|
|||
" MPU_xEventGroupWaitBits_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xEventGroupWaitBitsImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER_1 ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xEventGroupWaitBits ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -1937,11 +1736,8 @@
|
|||
" MPU_xEventGroupClearBits_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xEventGroupClearBitsImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xEventGroupClearBits ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -1967,11 +1763,8 @@
|
|||
" MPU_xEventGroupSetBits_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xEventGroupSetBitsImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xEventGroupSetBits ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -2001,11 +1794,8 @@
|
|||
" MPU_xEventGroupSync_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xEventGroupSyncImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xEventGroupSync ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -2031,11 +1821,8 @@
|
|||
" MPU_uxEventGroupGetNumber_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_uxEventGroupGetNumberImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_uxEventGroupGetNumber ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -2065,11 +1852,8 @@
|
|||
" MPU_vEventGroupSetNumber_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_vEventGroupSetNumberImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_vEventGroupSetNumber ) : "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -2101,11 +1885,8 @@
|
|||
" MPU_xStreamBufferSend_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xStreamBufferSendImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xStreamBufferSend ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -2135,11 +1916,8 @@
|
|||
" MPU_xStreamBufferReceive_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xStreamBufferReceiveImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xStreamBufferReceive ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -2163,11 +1941,8 @@
|
|||
" MPU_xStreamBufferIsFull_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xStreamBufferIsFullImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xStreamBufferIsFull ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -2191,11 +1966,8 @@
|
|||
" MPU_xStreamBufferIsEmpty_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xStreamBufferIsEmptyImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xStreamBufferIsEmpty ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -2219,11 +1991,8 @@
|
|||
" MPU_xStreamBufferSpacesAvailable_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xStreamBufferSpacesAvailableImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xStreamBufferSpacesAvailable ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -2247,11 +2016,8 @@
|
|||
" MPU_xStreamBufferBytesAvailable_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xStreamBufferBytesAvailableImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xStreamBufferBytesAvailable ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -2277,11 +2043,8 @@
|
|||
" MPU_xStreamBufferSetTriggerLevel_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xStreamBufferSetTriggerLevelImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xStreamBufferSetTriggerLevel ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
@ -2305,11 +2068,8 @@
|
|||
" MPU_xStreamBufferNextMessageLengthBytes_Unpriv: \n"
|
||||
" pop {r0} \n"
|
||||
" svc %0 \n"
|
||||
" bl MPU_xStreamBufferNextMessageLengthBytesImpl \n"
|
||||
" svc %1 \n"
|
||||
" bx lr \n"
|
||||
" \n"
|
||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
||||
: : "i" ( SYSTEM_CALL_xStreamBufferNextMessageLengthBytes ) : "memory"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
|
|||
|
|
@ -36,6 +36,9 @@
|
|||
/* Portasm includes. */
|
||||
#include "portasm.h"
|
||||
|
||||
/* System call numbers includes. */
|
||||
#include "mpu_syscall_numbers.h"
|
||||
|
||||
/* MPU_WRAPPERS_INCLUDED_FROM_API_FILE is needed to be defined only for the
|
||||
* header files. */
|
||||
#undef MPU_WRAPPERS_INCLUDED_FROM_API_FILE
|
||||
|
|
@ -443,7 +446,6 @@ void vClearInterruptMask( __attribute__( ( unused ) ) uint32_t ulMask ) /* __att
|
|||
".syntax unified \n"
|
||||
".extern vPortSVCHandler_C \n"
|
||||
".extern vSystemCallEnter \n"
|
||||
".extern vSystemCallEnter_1 \n"
|
||||
".extern vSystemCallExit \n"
|
||||
" \n"
|
||||
"tst lr, #4 \n"
|
||||
|
|
@ -454,10 +456,8 @@ void vClearInterruptMask( __attribute__( ( unused ) ) uint32_t ulMask ) /* __att
|
|||
"ldr r1, [r0, #24] \n"
|
||||
"ldrb r2, [r1, #-2] \n"
|
||||
"cmp r2, %0 \n"
|
||||
"beq syscall_enter \n"
|
||||
"blt syscall_enter \n"
|
||||
"cmp r2, %1 \n"
|
||||
"beq syscall_enter_1 \n"
|
||||
"cmp r2, %2 \n"
|
||||
"beq syscall_exit \n"
|
||||
"b vPortSVCHandler_C \n"
|
||||
" \n"
|
||||
|
|
@ -465,16 +465,12 @@ void vClearInterruptMask( __attribute__( ( unused ) ) uint32_t ulMask ) /* __att
|
|||
" mov r1, lr \n"
|
||||
" b vSystemCallEnter \n"
|
||||
" \n"
|
||||
"syscall_enter_1: \n"
|
||||
" mov r1, lr \n"
|
||||
" b vSystemCallEnter_1 \n"
|
||||
" \n"
|
||||
"syscall_exit: \n"
|
||||
" mov r1, lr \n"
|
||||
" b vSystemCallExit \n"
|
||||
" \n"
|
||||
: /* No outputs. */
|
||||
: "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_ENTER_1 ), "i" ( portSVC_SYSTEM_CALL_EXIT )
|
||||
: "i" ( NUM_SYSTEM_CALLS ), "i" ( portSVC_SYSTEM_CALL_EXIT )
|
||||
: "r0", "r1", "r2", "memory"
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -32,15 +32,12 @@
|
|||
/*-----------------------------------------------------------*/
|
||||
|
||||
#include "FreeRTOSConfig.h"
|
||||
#include "mpu_syscall_numbers.h"
|
||||
|
||||
#ifndef configUSE_MPU_WRAPPERS_V1
|
||||
#define configUSE_MPU_WRAPPERS_V1 0
|
||||
#endif
|
||||
|
||||
/* These must be in sync with portmacro.h. */
|
||||
#define portSVC_SYSTEM_CALL_ENTER 4 /* System calls with upto 4 parameters. */
|
||||
#define portSVC_SYSTEM_CALL_ENTER_1 5 /* System calls with 5 parameters. */
|
||||
#define portSVC_SYSTEM_CALL_EXIT 6
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) )
|
||||
|
|
@ -57,10 +54,7 @@ MPU_xTaskDelayUntil:
|
|||
b MPU_xTaskDelayUntilImpl
|
||||
MPU_xTaskDelayUntil_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xTaskDelayUntilImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xTaskDelayUntil
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xTaskAbortDelay
|
||||
|
|
@ -75,10 +69,7 @@ MPU_xTaskAbortDelay:
|
|||
b MPU_xTaskAbortDelayImpl
|
||||
MPU_xTaskAbortDelay_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xTaskAbortDelayImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xTaskAbortDelay
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_vTaskDelay
|
||||
|
|
@ -93,10 +84,7 @@ MPU_vTaskDelay:
|
|||
b MPU_vTaskDelayImpl
|
||||
MPU_vTaskDelay_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_vTaskDelayImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_vTaskDelay
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_uxTaskPriorityGet
|
||||
|
|
@ -111,10 +99,7 @@ MPU_uxTaskPriorityGet:
|
|||
b MPU_uxTaskPriorityGetImpl
|
||||
MPU_uxTaskPriorityGet_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_uxTaskPriorityGetImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_uxTaskPriorityGet
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_eTaskGetState
|
||||
|
|
@ -129,10 +114,7 @@ MPU_eTaskGetState:
|
|||
b MPU_eTaskGetStateImpl
|
||||
MPU_eTaskGetState_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_eTaskGetStateImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_eTaskGetState
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_vTaskGetInfo
|
||||
|
|
@ -147,10 +129,7 @@ MPU_vTaskGetInfo:
|
|||
b MPU_vTaskGetInfoImpl
|
||||
MPU_vTaskGetInfo_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_vTaskGetInfoImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_vTaskGetInfo
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xTaskGetIdleTaskHandle
|
||||
|
|
@ -165,10 +144,7 @@ MPU_xTaskGetIdleTaskHandle:
|
|||
b MPU_xTaskGetIdleTaskHandleImpl
|
||||
MPU_xTaskGetIdleTaskHandle_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xTaskGetIdleTaskHandleImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xTaskGetIdleTaskHandle
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_vTaskSuspend
|
||||
|
|
@ -183,10 +159,7 @@ MPU_vTaskSuspend:
|
|||
b MPU_vTaskSuspendImpl
|
||||
MPU_vTaskSuspend_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_vTaskSuspendImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_vTaskSuspend
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_vTaskResume
|
||||
|
|
@ -201,10 +174,7 @@ MPU_vTaskResume:
|
|||
b MPU_vTaskResumeImpl
|
||||
MPU_vTaskResume_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_vTaskResumeImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_vTaskResume
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xTaskGetTickCount
|
||||
|
|
@ -219,10 +189,7 @@ MPU_xTaskGetTickCount:
|
|||
b MPU_xTaskGetTickCountImpl
|
||||
MPU_xTaskGetTickCount_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xTaskGetTickCountImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xTaskGetTickCount
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_uxTaskGetNumberOfTasks
|
||||
|
|
@ -237,10 +204,7 @@ MPU_uxTaskGetNumberOfTasks:
|
|||
b MPU_uxTaskGetNumberOfTasksImpl
|
||||
MPU_uxTaskGetNumberOfTasks_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_uxTaskGetNumberOfTasksImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_uxTaskGetNumberOfTasks
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_ulTaskGetRunTimeCounter
|
||||
|
|
@ -255,10 +219,7 @@ MPU_ulTaskGetRunTimeCounter:
|
|||
b MPU_ulTaskGetRunTimeCounterImpl
|
||||
MPU_ulTaskGetRunTimeCounter_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_ulTaskGetRunTimeCounterImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_ulTaskGetRunTimeCounter
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_ulTaskGetRunTimePercent
|
||||
|
|
@ -273,10 +234,7 @@ MPU_ulTaskGetRunTimePercent:
|
|||
b MPU_ulTaskGetRunTimePercentImpl
|
||||
MPU_ulTaskGetRunTimePercent_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_ulTaskGetRunTimePercentImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_ulTaskGetRunTimePercent
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_ulTaskGetIdleRunTimePercent
|
||||
|
|
@ -291,10 +249,7 @@ MPU_ulTaskGetIdleRunTimePercent:
|
|||
b MPU_ulTaskGetIdleRunTimePercentImpl
|
||||
MPU_ulTaskGetIdleRunTimePercent_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_ulTaskGetIdleRunTimePercentImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_ulTaskGetIdleRunTimePercent
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_ulTaskGetIdleRunTimeCounter
|
||||
|
|
@ -309,10 +264,7 @@ MPU_ulTaskGetIdleRunTimeCounter:
|
|||
b MPU_ulTaskGetIdleRunTimeCounterImpl
|
||||
MPU_ulTaskGetIdleRunTimeCounter_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_ulTaskGetIdleRunTimeCounterImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_ulTaskGetIdleRunTimeCounter
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_vTaskSetApplicationTaskTag
|
||||
|
|
@ -327,10 +279,7 @@ MPU_vTaskSetApplicationTaskTag:
|
|||
b MPU_vTaskSetApplicationTaskTagImpl
|
||||
MPU_vTaskSetApplicationTaskTag_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_vTaskSetApplicationTaskTagImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_vTaskSetApplicationTaskTag
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xTaskGetApplicationTaskTag
|
||||
|
|
@ -345,10 +294,7 @@ MPU_xTaskGetApplicationTaskTag:
|
|||
b MPU_xTaskGetApplicationTaskTagImpl
|
||||
MPU_xTaskGetApplicationTaskTag_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xTaskGetApplicationTaskTagImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xTaskGetApplicationTaskTag
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_vTaskSetThreadLocalStoragePointer
|
||||
|
|
@ -363,10 +309,7 @@ MPU_vTaskSetThreadLocalStoragePointer:
|
|||
b MPU_vTaskSetThreadLocalStoragePointerImpl
|
||||
MPU_vTaskSetThreadLocalStoragePointer_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_vTaskSetThreadLocalStoragePointerImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_vTaskSetThreadLocalStoragePointer
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_pvTaskGetThreadLocalStoragePointer
|
||||
|
|
@ -381,10 +324,7 @@ MPU_pvTaskGetThreadLocalStoragePointer:
|
|||
b MPU_pvTaskGetThreadLocalStoragePointerImpl
|
||||
MPU_pvTaskGetThreadLocalStoragePointer_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_pvTaskGetThreadLocalStoragePointerImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_pvTaskGetThreadLocalStoragePointer
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_uxTaskGetSystemState
|
||||
|
|
@ -399,10 +339,7 @@ MPU_uxTaskGetSystemState:
|
|||
b MPU_uxTaskGetSystemStateImpl
|
||||
MPU_uxTaskGetSystemState_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_uxTaskGetSystemStateImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_uxTaskGetSystemState
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_uxTaskGetStackHighWaterMark
|
||||
|
|
@ -417,10 +354,7 @@ MPU_uxTaskGetStackHighWaterMark:
|
|||
b MPU_uxTaskGetStackHighWaterMarkImpl
|
||||
MPU_uxTaskGetStackHighWaterMark_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_uxTaskGetStackHighWaterMarkImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_uxTaskGetStackHighWaterMark
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_uxTaskGetStackHighWaterMark2
|
||||
|
|
@ -435,10 +369,7 @@ MPU_uxTaskGetStackHighWaterMark2:
|
|||
b MPU_uxTaskGetStackHighWaterMark2Impl
|
||||
MPU_uxTaskGetStackHighWaterMark2_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_uxTaskGetStackHighWaterMark2Impl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_uxTaskGetStackHighWaterMark2
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xTaskGetCurrentTaskHandle
|
||||
|
|
@ -453,10 +384,7 @@ MPU_xTaskGetCurrentTaskHandle:
|
|||
b MPU_xTaskGetCurrentTaskHandleImpl
|
||||
MPU_xTaskGetCurrentTaskHandle_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xTaskGetCurrentTaskHandleImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xTaskGetCurrentTaskHandle
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xTaskGetSchedulerState
|
||||
|
|
@ -471,10 +399,7 @@ MPU_xTaskGetSchedulerState:
|
|||
b MPU_xTaskGetSchedulerStateImpl
|
||||
MPU_xTaskGetSchedulerState_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xTaskGetSchedulerStateImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xTaskGetSchedulerState
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_vTaskSetTimeOutState
|
||||
|
|
@ -489,10 +414,7 @@ MPU_vTaskSetTimeOutState:
|
|||
b MPU_vTaskSetTimeOutStateImpl
|
||||
MPU_vTaskSetTimeOutState_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_vTaskSetTimeOutStateImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_vTaskSetTimeOutState
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xTaskCheckForTimeOut
|
||||
|
|
@ -507,14 +429,11 @@ MPU_xTaskCheckForTimeOut:
|
|||
b MPU_xTaskCheckForTimeOutImpl
|
||||
MPU_xTaskCheckForTimeOut_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xTaskCheckForTimeOutImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xTaskCheckForTimeOut
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xTaskGenericNotify
|
||||
MPU_xTaskGenericNotify:
|
||||
PUBLIC MPU_xTaskGenericNotifyEntry
|
||||
MPU_xTaskGenericNotifyEntry:
|
||||
push {r0, r1}
|
||||
mrs r0, control
|
||||
movs r1, #1
|
||||
|
|
@ -525,14 +444,11 @@ MPU_xTaskGenericNotify:
|
|||
b MPU_xTaskGenericNotifyImpl
|
||||
MPU_xTaskGenericNotify_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER_1
|
||||
bl MPU_xTaskGenericNotifyImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xTaskGenericNotify
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xTaskGenericNotifyWait
|
||||
MPU_xTaskGenericNotifyWait:
|
||||
PUBLIC MPU_xTaskGenericNotifyWaitEntry
|
||||
MPU_xTaskGenericNotifyWaitEntry:
|
||||
push {r0, r1}
|
||||
mrs r0, control
|
||||
movs r1, #1
|
||||
|
|
@ -543,10 +459,7 @@ MPU_xTaskGenericNotifyWait:
|
|||
b MPU_xTaskGenericNotifyWaitImpl
|
||||
MPU_xTaskGenericNotifyWait_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER_1
|
||||
bl MPU_xTaskGenericNotifyWaitImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xTaskGenericNotifyWait
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_ulTaskGenericNotifyTake
|
||||
|
|
@ -561,10 +474,7 @@ MPU_ulTaskGenericNotifyTake:
|
|||
b MPU_ulTaskGenericNotifyTakeImpl
|
||||
MPU_ulTaskGenericNotifyTake_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_ulTaskGenericNotifyTakeImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_ulTaskGenericNotifyTake
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xTaskGenericNotifyStateClear
|
||||
|
|
@ -579,10 +489,7 @@ MPU_xTaskGenericNotifyStateClear:
|
|||
b MPU_xTaskGenericNotifyStateClearImpl
|
||||
MPU_xTaskGenericNotifyStateClear_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xTaskGenericNotifyStateClearImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xTaskGenericNotifyStateClear
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_ulTaskGenericNotifyValueClear
|
||||
|
|
@ -597,10 +504,7 @@ MPU_ulTaskGenericNotifyValueClear:
|
|||
b MPU_ulTaskGenericNotifyValueClearImpl
|
||||
MPU_ulTaskGenericNotifyValueClear_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_ulTaskGenericNotifyValueClearImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_ulTaskGenericNotifyValueClear
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xQueueGenericSend
|
||||
|
|
@ -615,10 +519,7 @@ MPU_xQueueGenericSend:
|
|||
b MPU_xQueueGenericSendImpl
|
||||
MPU_xQueueGenericSend_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xQueueGenericSendImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xQueueGenericSend
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_uxQueueMessagesWaiting
|
||||
|
|
@ -633,10 +534,7 @@ MPU_uxQueueMessagesWaiting:
|
|||
b MPU_uxQueueMessagesWaitingImpl
|
||||
MPU_uxQueueMessagesWaiting_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_uxQueueMessagesWaitingImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_uxQueueMessagesWaiting
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_uxQueueSpacesAvailable
|
||||
|
|
@ -651,10 +549,7 @@ MPU_uxQueueSpacesAvailable:
|
|||
b MPU_uxQueueSpacesAvailableImpl
|
||||
MPU_uxQueueSpacesAvailable_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_uxQueueSpacesAvailableImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_uxQueueSpacesAvailable
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xQueueReceive
|
||||
|
|
@ -669,10 +564,7 @@ MPU_xQueueReceive:
|
|||
b MPU_xQueueReceiveImpl
|
||||
MPU_xQueueReceive_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xQueueReceiveImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xQueueReceive
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xQueuePeek
|
||||
|
|
@ -687,10 +579,7 @@ MPU_xQueuePeek:
|
|||
b MPU_xQueuePeekImpl
|
||||
MPU_xQueuePeek_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xQueuePeekImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xQueuePeek
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xQueueSemaphoreTake
|
||||
|
|
@ -705,10 +594,7 @@ MPU_xQueueSemaphoreTake:
|
|||
b MPU_xQueueSemaphoreTakeImpl
|
||||
MPU_xQueueSemaphoreTake_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xQueueSemaphoreTakeImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xQueueSemaphoreTake
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xQueueGetMutexHolder
|
||||
|
|
@ -723,10 +609,7 @@ MPU_xQueueGetMutexHolder:
|
|||
b MPU_xQueueGetMutexHolderImpl
|
||||
MPU_xQueueGetMutexHolder_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xQueueGetMutexHolderImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xQueueGetMutexHolder
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xQueueTakeMutexRecursive
|
||||
|
|
@ -741,10 +624,7 @@ MPU_xQueueTakeMutexRecursive:
|
|||
b MPU_xQueueTakeMutexRecursiveImpl
|
||||
MPU_xQueueTakeMutexRecursive_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xQueueTakeMutexRecursiveImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xQueueTakeMutexRecursive
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xQueueGiveMutexRecursive
|
||||
|
|
@ -759,10 +639,7 @@ MPU_xQueueGiveMutexRecursive:
|
|||
b MPU_xQueueGiveMutexRecursiveImpl
|
||||
MPU_xQueueGiveMutexRecursive_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xQueueGiveMutexRecursiveImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xQueueGiveMutexRecursive
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xQueueSelectFromSet
|
||||
|
|
@ -777,10 +654,7 @@ MPU_xQueueSelectFromSet:
|
|||
b MPU_xQueueSelectFromSetImpl
|
||||
MPU_xQueueSelectFromSet_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xQueueSelectFromSetImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xQueueSelectFromSet
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xQueueAddToSet
|
||||
|
|
@ -795,10 +669,7 @@ MPU_xQueueAddToSet:
|
|||
b MPU_xQueueAddToSetImpl
|
||||
MPU_xQueueAddToSet_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xQueueAddToSetImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xQueueAddToSet
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_vQueueAddToRegistry
|
||||
|
|
@ -813,10 +684,7 @@ MPU_vQueueAddToRegistry:
|
|||
b MPU_vQueueAddToRegistryImpl
|
||||
MPU_vQueueAddToRegistry_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_vQueueAddToRegistryImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_vQueueAddToRegistry
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_vQueueUnregisterQueue
|
||||
|
|
@ -831,10 +699,7 @@ MPU_vQueueUnregisterQueue:
|
|||
b MPU_vQueueUnregisterQueueImpl
|
||||
MPU_vQueueUnregisterQueue_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_vQueueUnregisterQueueImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_vQueueUnregisterQueue
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_pcQueueGetName
|
||||
|
|
@ -849,10 +714,7 @@ MPU_pcQueueGetName:
|
|||
b MPU_pcQueueGetNameImpl
|
||||
MPU_pcQueueGetName_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_pcQueueGetNameImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_pcQueueGetName
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_pvTimerGetTimerID
|
||||
|
|
@ -867,10 +729,7 @@ MPU_pvTimerGetTimerID:
|
|||
b MPU_pvTimerGetTimerIDImpl
|
||||
MPU_pvTimerGetTimerID_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_pvTimerGetTimerIDImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_pvTimerGetTimerID
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_vTimerSetTimerID
|
||||
|
|
@ -885,10 +744,7 @@ MPU_vTimerSetTimerID:
|
|||
b MPU_vTimerSetTimerIDImpl
|
||||
MPU_vTimerSetTimerID_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_vTimerSetTimerIDImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_vTimerSetTimerID
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xTimerIsTimerActive
|
||||
|
|
@ -903,10 +759,7 @@ MPU_xTimerIsTimerActive:
|
|||
b MPU_xTimerIsTimerActiveImpl
|
||||
MPU_xTimerIsTimerActive_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xTimerIsTimerActiveImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xTimerIsTimerActive
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xTimerGetTimerDaemonTaskHandle
|
||||
|
|
@ -921,14 +774,11 @@ MPU_xTimerGetTimerDaemonTaskHandle:
|
|||
b MPU_xTimerGetTimerDaemonTaskHandleImpl
|
||||
MPU_xTimerGetTimerDaemonTaskHandle_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xTimerGetTimerDaemonTaskHandleImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xTimerGetTimerDaemonTaskHandle
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xTimerGenericCommandFromTask
|
||||
MPU_xTimerGenericCommandFromTask:
|
||||
PUBLIC MPU_xTimerGenericCommandFromTaskEntry
|
||||
MPU_xTimerGenericCommandFromTaskEntry:
|
||||
push {r0, r1}
|
||||
mrs r0, control
|
||||
movs r1, #1
|
||||
|
|
@ -939,10 +789,7 @@ MPU_xTimerGenericCommandFromTask:
|
|||
b MPU_xTimerGenericCommandFromTaskImpl
|
||||
MPU_xTimerGenericCommandFromTask_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER_1
|
||||
bl MPU_xTimerGenericCommandFromTaskImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xTimerGenericCommandFromTask
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_pcTimerGetName
|
||||
|
|
@ -957,10 +804,7 @@ MPU_pcTimerGetName:
|
|||
b MPU_pcTimerGetNameImpl
|
||||
MPU_pcTimerGetName_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_pcTimerGetNameImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_pcTimerGetName
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_vTimerSetReloadMode
|
||||
|
|
@ -975,10 +819,7 @@ MPU_vTimerSetReloadMode:
|
|||
b MPU_vTimerSetReloadModeImpl
|
||||
MPU_vTimerSetReloadMode_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_vTimerSetReloadModeImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_vTimerSetReloadMode
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xTimerGetReloadMode
|
||||
|
|
@ -993,10 +834,7 @@ MPU_xTimerGetReloadMode:
|
|||
b MPU_xTimerGetReloadModeImpl
|
||||
MPU_xTimerGetReloadMode_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xTimerGetReloadModeImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xTimerGetReloadMode
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_uxTimerGetReloadMode
|
||||
|
|
@ -1011,10 +849,7 @@ MPU_uxTimerGetReloadMode:
|
|||
b MPU_uxTimerGetReloadModeImpl
|
||||
MPU_uxTimerGetReloadMode_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_uxTimerGetReloadModeImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_uxTimerGetReloadMode
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xTimerGetPeriod
|
||||
|
|
@ -1029,10 +864,7 @@ MPU_xTimerGetPeriod:
|
|||
b MPU_xTimerGetPeriodImpl
|
||||
MPU_xTimerGetPeriod_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xTimerGetPeriodImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xTimerGetPeriod
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xTimerGetExpiryTime
|
||||
|
|
@ -1047,14 +879,11 @@ MPU_xTimerGetExpiryTime:
|
|||
b MPU_xTimerGetExpiryTimeImpl
|
||||
MPU_xTimerGetExpiryTime_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xTimerGetExpiryTimeImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xTimerGetExpiryTime
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xEventGroupWaitBits
|
||||
MPU_xEventGroupWaitBits:
|
||||
PUBLIC MPU_xEventGroupWaitBitsEntry
|
||||
MPU_xEventGroupWaitBitsEntry:
|
||||
push {r0, r1}
|
||||
mrs r0, control
|
||||
movs r1, #1
|
||||
|
|
@ -1065,10 +894,7 @@ MPU_xEventGroupWaitBits:
|
|||
b MPU_xEventGroupWaitBitsImpl
|
||||
MPU_xEventGroupWaitBits_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER_1
|
||||
bl MPU_xEventGroupWaitBitsImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xEventGroupWaitBits
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xEventGroupClearBits
|
||||
|
|
@ -1083,10 +909,7 @@ MPU_xEventGroupClearBits:
|
|||
b MPU_xEventGroupClearBitsImpl
|
||||
MPU_xEventGroupClearBits_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xEventGroupClearBitsImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xEventGroupClearBits
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xEventGroupSetBits
|
||||
|
|
@ -1101,10 +924,7 @@ MPU_xEventGroupSetBits:
|
|||
b MPU_xEventGroupSetBitsImpl
|
||||
MPU_xEventGroupSetBits_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xEventGroupSetBitsImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xEventGroupSetBits
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xEventGroupSync
|
||||
|
|
@ -1119,10 +939,7 @@ MPU_xEventGroupSync:
|
|||
b MPU_xEventGroupSyncImpl
|
||||
MPU_xEventGroupSync_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xEventGroupSyncImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xEventGroupSync
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_uxEventGroupGetNumber
|
||||
|
|
@ -1137,10 +954,7 @@ MPU_uxEventGroupGetNumber:
|
|||
b MPU_uxEventGroupGetNumberImpl
|
||||
MPU_uxEventGroupGetNumber_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_uxEventGroupGetNumberImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_uxEventGroupGetNumber
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_vEventGroupSetNumber
|
||||
|
|
@ -1155,10 +969,7 @@ MPU_vEventGroupSetNumber:
|
|||
b MPU_vEventGroupSetNumberImpl
|
||||
MPU_vEventGroupSetNumber_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_vEventGroupSetNumberImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_vEventGroupSetNumber
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xStreamBufferSend
|
||||
|
|
@ -1173,10 +984,7 @@ MPU_xStreamBufferSend:
|
|||
b MPU_xStreamBufferSendImpl
|
||||
MPU_xStreamBufferSend_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xStreamBufferSendImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xStreamBufferSend
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xStreamBufferReceive
|
||||
|
|
@ -1191,10 +999,7 @@ MPU_xStreamBufferReceive:
|
|||
b MPU_xStreamBufferReceiveImpl
|
||||
MPU_xStreamBufferReceive_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xStreamBufferReceiveImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xStreamBufferReceive
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xStreamBufferIsFull
|
||||
|
|
@ -1209,10 +1014,7 @@ MPU_xStreamBufferIsFull:
|
|||
b MPU_xStreamBufferIsFullImpl
|
||||
MPU_xStreamBufferIsFull_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xStreamBufferIsFullImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xStreamBufferIsFull
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xStreamBufferIsEmpty
|
||||
|
|
@ -1227,10 +1029,7 @@ MPU_xStreamBufferIsEmpty:
|
|||
b MPU_xStreamBufferIsEmptyImpl
|
||||
MPU_xStreamBufferIsEmpty_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xStreamBufferIsEmptyImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xStreamBufferIsEmpty
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xStreamBufferSpacesAvailable
|
||||
|
|
@ -1245,10 +1044,7 @@ MPU_xStreamBufferSpacesAvailable:
|
|||
b MPU_xStreamBufferSpacesAvailableImpl
|
||||
MPU_xStreamBufferSpacesAvailable_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xStreamBufferSpacesAvailableImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xStreamBufferSpacesAvailable
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xStreamBufferBytesAvailable
|
||||
|
|
@ -1263,10 +1059,7 @@ MPU_xStreamBufferBytesAvailable:
|
|||
b MPU_xStreamBufferBytesAvailableImpl
|
||||
MPU_xStreamBufferBytesAvailable_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xStreamBufferBytesAvailableImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xStreamBufferBytesAvailable
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xStreamBufferSetTriggerLevel
|
||||
|
|
@ -1281,10 +1074,7 @@ MPU_xStreamBufferSetTriggerLevel:
|
|||
b MPU_xStreamBufferSetTriggerLevelImpl
|
||||
MPU_xStreamBufferSetTriggerLevel_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xStreamBufferSetTriggerLevelImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xStreamBufferSetTriggerLevel
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xStreamBufferNextMessageLengthBytes
|
||||
|
|
@ -1299,10 +1089,7 @@ MPU_xStreamBufferNextMessageLengthBytes:
|
|||
b MPU_xStreamBufferNextMessageLengthBytesImpl
|
||||
MPU_xStreamBufferNextMessageLengthBytes_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xStreamBufferNextMessageLengthBytesImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xStreamBufferNextMessageLengthBytes
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
/* Default weak implementations in case one is not available from
|
||||
|
|
|
|||
|
|
@ -33,6 +33,9 @@ the code is included in C files but excluded by the preprocessor in assembly
|
|||
files (__ICCARM__ is defined by the IAR C compiler but not by the IAR assembler. */
|
||||
#include "FreeRTOSConfig.h"
|
||||
|
||||
/* System call numbers includes. */
|
||||
#include "mpu_syscall_numbers.h"
|
||||
|
||||
#ifndef configUSE_MPU_WRAPPERS_V1
|
||||
#define configUSE_MPU_WRAPPERS_V1 0
|
||||
#endif
|
||||
|
|
@ -46,7 +49,6 @@ files (__ICCARM__ is defined by the IAR C compiler but not by the IAR assembler.
|
|||
EXTERN SecureContext_LoadContext
|
||||
#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) )
|
||||
EXTERN vSystemCallEnter
|
||||
EXTERN vSystemCallEnter_1
|
||||
EXTERN vSystemCallExit
|
||||
#endif
|
||||
|
||||
|
|
@ -96,7 +98,7 @@ vResetPrivilege:
|
|||
/*-----------------------------------------------------------*/
|
||||
|
||||
vPortAllocateSecureContext:
|
||||
svc 0 /* Secure context is allocated in the supervisor call. portSVC_ALLOCATE_SECURE_CONTEXT = 0. */
|
||||
svc 100 /* Secure context is allocated in the supervisor call. portSVC_ALLOCATE_SECURE_CONTEXT = 100. */
|
||||
bx lr /* Return. */
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
|
|
@ -229,7 +231,7 @@ vStartFirstTask:
|
|||
cpsie i /* Globally enable interrupts. */
|
||||
dsb
|
||||
isb
|
||||
svc 2 /* System call to start the first task. portSVC_START_SCHEDULER = 2. */
|
||||
svc 102 /* System call to start the first task. portSVC_START_SCHEDULER = 102. */
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
ulSetInterruptMask:
|
||||
|
|
@ -479,21 +481,17 @@ SVC_Handler:
|
|||
b route_svc
|
||||
|
||||
route_svc:
|
||||
ldr r2, [r0, #24]
|
||||
subs r2, #2
|
||||
ldrb r3, [r2, #0]
|
||||
cmp r3, #4 /* portSVC_SYSTEM_CALL_ENTER. */
|
||||
beq system_call_enter
|
||||
cmp r3, #5 /* portSVC_SYSTEM_CALL_ENTER_1. */
|
||||
beq system_call_enter_1
|
||||
cmp r3, #6 /* portSVC_SYSTEM_CALL_EXIT. */
|
||||
ldr r3, [r0, #24]
|
||||
subs r3, #2
|
||||
ldrb r2, [r3, #0]
|
||||
cmp r2, #NUM_SYSTEM_CALLS
|
||||
blt system_call_enter
|
||||
cmp r2, #104 /* portSVC_SYSTEM_CALL_EXIT. */
|
||||
beq system_call_exit
|
||||
b vPortSVCHandler_C
|
||||
|
||||
system_call_enter:
|
||||
b vSystemCallEnter
|
||||
system_call_enter_1:
|
||||
b vSystemCallEnter_1
|
||||
system_call_exit:
|
||||
b vSystemCallExit
|
||||
|
||||
|
|
@ -520,7 +518,7 @@ vPortFreeSecureContext:
|
|||
bne free_secure_context /* Branch if r1 != 0. */
|
||||
bx lr /* There is no secure context (xSecureContext is NULL). */
|
||||
free_secure_context:
|
||||
svc 1 /* Secure context is freed in the supervisor call. portSVC_FREE_SECURE_CONTEXT = 1. */
|
||||
svc 101 /* Secure context is freed in the supervisor call. portSVC_FREE_SECURE_CONTEXT = 101. */
|
||||
bx lr /* Return. */
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
|
|
|
|||
|
|
@ -32,15 +32,12 @@
|
|||
/*-----------------------------------------------------------*/
|
||||
|
||||
#include "FreeRTOSConfig.h"
|
||||
#include "mpu_syscall_numbers.h"
|
||||
|
||||
#ifndef configUSE_MPU_WRAPPERS_V1
|
||||
#define configUSE_MPU_WRAPPERS_V1 0
|
||||
#endif
|
||||
|
||||
/* These must be in sync with portmacro.h. */
|
||||
#define portSVC_SYSTEM_CALL_ENTER 4 /* System calls with upto 4 parameters. */
|
||||
#define portSVC_SYSTEM_CALL_ENTER_1 5 /* System calls with 5 parameters. */
|
||||
#define portSVC_SYSTEM_CALL_EXIT 6
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) )
|
||||
|
|
@ -57,10 +54,7 @@ MPU_xTaskDelayUntil:
|
|||
b MPU_xTaskDelayUntilImpl
|
||||
MPU_xTaskDelayUntil_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xTaskDelayUntilImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xTaskDelayUntil
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xTaskAbortDelay
|
||||
|
|
@ -75,10 +69,7 @@ MPU_xTaskAbortDelay:
|
|||
b MPU_xTaskAbortDelayImpl
|
||||
MPU_xTaskAbortDelay_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xTaskAbortDelayImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xTaskAbortDelay
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_vTaskDelay
|
||||
|
|
@ -93,10 +84,7 @@ MPU_vTaskDelay:
|
|||
b MPU_vTaskDelayImpl
|
||||
MPU_vTaskDelay_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_vTaskDelayImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_vTaskDelay
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_uxTaskPriorityGet
|
||||
|
|
@ -111,10 +99,7 @@ MPU_uxTaskPriorityGet:
|
|||
b MPU_uxTaskPriorityGetImpl
|
||||
MPU_uxTaskPriorityGet_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_uxTaskPriorityGetImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_uxTaskPriorityGet
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_eTaskGetState
|
||||
|
|
@ -129,10 +114,7 @@ MPU_eTaskGetState:
|
|||
b MPU_eTaskGetStateImpl
|
||||
MPU_eTaskGetState_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_eTaskGetStateImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_eTaskGetState
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_vTaskGetInfo
|
||||
|
|
@ -147,10 +129,7 @@ MPU_vTaskGetInfo:
|
|||
b MPU_vTaskGetInfoImpl
|
||||
MPU_vTaskGetInfo_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_vTaskGetInfoImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_vTaskGetInfo
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xTaskGetIdleTaskHandle
|
||||
|
|
@ -165,10 +144,7 @@ MPU_xTaskGetIdleTaskHandle:
|
|||
b MPU_xTaskGetIdleTaskHandleImpl
|
||||
MPU_xTaskGetIdleTaskHandle_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xTaskGetIdleTaskHandleImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xTaskGetIdleTaskHandle
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_vTaskSuspend
|
||||
|
|
@ -183,10 +159,7 @@ MPU_vTaskSuspend:
|
|||
b MPU_vTaskSuspendImpl
|
||||
MPU_vTaskSuspend_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_vTaskSuspendImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_vTaskSuspend
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_vTaskResume
|
||||
|
|
@ -201,10 +174,7 @@ MPU_vTaskResume:
|
|||
b MPU_vTaskResumeImpl
|
||||
MPU_vTaskResume_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_vTaskResumeImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_vTaskResume
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xTaskGetTickCount
|
||||
|
|
@ -219,10 +189,7 @@ MPU_xTaskGetTickCount:
|
|||
b MPU_xTaskGetTickCountImpl
|
||||
MPU_xTaskGetTickCount_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xTaskGetTickCountImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xTaskGetTickCount
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_uxTaskGetNumberOfTasks
|
||||
|
|
@ -237,10 +204,7 @@ MPU_uxTaskGetNumberOfTasks:
|
|||
b MPU_uxTaskGetNumberOfTasksImpl
|
||||
MPU_uxTaskGetNumberOfTasks_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_uxTaskGetNumberOfTasksImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_uxTaskGetNumberOfTasks
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_ulTaskGetRunTimeCounter
|
||||
|
|
@ -255,10 +219,7 @@ MPU_ulTaskGetRunTimeCounter:
|
|||
b MPU_ulTaskGetRunTimeCounterImpl
|
||||
MPU_ulTaskGetRunTimeCounter_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_ulTaskGetRunTimeCounterImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_ulTaskGetRunTimeCounter
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_ulTaskGetRunTimePercent
|
||||
|
|
@ -273,10 +234,7 @@ MPU_ulTaskGetRunTimePercent:
|
|||
b MPU_ulTaskGetRunTimePercentImpl
|
||||
MPU_ulTaskGetRunTimePercent_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_ulTaskGetRunTimePercentImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_ulTaskGetRunTimePercent
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_ulTaskGetIdleRunTimePercent
|
||||
|
|
@ -291,10 +249,7 @@ MPU_ulTaskGetIdleRunTimePercent:
|
|||
b MPU_ulTaskGetIdleRunTimePercentImpl
|
||||
MPU_ulTaskGetIdleRunTimePercent_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_ulTaskGetIdleRunTimePercentImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_ulTaskGetIdleRunTimePercent
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_ulTaskGetIdleRunTimeCounter
|
||||
|
|
@ -309,10 +264,7 @@ MPU_ulTaskGetIdleRunTimeCounter:
|
|||
b MPU_ulTaskGetIdleRunTimeCounterImpl
|
||||
MPU_ulTaskGetIdleRunTimeCounter_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_ulTaskGetIdleRunTimeCounterImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_ulTaskGetIdleRunTimeCounter
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_vTaskSetApplicationTaskTag
|
||||
|
|
@ -327,10 +279,7 @@ MPU_vTaskSetApplicationTaskTag:
|
|||
b MPU_vTaskSetApplicationTaskTagImpl
|
||||
MPU_vTaskSetApplicationTaskTag_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_vTaskSetApplicationTaskTagImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_vTaskSetApplicationTaskTag
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xTaskGetApplicationTaskTag
|
||||
|
|
@ -345,10 +294,7 @@ MPU_xTaskGetApplicationTaskTag:
|
|||
b MPU_xTaskGetApplicationTaskTagImpl
|
||||
MPU_xTaskGetApplicationTaskTag_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xTaskGetApplicationTaskTagImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xTaskGetApplicationTaskTag
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_vTaskSetThreadLocalStoragePointer
|
||||
|
|
@ -363,10 +309,7 @@ MPU_vTaskSetThreadLocalStoragePointer:
|
|||
b MPU_vTaskSetThreadLocalStoragePointerImpl
|
||||
MPU_vTaskSetThreadLocalStoragePointer_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_vTaskSetThreadLocalStoragePointerImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_vTaskSetThreadLocalStoragePointer
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_pvTaskGetThreadLocalStoragePointer
|
||||
|
|
@ -381,10 +324,7 @@ MPU_pvTaskGetThreadLocalStoragePointer:
|
|||
b MPU_pvTaskGetThreadLocalStoragePointerImpl
|
||||
MPU_pvTaskGetThreadLocalStoragePointer_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_pvTaskGetThreadLocalStoragePointerImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_pvTaskGetThreadLocalStoragePointer
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_uxTaskGetSystemState
|
||||
|
|
@ -399,10 +339,7 @@ MPU_uxTaskGetSystemState:
|
|||
b MPU_uxTaskGetSystemStateImpl
|
||||
MPU_uxTaskGetSystemState_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_uxTaskGetSystemStateImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_uxTaskGetSystemState
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_uxTaskGetStackHighWaterMark
|
||||
|
|
@ -417,10 +354,7 @@ MPU_uxTaskGetStackHighWaterMark:
|
|||
b MPU_uxTaskGetStackHighWaterMarkImpl
|
||||
MPU_uxTaskGetStackHighWaterMark_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_uxTaskGetStackHighWaterMarkImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_uxTaskGetStackHighWaterMark
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_uxTaskGetStackHighWaterMark2
|
||||
|
|
@ -435,10 +369,7 @@ MPU_uxTaskGetStackHighWaterMark2:
|
|||
b MPU_uxTaskGetStackHighWaterMark2Impl
|
||||
MPU_uxTaskGetStackHighWaterMark2_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_uxTaskGetStackHighWaterMark2Impl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_uxTaskGetStackHighWaterMark2
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xTaskGetCurrentTaskHandle
|
||||
|
|
@ -453,10 +384,7 @@ MPU_xTaskGetCurrentTaskHandle:
|
|||
b MPU_xTaskGetCurrentTaskHandleImpl
|
||||
MPU_xTaskGetCurrentTaskHandle_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xTaskGetCurrentTaskHandleImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xTaskGetCurrentTaskHandle
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xTaskGetSchedulerState
|
||||
|
|
@ -471,10 +399,7 @@ MPU_xTaskGetSchedulerState:
|
|||
b MPU_xTaskGetSchedulerStateImpl
|
||||
MPU_xTaskGetSchedulerState_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xTaskGetSchedulerStateImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xTaskGetSchedulerState
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_vTaskSetTimeOutState
|
||||
|
|
@ -489,10 +414,7 @@ MPU_vTaskSetTimeOutState:
|
|||
b MPU_vTaskSetTimeOutStateImpl
|
||||
MPU_vTaskSetTimeOutState_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_vTaskSetTimeOutStateImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_vTaskSetTimeOutState
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xTaskCheckForTimeOut
|
||||
|
|
@ -507,14 +429,11 @@ MPU_xTaskCheckForTimeOut:
|
|||
b MPU_xTaskCheckForTimeOutImpl
|
||||
MPU_xTaskCheckForTimeOut_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xTaskCheckForTimeOutImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xTaskCheckForTimeOut
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xTaskGenericNotify
|
||||
MPU_xTaskGenericNotify:
|
||||
PUBLIC MPU_xTaskGenericNotifyEntry
|
||||
MPU_xTaskGenericNotifyEntry:
|
||||
push {r0, r1}
|
||||
mrs r0, control
|
||||
movs r1, #1
|
||||
|
|
@ -525,14 +444,11 @@ MPU_xTaskGenericNotify:
|
|||
b MPU_xTaskGenericNotifyImpl
|
||||
MPU_xTaskGenericNotify_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER_1
|
||||
bl MPU_xTaskGenericNotifyImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xTaskGenericNotify
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xTaskGenericNotifyWait
|
||||
MPU_xTaskGenericNotifyWait:
|
||||
PUBLIC MPU_xTaskGenericNotifyWaitEntry
|
||||
MPU_xTaskGenericNotifyWaitEntry:
|
||||
push {r0, r1}
|
||||
mrs r0, control
|
||||
movs r1, #1
|
||||
|
|
@ -543,10 +459,7 @@ MPU_xTaskGenericNotifyWait:
|
|||
b MPU_xTaskGenericNotifyWaitImpl
|
||||
MPU_xTaskGenericNotifyWait_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER_1
|
||||
bl MPU_xTaskGenericNotifyWaitImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xTaskGenericNotifyWait
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_ulTaskGenericNotifyTake
|
||||
|
|
@ -561,10 +474,7 @@ MPU_ulTaskGenericNotifyTake:
|
|||
b MPU_ulTaskGenericNotifyTakeImpl
|
||||
MPU_ulTaskGenericNotifyTake_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_ulTaskGenericNotifyTakeImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_ulTaskGenericNotifyTake
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xTaskGenericNotifyStateClear
|
||||
|
|
@ -579,10 +489,7 @@ MPU_xTaskGenericNotifyStateClear:
|
|||
b MPU_xTaskGenericNotifyStateClearImpl
|
||||
MPU_xTaskGenericNotifyStateClear_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xTaskGenericNotifyStateClearImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xTaskGenericNotifyStateClear
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_ulTaskGenericNotifyValueClear
|
||||
|
|
@ -597,10 +504,7 @@ MPU_ulTaskGenericNotifyValueClear:
|
|||
b MPU_ulTaskGenericNotifyValueClearImpl
|
||||
MPU_ulTaskGenericNotifyValueClear_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_ulTaskGenericNotifyValueClearImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_ulTaskGenericNotifyValueClear
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xQueueGenericSend
|
||||
|
|
@ -615,10 +519,7 @@ MPU_xQueueGenericSend:
|
|||
b MPU_xQueueGenericSendImpl
|
||||
MPU_xQueueGenericSend_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xQueueGenericSendImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xQueueGenericSend
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_uxQueueMessagesWaiting
|
||||
|
|
@ -633,10 +534,7 @@ MPU_uxQueueMessagesWaiting:
|
|||
b MPU_uxQueueMessagesWaitingImpl
|
||||
MPU_uxQueueMessagesWaiting_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_uxQueueMessagesWaitingImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_uxQueueMessagesWaiting
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_uxQueueSpacesAvailable
|
||||
|
|
@ -651,10 +549,7 @@ MPU_uxQueueSpacesAvailable:
|
|||
b MPU_uxQueueSpacesAvailableImpl
|
||||
MPU_uxQueueSpacesAvailable_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_uxQueueSpacesAvailableImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_uxQueueSpacesAvailable
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xQueueReceive
|
||||
|
|
@ -669,10 +564,7 @@ MPU_xQueueReceive:
|
|||
b MPU_xQueueReceiveImpl
|
||||
MPU_xQueueReceive_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xQueueReceiveImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xQueueReceive
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xQueuePeek
|
||||
|
|
@ -687,10 +579,7 @@ MPU_xQueuePeek:
|
|||
b MPU_xQueuePeekImpl
|
||||
MPU_xQueuePeek_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xQueuePeekImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xQueuePeek
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xQueueSemaphoreTake
|
||||
|
|
@ -705,10 +594,7 @@ MPU_xQueueSemaphoreTake:
|
|||
b MPU_xQueueSemaphoreTakeImpl
|
||||
MPU_xQueueSemaphoreTake_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xQueueSemaphoreTakeImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xQueueSemaphoreTake
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xQueueGetMutexHolder
|
||||
|
|
@ -723,10 +609,7 @@ MPU_xQueueGetMutexHolder:
|
|||
b MPU_xQueueGetMutexHolderImpl
|
||||
MPU_xQueueGetMutexHolder_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xQueueGetMutexHolderImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xQueueGetMutexHolder
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xQueueTakeMutexRecursive
|
||||
|
|
@ -741,10 +624,7 @@ MPU_xQueueTakeMutexRecursive:
|
|||
b MPU_xQueueTakeMutexRecursiveImpl
|
||||
MPU_xQueueTakeMutexRecursive_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xQueueTakeMutexRecursiveImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xQueueTakeMutexRecursive
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xQueueGiveMutexRecursive
|
||||
|
|
@ -759,10 +639,7 @@ MPU_xQueueGiveMutexRecursive:
|
|||
b MPU_xQueueGiveMutexRecursiveImpl
|
||||
MPU_xQueueGiveMutexRecursive_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xQueueGiveMutexRecursiveImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xQueueGiveMutexRecursive
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xQueueSelectFromSet
|
||||
|
|
@ -777,10 +654,7 @@ MPU_xQueueSelectFromSet:
|
|||
b MPU_xQueueSelectFromSetImpl
|
||||
MPU_xQueueSelectFromSet_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xQueueSelectFromSetImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xQueueSelectFromSet
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xQueueAddToSet
|
||||
|
|
@ -795,10 +669,7 @@ MPU_xQueueAddToSet:
|
|||
b MPU_xQueueAddToSetImpl
|
||||
MPU_xQueueAddToSet_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xQueueAddToSetImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xQueueAddToSet
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_vQueueAddToRegistry
|
||||
|
|
@ -813,10 +684,7 @@ MPU_vQueueAddToRegistry:
|
|||
b MPU_vQueueAddToRegistryImpl
|
||||
MPU_vQueueAddToRegistry_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_vQueueAddToRegistryImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_vQueueAddToRegistry
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_vQueueUnregisterQueue
|
||||
|
|
@ -831,10 +699,7 @@ MPU_vQueueUnregisterQueue:
|
|||
b MPU_vQueueUnregisterQueueImpl
|
||||
MPU_vQueueUnregisterQueue_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_vQueueUnregisterQueueImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_vQueueUnregisterQueue
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_pcQueueGetName
|
||||
|
|
@ -849,10 +714,7 @@ MPU_pcQueueGetName:
|
|||
b MPU_pcQueueGetNameImpl
|
||||
MPU_pcQueueGetName_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_pcQueueGetNameImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_pcQueueGetName
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_pvTimerGetTimerID
|
||||
|
|
@ -867,10 +729,7 @@ MPU_pvTimerGetTimerID:
|
|||
b MPU_pvTimerGetTimerIDImpl
|
||||
MPU_pvTimerGetTimerID_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_pvTimerGetTimerIDImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_pvTimerGetTimerID
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_vTimerSetTimerID
|
||||
|
|
@ -885,10 +744,7 @@ MPU_vTimerSetTimerID:
|
|||
b MPU_vTimerSetTimerIDImpl
|
||||
MPU_vTimerSetTimerID_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_vTimerSetTimerIDImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_vTimerSetTimerID
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xTimerIsTimerActive
|
||||
|
|
@ -903,10 +759,7 @@ MPU_xTimerIsTimerActive:
|
|||
b MPU_xTimerIsTimerActiveImpl
|
||||
MPU_xTimerIsTimerActive_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xTimerIsTimerActiveImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xTimerIsTimerActive
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xTimerGetTimerDaemonTaskHandle
|
||||
|
|
@ -921,14 +774,11 @@ MPU_xTimerGetTimerDaemonTaskHandle:
|
|||
b MPU_xTimerGetTimerDaemonTaskHandleImpl
|
||||
MPU_xTimerGetTimerDaemonTaskHandle_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xTimerGetTimerDaemonTaskHandleImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xTimerGetTimerDaemonTaskHandle
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xTimerGenericCommandFromTask
|
||||
MPU_xTimerGenericCommandFromTask:
|
||||
PUBLIC MPU_xTimerGenericCommandFromTaskEntry
|
||||
MPU_xTimerGenericCommandFromTaskEntry:
|
||||
push {r0, r1}
|
||||
mrs r0, control
|
||||
movs r1, #1
|
||||
|
|
@ -939,10 +789,7 @@ MPU_xTimerGenericCommandFromTask:
|
|||
b MPU_xTimerGenericCommandFromTaskImpl
|
||||
MPU_xTimerGenericCommandFromTask_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER_1
|
||||
bl MPU_xTimerGenericCommandFromTaskImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xTimerGenericCommandFromTask
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_pcTimerGetName
|
||||
|
|
@ -957,10 +804,7 @@ MPU_pcTimerGetName:
|
|||
b MPU_pcTimerGetNameImpl
|
||||
MPU_pcTimerGetName_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_pcTimerGetNameImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_pcTimerGetName
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_vTimerSetReloadMode
|
||||
|
|
@ -975,10 +819,7 @@ MPU_vTimerSetReloadMode:
|
|||
b MPU_vTimerSetReloadModeImpl
|
||||
MPU_vTimerSetReloadMode_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_vTimerSetReloadModeImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_vTimerSetReloadMode
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xTimerGetReloadMode
|
||||
|
|
@ -993,10 +834,7 @@ MPU_xTimerGetReloadMode:
|
|||
b MPU_xTimerGetReloadModeImpl
|
||||
MPU_xTimerGetReloadMode_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xTimerGetReloadModeImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xTimerGetReloadMode
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_uxTimerGetReloadMode
|
||||
|
|
@ -1011,10 +849,7 @@ MPU_uxTimerGetReloadMode:
|
|||
b MPU_uxTimerGetReloadModeImpl
|
||||
MPU_uxTimerGetReloadMode_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_uxTimerGetReloadModeImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_uxTimerGetReloadMode
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xTimerGetPeriod
|
||||
|
|
@ -1029,10 +864,7 @@ MPU_xTimerGetPeriod:
|
|||
b MPU_xTimerGetPeriodImpl
|
||||
MPU_xTimerGetPeriod_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xTimerGetPeriodImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xTimerGetPeriod
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xTimerGetExpiryTime
|
||||
|
|
@ -1047,14 +879,11 @@ MPU_xTimerGetExpiryTime:
|
|||
b MPU_xTimerGetExpiryTimeImpl
|
||||
MPU_xTimerGetExpiryTime_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xTimerGetExpiryTimeImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xTimerGetExpiryTime
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xEventGroupWaitBits
|
||||
MPU_xEventGroupWaitBits:
|
||||
PUBLIC MPU_xEventGroupWaitBitsEntry
|
||||
MPU_xEventGroupWaitBitsEntry:
|
||||
push {r0, r1}
|
||||
mrs r0, control
|
||||
movs r1, #1
|
||||
|
|
@ -1065,10 +894,7 @@ MPU_xEventGroupWaitBits:
|
|||
b MPU_xEventGroupWaitBitsImpl
|
||||
MPU_xEventGroupWaitBits_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER_1
|
||||
bl MPU_xEventGroupWaitBitsImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xEventGroupWaitBits
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xEventGroupClearBits
|
||||
|
|
@ -1083,10 +909,7 @@ MPU_xEventGroupClearBits:
|
|||
b MPU_xEventGroupClearBitsImpl
|
||||
MPU_xEventGroupClearBits_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xEventGroupClearBitsImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xEventGroupClearBits
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xEventGroupSetBits
|
||||
|
|
@ -1101,10 +924,7 @@ MPU_xEventGroupSetBits:
|
|||
b MPU_xEventGroupSetBitsImpl
|
||||
MPU_xEventGroupSetBits_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xEventGroupSetBitsImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xEventGroupSetBits
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xEventGroupSync
|
||||
|
|
@ -1119,10 +939,7 @@ MPU_xEventGroupSync:
|
|||
b MPU_xEventGroupSyncImpl
|
||||
MPU_xEventGroupSync_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xEventGroupSyncImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xEventGroupSync
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_uxEventGroupGetNumber
|
||||
|
|
@ -1137,10 +954,7 @@ MPU_uxEventGroupGetNumber:
|
|||
b MPU_uxEventGroupGetNumberImpl
|
||||
MPU_uxEventGroupGetNumber_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_uxEventGroupGetNumberImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_uxEventGroupGetNumber
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_vEventGroupSetNumber
|
||||
|
|
@ -1155,10 +969,7 @@ MPU_vEventGroupSetNumber:
|
|||
b MPU_vEventGroupSetNumberImpl
|
||||
MPU_vEventGroupSetNumber_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_vEventGroupSetNumberImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_vEventGroupSetNumber
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xStreamBufferSend
|
||||
|
|
@ -1173,10 +984,7 @@ MPU_xStreamBufferSend:
|
|||
b MPU_xStreamBufferSendImpl
|
||||
MPU_xStreamBufferSend_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xStreamBufferSendImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xStreamBufferSend
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xStreamBufferReceive
|
||||
|
|
@ -1191,10 +999,7 @@ MPU_xStreamBufferReceive:
|
|||
b MPU_xStreamBufferReceiveImpl
|
||||
MPU_xStreamBufferReceive_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xStreamBufferReceiveImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xStreamBufferReceive
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xStreamBufferIsFull
|
||||
|
|
@ -1209,10 +1014,7 @@ MPU_xStreamBufferIsFull:
|
|||
b MPU_xStreamBufferIsFullImpl
|
||||
MPU_xStreamBufferIsFull_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xStreamBufferIsFullImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xStreamBufferIsFull
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xStreamBufferIsEmpty
|
||||
|
|
@ -1227,10 +1029,7 @@ MPU_xStreamBufferIsEmpty:
|
|||
b MPU_xStreamBufferIsEmptyImpl
|
||||
MPU_xStreamBufferIsEmpty_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xStreamBufferIsEmptyImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xStreamBufferIsEmpty
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xStreamBufferSpacesAvailable
|
||||
|
|
@ -1245,10 +1044,7 @@ MPU_xStreamBufferSpacesAvailable:
|
|||
b MPU_xStreamBufferSpacesAvailableImpl
|
||||
MPU_xStreamBufferSpacesAvailable_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xStreamBufferSpacesAvailableImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xStreamBufferSpacesAvailable
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xStreamBufferBytesAvailable
|
||||
|
|
@ -1263,10 +1059,7 @@ MPU_xStreamBufferBytesAvailable:
|
|||
b MPU_xStreamBufferBytesAvailableImpl
|
||||
MPU_xStreamBufferBytesAvailable_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xStreamBufferBytesAvailableImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xStreamBufferBytesAvailable
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xStreamBufferSetTriggerLevel
|
||||
|
|
@ -1281,10 +1074,7 @@ MPU_xStreamBufferSetTriggerLevel:
|
|||
b MPU_xStreamBufferSetTriggerLevelImpl
|
||||
MPU_xStreamBufferSetTriggerLevel_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xStreamBufferSetTriggerLevelImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xStreamBufferSetTriggerLevel
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xStreamBufferNextMessageLengthBytes
|
||||
|
|
@ -1299,10 +1089,7 @@ MPU_xStreamBufferNextMessageLengthBytes:
|
|||
b MPU_xStreamBufferNextMessageLengthBytesImpl
|
||||
MPU_xStreamBufferNextMessageLengthBytes_Unpriv:
|
||||
pop {r0, r1}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xStreamBufferNextMessageLengthBytesImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xStreamBufferNextMessageLengthBytes
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
/* Default weak implementations in case one is not available from
|
||||
|
|
|
|||
|
|
@ -32,6 +32,9 @@ the code is included in C files but excluded by the preprocessor in assembly
|
|||
files (__ICCARM__ is defined by the IAR C compiler but not by the IAR assembler. */
|
||||
#include "FreeRTOSConfig.h"
|
||||
|
||||
/* System call numbers includes. */
|
||||
#include "mpu_syscall_numbers.h"
|
||||
|
||||
#ifndef configUSE_MPU_WRAPPERS_V1
|
||||
#define configUSE_MPU_WRAPPERS_V1 0
|
||||
#endif
|
||||
|
|
@ -45,7 +48,6 @@ files (__ICCARM__ is defined by the IAR C compiler but not by the IAR assembler.
|
|||
EXTERN vPortSVCHandler_C
|
||||
#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) )
|
||||
EXTERN vSystemCallEnter
|
||||
EXTERN vSystemCallEnter_1
|
||||
EXTERN vSystemCallExit
|
||||
#endif
|
||||
|
||||
|
|
@ -224,7 +226,7 @@ vStartFirstTask:
|
|||
cpsie i /* Globally enable interrupts. */
|
||||
dsb
|
||||
isb
|
||||
svc 2 /* System call to start the first task. portSVC_START_SCHEDULER = 2. */
|
||||
svc 102 /* System call to start the first task. portSVC_START_SCHEDULER = 102. */
|
||||
nop
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
|
|
@ -421,21 +423,17 @@ SVC_Handler:
|
|||
b route_svc
|
||||
|
||||
route_svc:
|
||||
ldr r2, [r0, #24]
|
||||
subs r2, #2
|
||||
ldrb r3, [r2, #0]
|
||||
cmp r3, #4 /* portSVC_SYSTEM_CALL_ENTER. */
|
||||
beq system_call_enter
|
||||
cmp r3, #5 /* portSVC_SYSTEM_CALL_ENTER_1. */
|
||||
beq system_call_enter_1
|
||||
cmp r3, #6 /* portSVC_SYSTEM_CALL_EXIT. */
|
||||
ldr r3, [r0, #24]
|
||||
subs r3, #2
|
||||
ldrb r2, [r3, #0]
|
||||
cmp r2, #NUM_SYSTEM_CALLS
|
||||
blt system_call_enter
|
||||
cmp r2, #104 /* portSVC_SYSTEM_CALL_EXIT. */
|
||||
beq system_call_exit
|
||||
b vPortSVCHandler_C
|
||||
|
||||
system_call_enter:
|
||||
b vSystemCallEnter
|
||||
system_call_enter_1:
|
||||
b vSystemCallEnter_1
|
||||
system_call_exit:
|
||||
b vSystemCallExit
|
||||
|
||||
|
|
|
|||
|
|
@ -32,15 +32,12 @@
|
|||
/*-----------------------------------------------------------*/
|
||||
|
||||
#include "FreeRTOSConfig.h"
|
||||
#include "mpu_syscall_numbers.h"
|
||||
|
||||
#ifndef configUSE_MPU_WRAPPERS_V1
|
||||
#define configUSE_MPU_WRAPPERS_V1 0
|
||||
#endif
|
||||
|
||||
/* These must be in sync with portmacro.h. */
|
||||
#define portSVC_SYSTEM_CALL_ENTER 4 /* System calls with upto 4 parameters. */
|
||||
#define portSVC_SYSTEM_CALL_ENTER_1 5 /* System calls with 5 parameters. */
|
||||
#define portSVC_SYSTEM_CALL_EXIT 6
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) )
|
||||
|
|
@ -56,10 +53,7 @@ MPU_xTaskDelayUntil:
|
|||
b MPU_xTaskDelayUntilImpl
|
||||
MPU_xTaskDelayUntil_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xTaskDelayUntilImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xTaskDelayUntil
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xTaskAbortDelay
|
||||
|
|
@ -73,10 +67,7 @@ MPU_xTaskAbortDelay:
|
|||
b MPU_xTaskAbortDelayImpl
|
||||
MPU_xTaskAbortDelay_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xTaskAbortDelayImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xTaskAbortDelay
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_vTaskDelay
|
||||
|
|
@ -90,10 +81,7 @@ MPU_vTaskDelay:
|
|||
b MPU_vTaskDelayImpl
|
||||
MPU_vTaskDelay_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_vTaskDelayImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_vTaskDelay
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_uxTaskPriorityGet
|
||||
|
|
@ -107,10 +95,7 @@ MPU_uxTaskPriorityGet:
|
|||
b MPU_uxTaskPriorityGetImpl
|
||||
MPU_uxTaskPriorityGet_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_uxTaskPriorityGetImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_uxTaskPriorityGet
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_eTaskGetState
|
||||
|
|
@ -124,10 +109,7 @@ MPU_eTaskGetState:
|
|||
b MPU_eTaskGetStateImpl
|
||||
MPU_eTaskGetState_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_eTaskGetStateImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_eTaskGetState
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_vTaskGetInfo
|
||||
|
|
@ -141,10 +123,7 @@ MPU_vTaskGetInfo:
|
|||
b MPU_vTaskGetInfoImpl
|
||||
MPU_vTaskGetInfo_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_vTaskGetInfoImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_vTaskGetInfo
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xTaskGetIdleTaskHandle
|
||||
|
|
@ -158,10 +137,7 @@ MPU_xTaskGetIdleTaskHandle:
|
|||
b MPU_xTaskGetIdleTaskHandleImpl
|
||||
MPU_xTaskGetIdleTaskHandle_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xTaskGetIdleTaskHandleImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xTaskGetIdleTaskHandle
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_vTaskSuspend
|
||||
|
|
@ -175,10 +151,7 @@ MPU_vTaskSuspend:
|
|||
b MPU_vTaskSuspendImpl
|
||||
MPU_vTaskSuspend_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_vTaskSuspendImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_vTaskSuspend
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_vTaskResume
|
||||
|
|
@ -192,10 +165,7 @@ MPU_vTaskResume:
|
|||
b MPU_vTaskResumeImpl
|
||||
MPU_vTaskResume_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_vTaskResumeImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_vTaskResume
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xTaskGetTickCount
|
||||
|
|
@ -209,10 +179,7 @@ MPU_xTaskGetTickCount:
|
|||
b MPU_xTaskGetTickCountImpl
|
||||
MPU_xTaskGetTickCount_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xTaskGetTickCountImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xTaskGetTickCount
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_uxTaskGetNumberOfTasks
|
||||
|
|
@ -226,10 +193,7 @@ MPU_uxTaskGetNumberOfTasks:
|
|||
b MPU_uxTaskGetNumberOfTasksImpl
|
||||
MPU_uxTaskGetNumberOfTasks_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_uxTaskGetNumberOfTasksImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_uxTaskGetNumberOfTasks
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_ulTaskGetRunTimeCounter
|
||||
|
|
@ -243,10 +207,7 @@ MPU_ulTaskGetRunTimeCounter:
|
|||
b MPU_ulTaskGetRunTimeCounterImpl
|
||||
MPU_ulTaskGetRunTimeCounter_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_ulTaskGetRunTimeCounterImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_ulTaskGetRunTimeCounter
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_ulTaskGetRunTimePercent
|
||||
|
|
@ -260,10 +221,7 @@ MPU_ulTaskGetRunTimePercent:
|
|||
b MPU_ulTaskGetRunTimePercentImpl
|
||||
MPU_ulTaskGetRunTimePercent_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_ulTaskGetRunTimePercentImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_ulTaskGetRunTimePercent
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_ulTaskGetIdleRunTimePercent
|
||||
|
|
@ -277,10 +235,7 @@ MPU_ulTaskGetIdleRunTimePercent:
|
|||
b MPU_ulTaskGetIdleRunTimePercentImpl
|
||||
MPU_ulTaskGetIdleRunTimePercent_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_ulTaskGetIdleRunTimePercentImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_ulTaskGetIdleRunTimePercent
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_ulTaskGetIdleRunTimeCounter
|
||||
|
|
@ -294,10 +249,7 @@ MPU_ulTaskGetIdleRunTimeCounter:
|
|||
b MPU_ulTaskGetIdleRunTimeCounterImpl
|
||||
MPU_ulTaskGetIdleRunTimeCounter_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_ulTaskGetIdleRunTimeCounterImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_ulTaskGetIdleRunTimeCounter
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_vTaskSetApplicationTaskTag
|
||||
|
|
@ -311,10 +263,7 @@ MPU_vTaskSetApplicationTaskTag:
|
|||
b MPU_vTaskSetApplicationTaskTagImpl
|
||||
MPU_vTaskSetApplicationTaskTag_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_vTaskSetApplicationTaskTagImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_vTaskSetApplicationTaskTag
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xTaskGetApplicationTaskTag
|
||||
|
|
@ -328,10 +277,7 @@ MPU_xTaskGetApplicationTaskTag:
|
|||
b MPU_xTaskGetApplicationTaskTagImpl
|
||||
MPU_xTaskGetApplicationTaskTag_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xTaskGetApplicationTaskTagImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xTaskGetApplicationTaskTag
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_vTaskSetThreadLocalStoragePointer
|
||||
|
|
@ -345,10 +291,7 @@ MPU_vTaskSetThreadLocalStoragePointer:
|
|||
b MPU_vTaskSetThreadLocalStoragePointerImpl
|
||||
MPU_vTaskSetThreadLocalStoragePointer_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_vTaskSetThreadLocalStoragePointerImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_vTaskSetThreadLocalStoragePointer
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_pvTaskGetThreadLocalStoragePointer
|
||||
|
|
@ -362,10 +305,7 @@ MPU_pvTaskGetThreadLocalStoragePointer:
|
|||
b MPU_pvTaskGetThreadLocalStoragePointerImpl
|
||||
MPU_pvTaskGetThreadLocalStoragePointer_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_pvTaskGetThreadLocalStoragePointerImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_pvTaskGetThreadLocalStoragePointer
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_uxTaskGetSystemState
|
||||
|
|
@ -379,10 +319,7 @@ MPU_uxTaskGetSystemState:
|
|||
b MPU_uxTaskGetSystemStateImpl
|
||||
MPU_uxTaskGetSystemState_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_uxTaskGetSystemStateImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_uxTaskGetSystemState
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_uxTaskGetStackHighWaterMark
|
||||
|
|
@ -396,10 +333,7 @@ MPU_uxTaskGetStackHighWaterMark:
|
|||
b MPU_uxTaskGetStackHighWaterMarkImpl
|
||||
MPU_uxTaskGetStackHighWaterMark_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_uxTaskGetStackHighWaterMarkImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_uxTaskGetStackHighWaterMark
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_uxTaskGetStackHighWaterMark2
|
||||
|
|
@ -413,10 +347,7 @@ MPU_uxTaskGetStackHighWaterMark2:
|
|||
b MPU_uxTaskGetStackHighWaterMark2Impl
|
||||
MPU_uxTaskGetStackHighWaterMark2_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_uxTaskGetStackHighWaterMark2Impl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_uxTaskGetStackHighWaterMark2
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xTaskGetCurrentTaskHandle
|
||||
|
|
@ -430,10 +361,7 @@ MPU_xTaskGetCurrentTaskHandle:
|
|||
b MPU_xTaskGetCurrentTaskHandleImpl
|
||||
MPU_xTaskGetCurrentTaskHandle_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xTaskGetCurrentTaskHandleImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xTaskGetCurrentTaskHandle
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xTaskGetSchedulerState
|
||||
|
|
@ -447,10 +375,7 @@ MPU_xTaskGetSchedulerState:
|
|||
b MPU_xTaskGetSchedulerStateImpl
|
||||
MPU_xTaskGetSchedulerState_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xTaskGetSchedulerStateImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xTaskGetSchedulerState
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_vTaskSetTimeOutState
|
||||
|
|
@ -464,10 +389,7 @@ MPU_vTaskSetTimeOutState:
|
|||
b MPU_vTaskSetTimeOutStateImpl
|
||||
MPU_vTaskSetTimeOutState_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_vTaskSetTimeOutStateImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_vTaskSetTimeOutState
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xTaskCheckForTimeOut
|
||||
|
|
@ -481,14 +403,11 @@ MPU_xTaskCheckForTimeOut:
|
|||
b MPU_xTaskCheckForTimeOutImpl
|
||||
MPU_xTaskCheckForTimeOut_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xTaskCheckForTimeOutImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xTaskCheckForTimeOut
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xTaskGenericNotify
|
||||
MPU_xTaskGenericNotify:
|
||||
PUBLIC MPU_xTaskGenericNotifyEntry
|
||||
MPU_xTaskGenericNotifyEntry:
|
||||
push {r0}
|
||||
mrs r0, control
|
||||
tst r0, #1
|
||||
|
|
@ -498,14 +417,11 @@ MPU_xTaskGenericNotify:
|
|||
b MPU_xTaskGenericNotifyImpl
|
||||
MPU_xTaskGenericNotify_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER_1
|
||||
bl MPU_xTaskGenericNotifyImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xTaskGenericNotify
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xTaskGenericNotifyWait
|
||||
MPU_xTaskGenericNotifyWait:
|
||||
PUBLIC MPU_xTaskGenericNotifyWaitEntry
|
||||
MPU_xTaskGenericNotifyWaitEntry:
|
||||
push {r0}
|
||||
mrs r0, control
|
||||
tst r0, #1
|
||||
|
|
@ -515,10 +431,7 @@ MPU_xTaskGenericNotifyWait:
|
|||
b MPU_xTaskGenericNotifyWaitImpl
|
||||
MPU_xTaskGenericNotifyWait_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER_1
|
||||
bl MPU_xTaskGenericNotifyWaitImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xTaskGenericNotifyWait
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_ulTaskGenericNotifyTake
|
||||
|
|
@ -532,10 +445,7 @@ MPU_ulTaskGenericNotifyTake:
|
|||
b MPU_ulTaskGenericNotifyTakeImpl
|
||||
MPU_ulTaskGenericNotifyTake_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_ulTaskGenericNotifyTakeImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_ulTaskGenericNotifyTake
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xTaskGenericNotifyStateClear
|
||||
|
|
@ -549,10 +459,7 @@ MPU_xTaskGenericNotifyStateClear:
|
|||
b MPU_xTaskGenericNotifyStateClearImpl
|
||||
MPU_xTaskGenericNotifyStateClear_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xTaskGenericNotifyStateClearImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xTaskGenericNotifyStateClear
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_ulTaskGenericNotifyValueClear
|
||||
|
|
@ -566,10 +473,7 @@ MPU_ulTaskGenericNotifyValueClear:
|
|||
b MPU_ulTaskGenericNotifyValueClearImpl
|
||||
MPU_ulTaskGenericNotifyValueClear_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_ulTaskGenericNotifyValueClearImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_ulTaskGenericNotifyValueClear
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xQueueGenericSend
|
||||
|
|
@ -583,10 +487,7 @@ MPU_xQueueGenericSend:
|
|||
b MPU_xQueueGenericSendImpl
|
||||
MPU_xQueueGenericSend_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xQueueGenericSendImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xQueueGenericSend
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_uxQueueMessagesWaiting
|
||||
|
|
@ -600,10 +501,7 @@ MPU_uxQueueMessagesWaiting:
|
|||
b MPU_uxQueueMessagesWaitingImpl
|
||||
MPU_uxQueueMessagesWaiting_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_uxQueueMessagesWaitingImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_uxQueueMessagesWaiting
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_uxQueueSpacesAvailable
|
||||
|
|
@ -617,10 +515,7 @@ MPU_uxQueueSpacesAvailable:
|
|||
b MPU_uxQueueSpacesAvailableImpl
|
||||
MPU_uxQueueSpacesAvailable_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_uxQueueSpacesAvailableImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_uxQueueSpacesAvailable
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xQueueReceive
|
||||
|
|
@ -634,10 +529,7 @@ MPU_xQueueReceive:
|
|||
b MPU_xQueueReceiveImpl
|
||||
MPU_xQueueReceive_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xQueueReceiveImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xQueueReceive
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xQueuePeek
|
||||
|
|
@ -651,10 +543,7 @@ MPU_xQueuePeek:
|
|||
b MPU_xQueuePeekImpl
|
||||
MPU_xQueuePeek_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xQueuePeekImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xQueuePeek
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xQueueSemaphoreTake
|
||||
|
|
@ -668,10 +557,7 @@ MPU_xQueueSemaphoreTake:
|
|||
b MPU_xQueueSemaphoreTakeImpl
|
||||
MPU_xQueueSemaphoreTake_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xQueueSemaphoreTakeImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xQueueSemaphoreTake
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xQueueGetMutexHolder
|
||||
|
|
@ -685,10 +571,7 @@ MPU_xQueueGetMutexHolder:
|
|||
b MPU_xQueueGetMutexHolderImpl
|
||||
MPU_xQueueGetMutexHolder_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xQueueGetMutexHolderImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xQueueGetMutexHolder
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xQueueTakeMutexRecursive
|
||||
|
|
@ -702,10 +585,7 @@ MPU_xQueueTakeMutexRecursive:
|
|||
b MPU_xQueueTakeMutexRecursiveImpl
|
||||
MPU_xQueueTakeMutexRecursive_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xQueueTakeMutexRecursiveImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xQueueTakeMutexRecursive
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xQueueGiveMutexRecursive
|
||||
|
|
@ -719,10 +599,7 @@ MPU_xQueueGiveMutexRecursive:
|
|||
b MPU_xQueueGiveMutexRecursiveImpl
|
||||
MPU_xQueueGiveMutexRecursive_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xQueueGiveMutexRecursiveImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xQueueGiveMutexRecursive
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xQueueSelectFromSet
|
||||
|
|
@ -736,10 +613,7 @@ MPU_xQueueSelectFromSet:
|
|||
b MPU_xQueueSelectFromSetImpl
|
||||
MPU_xQueueSelectFromSet_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xQueueSelectFromSetImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xQueueSelectFromSet
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xQueueAddToSet
|
||||
|
|
@ -753,10 +627,7 @@ MPU_xQueueAddToSet:
|
|||
b MPU_xQueueAddToSetImpl
|
||||
MPU_xQueueAddToSet_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xQueueAddToSetImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xQueueAddToSet
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_vQueueAddToRegistry
|
||||
|
|
@ -770,10 +641,7 @@ MPU_vQueueAddToRegistry:
|
|||
b MPU_vQueueAddToRegistryImpl
|
||||
MPU_vQueueAddToRegistry_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_vQueueAddToRegistryImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_vQueueAddToRegistry
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_vQueueUnregisterQueue
|
||||
|
|
@ -787,10 +655,7 @@ MPU_vQueueUnregisterQueue:
|
|||
b MPU_vQueueUnregisterQueueImpl
|
||||
MPU_vQueueUnregisterQueue_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_vQueueUnregisterQueueImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_vQueueUnregisterQueue
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_pcQueueGetName
|
||||
|
|
@ -804,10 +669,7 @@ MPU_pcQueueGetName:
|
|||
b MPU_pcQueueGetNameImpl
|
||||
MPU_pcQueueGetName_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_pcQueueGetNameImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_pcQueueGetName
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_pvTimerGetTimerID
|
||||
|
|
@ -821,10 +683,7 @@ MPU_pvTimerGetTimerID:
|
|||
b MPU_pvTimerGetTimerIDImpl
|
||||
MPU_pvTimerGetTimerID_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_pvTimerGetTimerIDImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_pvTimerGetTimerID
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_vTimerSetTimerID
|
||||
|
|
@ -838,10 +697,7 @@ MPU_vTimerSetTimerID:
|
|||
b MPU_vTimerSetTimerIDImpl
|
||||
MPU_vTimerSetTimerID_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_vTimerSetTimerIDImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_vTimerSetTimerID
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xTimerIsTimerActive
|
||||
|
|
@ -855,10 +711,7 @@ MPU_xTimerIsTimerActive:
|
|||
b MPU_xTimerIsTimerActiveImpl
|
||||
MPU_xTimerIsTimerActive_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xTimerIsTimerActiveImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xTimerIsTimerActive
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xTimerGetTimerDaemonTaskHandle
|
||||
|
|
@ -872,14 +725,11 @@ MPU_xTimerGetTimerDaemonTaskHandle:
|
|||
b MPU_xTimerGetTimerDaemonTaskHandleImpl
|
||||
MPU_xTimerGetTimerDaemonTaskHandle_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xTimerGetTimerDaemonTaskHandleImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xTimerGetTimerDaemonTaskHandle
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xTimerGenericCommandFromTask
|
||||
MPU_xTimerGenericCommandFromTask:
|
||||
PUBLIC MPU_xTimerGenericCommandFromTaskEntry
|
||||
MPU_xTimerGenericCommandFromTaskEntry:
|
||||
push {r0}
|
||||
mrs r0, control
|
||||
tst r0, #1
|
||||
|
|
@ -889,10 +739,7 @@ MPU_xTimerGenericCommandFromTask:
|
|||
b MPU_xTimerGenericCommandFromTaskImpl
|
||||
MPU_xTimerGenericCommandFromTask_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER_1
|
||||
bl MPU_xTimerGenericCommandFromTaskImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xTimerGenericCommandFromTask
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_pcTimerGetName
|
||||
|
|
@ -906,10 +753,7 @@ MPU_pcTimerGetName:
|
|||
b MPU_pcTimerGetNameImpl
|
||||
MPU_pcTimerGetName_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_pcTimerGetNameImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_pcTimerGetName
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_vTimerSetReloadMode
|
||||
|
|
@ -923,10 +767,7 @@ MPU_vTimerSetReloadMode:
|
|||
b MPU_vTimerSetReloadModeImpl
|
||||
MPU_vTimerSetReloadMode_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_vTimerSetReloadModeImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_vTimerSetReloadMode
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xTimerGetReloadMode
|
||||
|
|
@ -940,10 +781,7 @@ MPU_xTimerGetReloadMode:
|
|||
b MPU_xTimerGetReloadModeImpl
|
||||
MPU_xTimerGetReloadMode_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xTimerGetReloadModeImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xTimerGetReloadMode
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_uxTimerGetReloadMode
|
||||
|
|
@ -957,10 +795,7 @@ MPU_uxTimerGetReloadMode:
|
|||
b MPU_uxTimerGetReloadModeImpl
|
||||
MPU_uxTimerGetReloadMode_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_uxTimerGetReloadModeImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_uxTimerGetReloadMode
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xTimerGetPeriod
|
||||
|
|
@ -974,10 +809,7 @@ MPU_xTimerGetPeriod:
|
|||
b MPU_xTimerGetPeriodImpl
|
||||
MPU_xTimerGetPeriod_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xTimerGetPeriodImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xTimerGetPeriod
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xTimerGetExpiryTime
|
||||
|
|
@ -991,14 +823,11 @@ MPU_xTimerGetExpiryTime:
|
|||
b MPU_xTimerGetExpiryTimeImpl
|
||||
MPU_xTimerGetExpiryTime_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xTimerGetExpiryTimeImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xTimerGetExpiryTime
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xEventGroupWaitBits
|
||||
MPU_xEventGroupWaitBits:
|
||||
PUBLIC MPU_xEventGroupWaitBitsEntry
|
||||
MPU_xEventGroupWaitBitsEntry:
|
||||
push {r0}
|
||||
mrs r0, control
|
||||
tst r0, #1
|
||||
|
|
@ -1008,10 +837,7 @@ MPU_xEventGroupWaitBits:
|
|||
b MPU_xEventGroupWaitBitsImpl
|
||||
MPU_xEventGroupWaitBits_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER_1
|
||||
bl MPU_xEventGroupWaitBitsImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xEventGroupWaitBits
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xEventGroupClearBits
|
||||
|
|
@ -1025,10 +851,7 @@ MPU_xEventGroupClearBits:
|
|||
b MPU_xEventGroupClearBitsImpl
|
||||
MPU_xEventGroupClearBits_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xEventGroupClearBitsImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xEventGroupClearBits
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xEventGroupSetBits
|
||||
|
|
@ -1042,10 +865,7 @@ MPU_xEventGroupSetBits:
|
|||
b MPU_xEventGroupSetBitsImpl
|
||||
MPU_xEventGroupSetBits_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xEventGroupSetBitsImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xEventGroupSetBits
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xEventGroupSync
|
||||
|
|
@ -1059,10 +879,7 @@ MPU_xEventGroupSync:
|
|||
b MPU_xEventGroupSyncImpl
|
||||
MPU_xEventGroupSync_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xEventGroupSyncImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xEventGroupSync
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_uxEventGroupGetNumber
|
||||
|
|
@ -1076,10 +893,7 @@ MPU_uxEventGroupGetNumber:
|
|||
b MPU_uxEventGroupGetNumberImpl
|
||||
MPU_uxEventGroupGetNumber_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_uxEventGroupGetNumberImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_uxEventGroupGetNumber
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_vEventGroupSetNumber
|
||||
|
|
@ -1093,10 +907,7 @@ MPU_vEventGroupSetNumber:
|
|||
b MPU_vEventGroupSetNumberImpl
|
||||
MPU_vEventGroupSetNumber_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_vEventGroupSetNumberImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_vEventGroupSetNumber
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xStreamBufferSend
|
||||
|
|
@ -1110,10 +921,7 @@ MPU_xStreamBufferSend:
|
|||
b MPU_xStreamBufferSendImpl
|
||||
MPU_xStreamBufferSend_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xStreamBufferSendImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xStreamBufferSend
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xStreamBufferReceive
|
||||
|
|
@ -1127,10 +935,7 @@ MPU_xStreamBufferReceive:
|
|||
b MPU_xStreamBufferReceiveImpl
|
||||
MPU_xStreamBufferReceive_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xStreamBufferReceiveImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xStreamBufferReceive
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xStreamBufferIsFull
|
||||
|
|
@ -1144,10 +949,7 @@ MPU_xStreamBufferIsFull:
|
|||
b MPU_xStreamBufferIsFullImpl
|
||||
MPU_xStreamBufferIsFull_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xStreamBufferIsFullImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xStreamBufferIsFull
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xStreamBufferIsEmpty
|
||||
|
|
@ -1161,10 +963,7 @@ MPU_xStreamBufferIsEmpty:
|
|||
b MPU_xStreamBufferIsEmptyImpl
|
||||
MPU_xStreamBufferIsEmpty_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xStreamBufferIsEmptyImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xStreamBufferIsEmpty
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xStreamBufferSpacesAvailable
|
||||
|
|
@ -1178,10 +977,7 @@ MPU_xStreamBufferSpacesAvailable:
|
|||
b MPU_xStreamBufferSpacesAvailableImpl
|
||||
MPU_xStreamBufferSpacesAvailable_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xStreamBufferSpacesAvailableImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xStreamBufferSpacesAvailable
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xStreamBufferBytesAvailable
|
||||
|
|
@ -1195,10 +991,7 @@ MPU_xStreamBufferBytesAvailable:
|
|||
b MPU_xStreamBufferBytesAvailableImpl
|
||||
MPU_xStreamBufferBytesAvailable_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xStreamBufferBytesAvailableImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xStreamBufferBytesAvailable
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xStreamBufferSetTriggerLevel
|
||||
|
|
@ -1212,10 +1005,7 @@ MPU_xStreamBufferSetTriggerLevel:
|
|||
b MPU_xStreamBufferSetTriggerLevelImpl
|
||||
MPU_xStreamBufferSetTriggerLevel_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xStreamBufferSetTriggerLevelImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xStreamBufferSetTriggerLevel
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xStreamBufferNextMessageLengthBytes
|
||||
|
|
@ -1229,10 +1019,7 @@ MPU_xStreamBufferNextMessageLengthBytes:
|
|||
b MPU_xStreamBufferNextMessageLengthBytesImpl
|
||||
MPU_xStreamBufferNextMessageLengthBytes_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xStreamBufferNextMessageLengthBytesImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xStreamBufferNextMessageLengthBytes
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
/* Default weak implementations in case one is not available from
|
||||
|
|
|
|||
|
|
@ -32,6 +32,9 @@ the code is included in C files but excluded by the preprocessor in assembly
|
|||
files (__ICCARM__ is defined by the IAR C compiler but not by the IAR assembler. */
|
||||
#include "FreeRTOSConfig.h"
|
||||
|
||||
/* System call numbers includes. */
|
||||
#include "mpu_syscall_numbers.h"
|
||||
|
||||
#ifndef configUSE_MPU_WRAPPERS_V1
|
||||
#define configUSE_MPU_WRAPPERS_V1 0
|
||||
#endif
|
||||
|
|
@ -44,7 +47,6 @@ files (__ICCARM__ is defined by the IAR C compiler but not by the IAR assembler.
|
|||
EXTERN SecureContext_LoadContext
|
||||
#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) )
|
||||
EXTERN vSystemCallEnter
|
||||
EXTERN vSystemCallEnter_1
|
||||
EXTERN vSystemCallExit
|
||||
#endif
|
||||
|
||||
|
|
@ -86,7 +88,7 @@ vResetPrivilege:
|
|||
/*-----------------------------------------------------------*/
|
||||
|
||||
vPortAllocateSecureContext:
|
||||
svc 0 /* Secure context is allocated in the supervisor call. portSVC_ALLOCATE_SECURE_CONTEXT = 0. */
|
||||
svc 100 /* Secure context is allocated in the supervisor call. portSVC_ALLOCATE_SECURE_CONTEXT = 100. */
|
||||
bx lr /* Return. */
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
|
|
@ -205,7 +207,7 @@ vStartFirstTask:
|
|||
cpsie f
|
||||
dsb
|
||||
isb
|
||||
svc 2 /* System call to start the first task. portSVC_START_SCHEDULER = 2. */
|
||||
svc 102 /* System call to start the first task. portSVC_START_SCHEDULER = 102. */
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
ulSetInterruptMask:
|
||||
|
|
@ -455,11 +457,9 @@ SVC_Handler:
|
|||
|
||||
ldr r1, [r0, #24]
|
||||
ldrb r2, [r1, #-2]
|
||||
cmp r2, #4 /* portSVC_SYSTEM_CALL_ENTER. */
|
||||
beq syscall_enter
|
||||
cmp r2, #5 /* portSVC_SYSTEM_CALL_ENTER_1. */
|
||||
beq syscall_enter_1
|
||||
cmp r2, #6 /* portSVC_SYSTEM_CALL_EXIT. */
|
||||
cmp r2, #NUM_SYSTEM_CALLS
|
||||
blt syscall_enter
|
||||
cmp r2, #104 /* portSVC_SYSTEM_CALL_EXIT. */
|
||||
beq syscall_exit
|
||||
b vPortSVCHandler_C
|
||||
|
||||
|
|
@ -467,10 +467,6 @@ SVC_Handler:
|
|||
mov r1, lr
|
||||
b vSystemCallEnter
|
||||
|
||||
syscall_enter_1:
|
||||
mov r1, lr
|
||||
b vSystemCallEnter_1
|
||||
|
||||
syscall_exit:
|
||||
mov r1, lr
|
||||
b vSystemCallExit
|
||||
|
|
@ -493,7 +489,7 @@ vPortFreeSecureContext:
|
|||
ldr r1, [r2] /* The first item on the stack is the task's xSecureContext. */
|
||||
cmp r1, #0 /* Raise svc if task's xSecureContext is not NULL. */
|
||||
it ne
|
||||
svcne 1 /* Secure context is freed in the supervisor call. portSVC_FREE_SECURE_CONTEXT = 1. */
|
||||
svcne 101 /* Secure context is freed in the supervisor call. portSVC_FREE_SECURE_CONTEXT = 101. */
|
||||
bx lr /* Return. */
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
|
|
|
|||
|
|
@ -32,15 +32,12 @@
|
|||
/*-----------------------------------------------------------*/
|
||||
|
||||
#include "FreeRTOSConfig.h"
|
||||
#include "mpu_syscall_numbers.h"
|
||||
|
||||
#ifndef configUSE_MPU_WRAPPERS_V1
|
||||
#define configUSE_MPU_WRAPPERS_V1 0
|
||||
#endif
|
||||
|
||||
/* These must be in sync with portmacro.h. */
|
||||
#define portSVC_SYSTEM_CALL_ENTER 4 /* System calls with upto 4 parameters. */
|
||||
#define portSVC_SYSTEM_CALL_ENTER_1 5 /* System calls with 5 parameters. */
|
||||
#define portSVC_SYSTEM_CALL_EXIT 6
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) )
|
||||
|
|
@ -56,10 +53,7 @@ MPU_xTaskDelayUntil:
|
|||
b MPU_xTaskDelayUntilImpl
|
||||
MPU_xTaskDelayUntil_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xTaskDelayUntilImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xTaskDelayUntil
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xTaskAbortDelay
|
||||
|
|
@ -73,10 +67,7 @@ MPU_xTaskAbortDelay:
|
|||
b MPU_xTaskAbortDelayImpl
|
||||
MPU_xTaskAbortDelay_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xTaskAbortDelayImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xTaskAbortDelay
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_vTaskDelay
|
||||
|
|
@ -90,10 +81,7 @@ MPU_vTaskDelay:
|
|||
b MPU_vTaskDelayImpl
|
||||
MPU_vTaskDelay_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_vTaskDelayImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_vTaskDelay
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_uxTaskPriorityGet
|
||||
|
|
@ -107,10 +95,7 @@ MPU_uxTaskPriorityGet:
|
|||
b MPU_uxTaskPriorityGetImpl
|
||||
MPU_uxTaskPriorityGet_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_uxTaskPriorityGetImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_uxTaskPriorityGet
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_eTaskGetState
|
||||
|
|
@ -124,10 +109,7 @@ MPU_eTaskGetState:
|
|||
b MPU_eTaskGetStateImpl
|
||||
MPU_eTaskGetState_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_eTaskGetStateImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_eTaskGetState
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_vTaskGetInfo
|
||||
|
|
@ -141,10 +123,7 @@ MPU_vTaskGetInfo:
|
|||
b MPU_vTaskGetInfoImpl
|
||||
MPU_vTaskGetInfo_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_vTaskGetInfoImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_vTaskGetInfo
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xTaskGetIdleTaskHandle
|
||||
|
|
@ -158,10 +137,7 @@ MPU_xTaskGetIdleTaskHandle:
|
|||
b MPU_xTaskGetIdleTaskHandleImpl
|
||||
MPU_xTaskGetIdleTaskHandle_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xTaskGetIdleTaskHandleImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xTaskGetIdleTaskHandle
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_vTaskSuspend
|
||||
|
|
@ -175,10 +151,7 @@ MPU_vTaskSuspend:
|
|||
b MPU_vTaskSuspendImpl
|
||||
MPU_vTaskSuspend_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_vTaskSuspendImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_vTaskSuspend
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_vTaskResume
|
||||
|
|
@ -192,10 +165,7 @@ MPU_vTaskResume:
|
|||
b MPU_vTaskResumeImpl
|
||||
MPU_vTaskResume_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_vTaskResumeImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_vTaskResume
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xTaskGetTickCount
|
||||
|
|
@ -209,10 +179,7 @@ MPU_xTaskGetTickCount:
|
|||
b MPU_xTaskGetTickCountImpl
|
||||
MPU_xTaskGetTickCount_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xTaskGetTickCountImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xTaskGetTickCount
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_uxTaskGetNumberOfTasks
|
||||
|
|
@ -226,10 +193,7 @@ MPU_uxTaskGetNumberOfTasks:
|
|||
b MPU_uxTaskGetNumberOfTasksImpl
|
||||
MPU_uxTaskGetNumberOfTasks_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_uxTaskGetNumberOfTasksImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_uxTaskGetNumberOfTasks
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_ulTaskGetRunTimeCounter
|
||||
|
|
@ -243,10 +207,7 @@ MPU_ulTaskGetRunTimeCounter:
|
|||
b MPU_ulTaskGetRunTimeCounterImpl
|
||||
MPU_ulTaskGetRunTimeCounter_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_ulTaskGetRunTimeCounterImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_ulTaskGetRunTimeCounter
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_ulTaskGetRunTimePercent
|
||||
|
|
@ -260,10 +221,7 @@ MPU_ulTaskGetRunTimePercent:
|
|||
b MPU_ulTaskGetRunTimePercentImpl
|
||||
MPU_ulTaskGetRunTimePercent_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_ulTaskGetRunTimePercentImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_ulTaskGetRunTimePercent
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_ulTaskGetIdleRunTimePercent
|
||||
|
|
@ -277,10 +235,7 @@ MPU_ulTaskGetIdleRunTimePercent:
|
|||
b MPU_ulTaskGetIdleRunTimePercentImpl
|
||||
MPU_ulTaskGetIdleRunTimePercent_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_ulTaskGetIdleRunTimePercentImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_ulTaskGetIdleRunTimePercent
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_ulTaskGetIdleRunTimeCounter
|
||||
|
|
@ -294,10 +249,7 @@ MPU_ulTaskGetIdleRunTimeCounter:
|
|||
b MPU_ulTaskGetIdleRunTimeCounterImpl
|
||||
MPU_ulTaskGetIdleRunTimeCounter_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_ulTaskGetIdleRunTimeCounterImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_ulTaskGetIdleRunTimeCounter
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_vTaskSetApplicationTaskTag
|
||||
|
|
@ -311,10 +263,7 @@ MPU_vTaskSetApplicationTaskTag:
|
|||
b MPU_vTaskSetApplicationTaskTagImpl
|
||||
MPU_vTaskSetApplicationTaskTag_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_vTaskSetApplicationTaskTagImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_vTaskSetApplicationTaskTag
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xTaskGetApplicationTaskTag
|
||||
|
|
@ -328,10 +277,7 @@ MPU_xTaskGetApplicationTaskTag:
|
|||
b MPU_xTaskGetApplicationTaskTagImpl
|
||||
MPU_xTaskGetApplicationTaskTag_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xTaskGetApplicationTaskTagImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xTaskGetApplicationTaskTag
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_vTaskSetThreadLocalStoragePointer
|
||||
|
|
@ -345,10 +291,7 @@ MPU_vTaskSetThreadLocalStoragePointer:
|
|||
b MPU_vTaskSetThreadLocalStoragePointerImpl
|
||||
MPU_vTaskSetThreadLocalStoragePointer_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_vTaskSetThreadLocalStoragePointerImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_vTaskSetThreadLocalStoragePointer
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_pvTaskGetThreadLocalStoragePointer
|
||||
|
|
@ -362,10 +305,7 @@ MPU_pvTaskGetThreadLocalStoragePointer:
|
|||
b MPU_pvTaskGetThreadLocalStoragePointerImpl
|
||||
MPU_pvTaskGetThreadLocalStoragePointer_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_pvTaskGetThreadLocalStoragePointerImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_pvTaskGetThreadLocalStoragePointer
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_uxTaskGetSystemState
|
||||
|
|
@ -379,10 +319,7 @@ MPU_uxTaskGetSystemState:
|
|||
b MPU_uxTaskGetSystemStateImpl
|
||||
MPU_uxTaskGetSystemState_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_uxTaskGetSystemStateImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_uxTaskGetSystemState
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_uxTaskGetStackHighWaterMark
|
||||
|
|
@ -396,10 +333,7 @@ MPU_uxTaskGetStackHighWaterMark:
|
|||
b MPU_uxTaskGetStackHighWaterMarkImpl
|
||||
MPU_uxTaskGetStackHighWaterMark_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_uxTaskGetStackHighWaterMarkImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_uxTaskGetStackHighWaterMark
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_uxTaskGetStackHighWaterMark2
|
||||
|
|
@ -413,10 +347,7 @@ MPU_uxTaskGetStackHighWaterMark2:
|
|||
b MPU_uxTaskGetStackHighWaterMark2Impl
|
||||
MPU_uxTaskGetStackHighWaterMark2_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_uxTaskGetStackHighWaterMark2Impl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_uxTaskGetStackHighWaterMark2
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xTaskGetCurrentTaskHandle
|
||||
|
|
@ -430,10 +361,7 @@ MPU_xTaskGetCurrentTaskHandle:
|
|||
b MPU_xTaskGetCurrentTaskHandleImpl
|
||||
MPU_xTaskGetCurrentTaskHandle_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xTaskGetCurrentTaskHandleImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xTaskGetCurrentTaskHandle
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xTaskGetSchedulerState
|
||||
|
|
@ -447,10 +375,7 @@ MPU_xTaskGetSchedulerState:
|
|||
b MPU_xTaskGetSchedulerStateImpl
|
||||
MPU_xTaskGetSchedulerState_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xTaskGetSchedulerStateImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xTaskGetSchedulerState
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_vTaskSetTimeOutState
|
||||
|
|
@ -464,10 +389,7 @@ MPU_vTaskSetTimeOutState:
|
|||
b MPU_vTaskSetTimeOutStateImpl
|
||||
MPU_vTaskSetTimeOutState_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_vTaskSetTimeOutStateImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_vTaskSetTimeOutState
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xTaskCheckForTimeOut
|
||||
|
|
@ -481,14 +403,11 @@ MPU_xTaskCheckForTimeOut:
|
|||
b MPU_xTaskCheckForTimeOutImpl
|
||||
MPU_xTaskCheckForTimeOut_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xTaskCheckForTimeOutImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xTaskCheckForTimeOut
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xTaskGenericNotify
|
||||
MPU_xTaskGenericNotify:
|
||||
PUBLIC MPU_xTaskGenericNotifyEntry
|
||||
MPU_xTaskGenericNotifyEntry:
|
||||
push {r0}
|
||||
mrs r0, control
|
||||
tst r0, #1
|
||||
|
|
@ -498,14 +417,11 @@ MPU_xTaskGenericNotify:
|
|||
b MPU_xTaskGenericNotifyImpl
|
||||
MPU_xTaskGenericNotify_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER_1
|
||||
bl MPU_xTaskGenericNotifyImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xTaskGenericNotify
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xTaskGenericNotifyWait
|
||||
MPU_xTaskGenericNotifyWait:
|
||||
PUBLIC MPU_xTaskGenericNotifyWaitEntry
|
||||
MPU_xTaskGenericNotifyWaitEntry:
|
||||
push {r0}
|
||||
mrs r0, control
|
||||
tst r0, #1
|
||||
|
|
@ -515,10 +431,7 @@ MPU_xTaskGenericNotifyWait:
|
|||
b MPU_xTaskGenericNotifyWaitImpl
|
||||
MPU_xTaskGenericNotifyWait_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER_1
|
||||
bl MPU_xTaskGenericNotifyWaitImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xTaskGenericNotifyWait
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_ulTaskGenericNotifyTake
|
||||
|
|
@ -532,10 +445,7 @@ MPU_ulTaskGenericNotifyTake:
|
|||
b MPU_ulTaskGenericNotifyTakeImpl
|
||||
MPU_ulTaskGenericNotifyTake_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_ulTaskGenericNotifyTakeImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_ulTaskGenericNotifyTake
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xTaskGenericNotifyStateClear
|
||||
|
|
@ -549,10 +459,7 @@ MPU_xTaskGenericNotifyStateClear:
|
|||
b MPU_xTaskGenericNotifyStateClearImpl
|
||||
MPU_xTaskGenericNotifyStateClear_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xTaskGenericNotifyStateClearImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xTaskGenericNotifyStateClear
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_ulTaskGenericNotifyValueClear
|
||||
|
|
@ -566,10 +473,7 @@ MPU_ulTaskGenericNotifyValueClear:
|
|||
b MPU_ulTaskGenericNotifyValueClearImpl
|
||||
MPU_ulTaskGenericNotifyValueClear_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_ulTaskGenericNotifyValueClearImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_ulTaskGenericNotifyValueClear
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xQueueGenericSend
|
||||
|
|
@ -583,10 +487,7 @@ MPU_xQueueGenericSend:
|
|||
b MPU_xQueueGenericSendImpl
|
||||
MPU_xQueueGenericSend_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xQueueGenericSendImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xQueueGenericSend
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_uxQueueMessagesWaiting
|
||||
|
|
@ -600,10 +501,7 @@ MPU_uxQueueMessagesWaiting:
|
|||
b MPU_uxQueueMessagesWaitingImpl
|
||||
MPU_uxQueueMessagesWaiting_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_uxQueueMessagesWaitingImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_uxQueueMessagesWaiting
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_uxQueueSpacesAvailable
|
||||
|
|
@ -617,10 +515,7 @@ MPU_uxQueueSpacesAvailable:
|
|||
b MPU_uxQueueSpacesAvailableImpl
|
||||
MPU_uxQueueSpacesAvailable_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_uxQueueSpacesAvailableImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_uxQueueSpacesAvailable
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xQueueReceive
|
||||
|
|
@ -634,10 +529,7 @@ MPU_xQueueReceive:
|
|||
b MPU_xQueueReceiveImpl
|
||||
MPU_xQueueReceive_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xQueueReceiveImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xQueueReceive
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xQueuePeek
|
||||
|
|
@ -651,10 +543,7 @@ MPU_xQueuePeek:
|
|||
b MPU_xQueuePeekImpl
|
||||
MPU_xQueuePeek_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xQueuePeekImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xQueuePeek
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xQueueSemaphoreTake
|
||||
|
|
@ -668,10 +557,7 @@ MPU_xQueueSemaphoreTake:
|
|||
b MPU_xQueueSemaphoreTakeImpl
|
||||
MPU_xQueueSemaphoreTake_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xQueueSemaphoreTakeImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xQueueSemaphoreTake
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xQueueGetMutexHolder
|
||||
|
|
@ -685,10 +571,7 @@ MPU_xQueueGetMutexHolder:
|
|||
b MPU_xQueueGetMutexHolderImpl
|
||||
MPU_xQueueGetMutexHolder_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xQueueGetMutexHolderImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xQueueGetMutexHolder
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xQueueTakeMutexRecursive
|
||||
|
|
@ -702,10 +585,7 @@ MPU_xQueueTakeMutexRecursive:
|
|||
b MPU_xQueueTakeMutexRecursiveImpl
|
||||
MPU_xQueueTakeMutexRecursive_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xQueueTakeMutexRecursiveImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xQueueTakeMutexRecursive
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xQueueGiveMutexRecursive
|
||||
|
|
@ -719,10 +599,7 @@ MPU_xQueueGiveMutexRecursive:
|
|||
b MPU_xQueueGiveMutexRecursiveImpl
|
||||
MPU_xQueueGiveMutexRecursive_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xQueueGiveMutexRecursiveImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xQueueGiveMutexRecursive
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xQueueSelectFromSet
|
||||
|
|
@ -736,10 +613,7 @@ MPU_xQueueSelectFromSet:
|
|||
b MPU_xQueueSelectFromSetImpl
|
||||
MPU_xQueueSelectFromSet_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xQueueSelectFromSetImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xQueueSelectFromSet
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xQueueAddToSet
|
||||
|
|
@ -753,10 +627,7 @@ MPU_xQueueAddToSet:
|
|||
b MPU_xQueueAddToSetImpl
|
||||
MPU_xQueueAddToSet_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xQueueAddToSetImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xQueueAddToSet
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_vQueueAddToRegistry
|
||||
|
|
@ -770,10 +641,7 @@ MPU_vQueueAddToRegistry:
|
|||
b MPU_vQueueAddToRegistryImpl
|
||||
MPU_vQueueAddToRegistry_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_vQueueAddToRegistryImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_vQueueAddToRegistry
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_vQueueUnregisterQueue
|
||||
|
|
@ -787,10 +655,7 @@ MPU_vQueueUnregisterQueue:
|
|||
b MPU_vQueueUnregisterQueueImpl
|
||||
MPU_vQueueUnregisterQueue_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_vQueueUnregisterQueueImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_vQueueUnregisterQueue
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_pcQueueGetName
|
||||
|
|
@ -804,10 +669,7 @@ MPU_pcQueueGetName:
|
|||
b MPU_pcQueueGetNameImpl
|
||||
MPU_pcQueueGetName_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_pcQueueGetNameImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_pcQueueGetName
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_pvTimerGetTimerID
|
||||
|
|
@ -821,10 +683,7 @@ MPU_pvTimerGetTimerID:
|
|||
b MPU_pvTimerGetTimerIDImpl
|
||||
MPU_pvTimerGetTimerID_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_pvTimerGetTimerIDImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_pvTimerGetTimerID
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_vTimerSetTimerID
|
||||
|
|
@ -838,10 +697,7 @@ MPU_vTimerSetTimerID:
|
|||
b MPU_vTimerSetTimerIDImpl
|
||||
MPU_vTimerSetTimerID_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_vTimerSetTimerIDImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_vTimerSetTimerID
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xTimerIsTimerActive
|
||||
|
|
@ -855,10 +711,7 @@ MPU_xTimerIsTimerActive:
|
|||
b MPU_xTimerIsTimerActiveImpl
|
||||
MPU_xTimerIsTimerActive_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xTimerIsTimerActiveImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xTimerIsTimerActive
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xTimerGetTimerDaemonTaskHandle
|
||||
|
|
@ -872,14 +725,11 @@ MPU_xTimerGetTimerDaemonTaskHandle:
|
|||
b MPU_xTimerGetTimerDaemonTaskHandleImpl
|
||||
MPU_xTimerGetTimerDaemonTaskHandle_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xTimerGetTimerDaemonTaskHandleImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xTimerGetTimerDaemonTaskHandle
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xTimerGenericCommandFromTask
|
||||
MPU_xTimerGenericCommandFromTask:
|
||||
PUBLIC MPU_xTimerGenericCommandFromTaskEntry
|
||||
MPU_xTimerGenericCommandFromTaskEntry:
|
||||
push {r0}
|
||||
mrs r0, control
|
||||
tst r0, #1
|
||||
|
|
@ -889,10 +739,7 @@ MPU_xTimerGenericCommandFromTask:
|
|||
b MPU_xTimerGenericCommandFromTaskImpl
|
||||
MPU_xTimerGenericCommandFromTask_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER_1
|
||||
bl MPU_xTimerGenericCommandFromTaskImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xTimerGenericCommandFromTask
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_pcTimerGetName
|
||||
|
|
@ -906,10 +753,7 @@ MPU_pcTimerGetName:
|
|||
b MPU_pcTimerGetNameImpl
|
||||
MPU_pcTimerGetName_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_pcTimerGetNameImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_pcTimerGetName
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_vTimerSetReloadMode
|
||||
|
|
@ -923,10 +767,7 @@ MPU_vTimerSetReloadMode:
|
|||
b MPU_vTimerSetReloadModeImpl
|
||||
MPU_vTimerSetReloadMode_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_vTimerSetReloadModeImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_vTimerSetReloadMode
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xTimerGetReloadMode
|
||||
|
|
@ -940,10 +781,7 @@ MPU_xTimerGetReloadMode:
|
|||
b MPU_xTimerGetReloadModeImpl
|
||||
MPU_xTimerGetReloadMode_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xTimerGetReloadModeImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xTimerGetReloadMode
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_uxTimerGetReloadMode
|
||||
|
|
@ -957,10 +795,7 @@ MPU_uxTimerGetReloadMode:
|
|||
b MPU_uxTimerGetReloadModeImpl
|
||||
MPU_uxTimerGetReloadMode_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_uxTimerGetReloadModeImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_uxTimerGetReloadMode
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xTimerGetPeriod
|
||||
|
|
@ -974,10 +809,7 @@ MPU_xTimerGetPeriod:
|
|||
b MPU_xTimerGetPeriodImpl
|
||||
MPU_xTimerGetPeriod_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xTimerGetPeriodImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xTimerGetPeriod
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xTimerGetExpiryTime
|
||||
|
|
@ -991,14 +823,11 @@ MPU_xTimerGetExpiryTime:
|
|||
b MPU_xTimerGetExpiryTimeImpl
|
||||
MPU_xTimerGetExpiryTime_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xTimerGetExpiryTimeImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xTimerGetExpiryTime
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xEventGroupWaitBits
|
||||
MPU_xEventGroupWaitBits:
|
||||
PUBLIC MPU_xEventGroupWaitBitsEntry
|
||||
MPU_xEventGroupWaitBitsEntry:
|
||||
push {r0}
|
||||
mrs r0, control
|
||||
tst r0, #1
|
||||
|
|
@ -1008,10 +837,7 @@ MPU_xEventGroupWaitBits:
|
|||
b MPU_xEventGroupWaitBitsImpl
|
||||
MPU_xEventGroupWaitBits_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER_1
|
||||
bl MPU_xEventGroupWaitBitsImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xEventGroupWaitBits
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xEventGroupClearBits
|
||||
|
|
@ -1025,10 +851,7 @@ MPU_xEventGroupClearBits:
|
|||
b MPU_xEventGroupClearBitsImpl
|
||||
MPU_xEventGroupClearBits_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xEventGroupClearBitsImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xEventGroupClearBits
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xEventGroupSetBits
|
||||
|
|
@ -1042,10 +865,7 @@ MPU_xEventGroupSetBits:
|
|||
b MPU_xEventGroupSetBitsImpl
|
||||
MPU_xEventGroupSetBits_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xEventGroupSetBitsImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xEventGroupSetBits
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xEventGroupSync
|
||||
|
|
@ -1059,10 +879,7 @@ MPU_xEventGroupSync:
|
|||
b MPU_xEventGroupSyncImpl
|
||||
MPU_xEventGroupSync_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xEventGroupSyncImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xEventGroupSync
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_uxEventGroupGetNumber
|
||||
|
|
@ -1076,10 +893,7 @@ MPU_uxEventGroupGetNumber:
|
|||
b MPU_uxEventGroupGetNumberImpl
|
||||
MPU_uxEventGroupGetNumber_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_uxEventGroupGetNumberImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_uxEventGroupGetNumber
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_vEventGroupSetNumber
|
||||
|
|
@ -1093,10 +907,7 @@ MPU_vEventGroupSetNumber:
|
|||
b MPU_vEventGroupSetNumberImpl
|
||||
MPU_vEventGroupSetNumber_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_vEventGroupSetNumberImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_vEventGroupSetNumber
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xStreamBufferSend
|
||||
|
|
@ -1110,10 +921,7 @@ MPU_xStreamBufferSend:
|
|||
b MPU_xStreamBufferSendImpl
|
||||
MPU_xStreamBufferSend_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xStreamBufferSendImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xStreamBufferSend
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xStreamBufferReceive
|
||||
|
|
@ -1127,10 +935,7 @@ MPU_xStreamBufferReceive:
|
|||
b MPU_xStreamBufferReceiveImpl
|
||||
MPU_xStreamBufferReceive_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xStreamBufferReceiveImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xStreamBufferReceive
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xStreamBufferIsFull
|
||||
|
|
@ -1144,10 +949,7 @@ MPU_xStreamBufferIsFull:
|
|||
b MPU_xStreamBufferIsFullImpl
|
||||
MPU_xStreamBufferIsFull_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xStreamBufferIsFullImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xStreamBufferIsFull
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xStreamBufferIsEmpty
|
||||
|
|
@ -1161,10 +963,7 @@ MPU_xStreamBufferIsEmpty:
|
|||
b MPU_xStreamBufferIsEmptyImpl
|
||||
MPU_xStreamBufferIsEmpty_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xStreamBufferIsEmptyImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xStreamBufferIsEmpty
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xStreamBufferSpacesAvailable
|
||||
|
|
@ -1178,10 +977,7 @@ MPU_xStreamBufferSpacesAvailable:
|
|||
b MPU_xStreamBufferSpacesAvailableImpl
|
||||
MPU_xStreamBufferSpacesAvailable_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xStreamBufferSpacesAvailableImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xStreamBufferSpacesAvailable
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xStreamBufferBytesAvailable
|
||||
|
|
@ -1195,10 +991,7 @@ MPU_xStreamBufferBytesAvailable:
|
|||
b MPU_xStreamBufferBytesAvailableImpl
|
||||
MPU_xStreamBufferBytesAvailable_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xStreamBufferBytesAvailableImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xStreamBufferBytesAvailable
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xStreamBufferSetTriggerLevel
|
||||
|
|
@ -1212,10 +1005,7 @@ MPU_xStreamBufferSetTriggerLevel:
|
|||
b MPU_xStreamBufferSetTriggerLevelImpl
|
||||
MPU_xStreamBufferSetTriggerLevel_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xStreamBufferSetTriggerLevelImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xStreamBufferSetTriggerLevel
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
PUBLIC MPU_xStreamBufferNextMessageLengthBytes
|
||||
|
|
@ -1229,10 +1019,7 @@ MPU_xStreamBufferNextMessageLengthBytes:
|
|||
b MPU_xStreamBufferNextMessageLengthBytesImpl
|
||||
MPU_xStreamBufferNextMessageLengthBytes_Unpriv:
|
||||
pop {r0}
|
||||
svc #portSVC_SYSTEM_CALL_ENTER
|
||||
bl MPU_xStreamBufferNextMessageLengthBytesImpl
|
||||
svc #portSVC_SYSTEM_CALL_EXIT
|
||||
bx lr
|
||||
svc #SYSTEM_CALL_xStreamBufferNextMessageLengthBytes
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
/* Default weak implementations in case one is not available from
|
||||
|
|
|
|||
|
|
@ -32,6 +32,9 @@ the code is included in C files but excluded by the preprocessor in assembly
|
|||
files (__ICCARM__ is defined by the IAR C compiler but not by the IAR assembler. */
|
||||
#include "FreeRTOSConfig.h"
|
||||
|
||||
/* System call numbers includes. */
|
||||
#include "mpu_syscall_numbers.h"
|
||||
|
||||
#ifndef configUSE_MPU_WRAPPERS_V1
|
||||
#define configUSE_MPU_WRAPPERS_V1 0
|
||||
#endif
|
||||
|
|
@ -41,7 +44,6 @@ files (__ICCARM__ is defined by the IAR C compiler but not by the IAR assembler.
|
|||
EXTERN vPortSVCHandler_C
|
||||
#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) )
|
||||
EXTERN vSystemCallEnter
|
||||
EXTERN vSystemCallEnter_1
|
||||
EXTERN vSystemCallExit
|
||||
#endif
|
||||
|
||||
|
|
@ -191,7 +193,7 @@ vStartFirstTask:
|
|||
cpsie f
|
||||
dsb
|
||||
isb
|
||||
svc 2 /* System call to start the first task. portSVC_START_SCHEDULER = 2. */
|
||||
svc 102 /* System call to start the first task. portSVC_START_SCHEDULER = 102. */
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
ulSetInterruptMask:
|
||||
|
|
@ -371,11 +373,9 @@ SVC_Handler:
|
|||
|
||||
ldr r1, [r0, #24]
|
||||
ldrb r2, [r1, #-2]
|
||||
cmp r2, #4 /* portSVC_SYSTEM_CALL_ENTER. */
|
||||
beq syscall_enter
|
||||
cmp r2, #5 /* portSVC_SYSTEM_CALL_ENTER_1. */
|
||||
beq syscall_enter_1
|
||||
cmp r2, #6 /* portSVC_SYSTEM_CALL_EXIT. */
|
||||
cmp r2, #NUM_SYSTEM_CALLS
|
||||
blt syscall_enter
|
||||
cmp r2, #104 /* portSVC_SYSTEM_CALL_EXIT. */
|
||||
beq syscall_exit
|
||||
b vPortSVCHandler_C
|
||||
|
||||
|
|
@ -383,10 +383,6 @@ SVC_Handler:
|
|||
mov r1, lr
|
||||
b vSystemCallEnter
|
||||
|
||||
syscall_enter_1:
|
||||
mov r1, lr
|
||||
b vSystemCallEnter_1
|
||||
|
||||
syscall_exit:
|
||||
mov r1, lr
|
||||
b vSystemCallExit
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue