Add config option for event groups and stream buffers (#994)

* Add configUSE_EVENT_GROUPS in source files

* Add configUSE_EVENT_GROUPS macro in MPU wrapper files

* Add configUSE_EVENT_GROUPS macro in MPU port files for GCC and RVDS compilers

* Fix Formatting

* Add configUSE_STREAM_BUFFERS in source files

* Add configUSE_STREAM_BUFFERS  macro in MPU wrapper files

* Add configUSE_STREAM_BUFFERS macro in MPU port files for GCC and RVDS compilers

* Update FreeRTOS.h post latest commit

* Update the ARM_CRx_MPU Port to account for the new configuration changes

* Formatting suggestions

Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>

* Code review suggestions

---------

Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
Co-authored-by: joshzarr <joshzarr@amazon.com>
Co-authored-by: Gaurav Aggarwal <aggarg@amazon.com>
Co-authored-by: Soren Ptak <ptaksoren@gmail.com>
Co-authored-by: Gaurav-Aggarwal-AWS <33462878+aggarg@users.noreply.github.com>
This commit is contained in:
Rahul Kar 2024-03-27 14:49:47 +05:30 committed by GitHub
parent 39dbff7204
commit e8289dfee6
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
26 changed files with 7266 additions and 6113 deletions

View file

@ -1634,113 +1634,130 @@
#endif /* if ( configUSE_TIMERS == 1 ) */
/*-----------------------------------------------------------*/
EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL;
#if ( configUSE_EVENT_GROUPS == 1 )
EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
{
__asm volatile
(
" .syntax unified \n"
" .extern MPU_xEventGroupWaitBitsImpl \n"
" \n"
" push {r0} \n"
" mrs r0, control \n"
" tst r0, #1 \n"
" pop {r0} \n"
" bne MPU_xEventGroupWaitBits_Unpriv \n"
" MPU_xEventGroupWaitBits_Priv: \n"
" b MPU_xEventGroupWaitBitsImpl \n"
" MPU_xEventGroupWaitBits_Unpriv: \n"
" svc %0 \n"
" \n"
: : "i" ( SYSTEM_CALL_xEventGroupWaitBits ) : "memory"
);
}
EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL;
EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
{
__asm volatile
(
" .syntax unified \n"
" .extern MPU_xEventGroupWaitBitsImpl \n"
" \n"
" push {r0} \n"
" mrs r0, control \n"
" tst r0, #1 \n"
" pop {r0} \n"
" bne MPU_xEventGroupWaitBits_Unpriv \n"
" MPU_xEventGroupWaitBits_Priv: \n"
" b MPU_xEventGroupWaitBitsImpl \n"
" MPU_xEventGroupWaitBits_Unpriv: \n"
" svc %0 \n"
" \n"
: : "i" ( SYSTEM_CALL_xEventGroupWaitBits ) : "memory"
);
}
#endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */
/*-----------------------------------------------------------*/
EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup,
const EventBits_t uxBitsToClear ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL;
#if ( configUSE_EVENT_GROUPS == 1 )
EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup,
const EventBits_t uxBitsToClear ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
{
__asm volatile
(
" .syntax unified \n"
" .extern MPU_xEventGroupClearBitsImpl \n"
" \n"
" push {r0} \n"
" mrs r0, control \n"
" tst r0, #1 \n"
" pop {r0} \n"
" bne MPU_xEventGroupClearBits_Unpriv \n"
" MPU_xEventGroupClearBits_Priv: \n"
" b MPU_xEventGroupClearBitsImpl \n"
" MPU_xEventGroupClearBits_Unpriv: \n"
" svc %0 \n"
" \n"
: : "i" ( SYSTEM_CALL_xEventGroupClearBits ) : "memory"
);
}
EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup,
const EventBits_t uxBitsToClear ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL;
EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup,
const EventBits_t uxBitsToClear ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
{
__asm volatile
(
" .syntax unified \n"
" .extern MPU_xEventGroupClearBitsImpl \n"
" \n"
" push {r0} \n"
" mrs r0, control \n"
" tst r0, #1 \n"
" pop {r0} \n"
" bne MPU_xEventGroupClearBits_Unpriv \n"
" MPU_xEventGroupClearBits_Priv: \n"
" b MPU_xEventGroupClearBitsImpl \n"
" MPU_xEventGroupClearBits_Unpriv: \n"
" svc %0 \n"
" \n"
: : "i" ( SYSTEM_CALL_xEventGroupClearBits ) : "memory"
);
}
#endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */
/*-----------------------------------------------------------*/
EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup,
const EventBits_t uxBitsToSet ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL;
#if ( configUSE_EVENT_GROUPS == 1 )
EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup,
const EventBits_t uxBitsToSet ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL;
EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup,
const EventBits_t uxBitsToSet ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
{
__asm volatile
(
" .syntax unified \n"
" .extern MPU_xEventGroupSetBitsImpl \n"
" \n"
" push {r0} \n"
" mrs r0, control \n"
" tst r0, #1 \n"
" pop {r0} \n"
" bne MPU_xEventGroupSetBits_Unpriv \n"
" MPU_xEventGroupSetBits_Priv: \n"
" b MPU_xEventGroupSetBitsImpl \n"
" MPU_xEventGroupSetBits_Unpriv: \n"
" svc %0 \n"
" \n"
: : "i" ( SYSTEM_CALL_xEventGroupSetBits ) : "memory"
);
}
#endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */
EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup,
const EventBits_t uxBitsToSet ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
{
__asm volatile
(
" .syntax unified \n"
" .extern MPU_xEventGroupSetBitsImpl \n"
" \n"
" push {r0} \n"
" mrs r0, control \n"
" tst r0, #1 \n"
" pop {r0} \n"
" bne MPU_xEventGroupSetBits_Unpriv \n"
" MPU_xEventGroupSetBits_Priv: \n"
" b MPU_xEventGroupSetBitsImpl \n"
" MPU_xEventGroupSetBits_Unpriv: \n"
" svc %0 \n"
" \n"
: : "i" ( SYSTEM_CALL_xEventGroupSetBits ) : "memory"
);
}
/*-----------------------------------------------------------*/
EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup,
const EventBits_t uxBitsToSet,
const EventBits_t uxBitsToWaitFor,
TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL;
#if ( configUSE_EVENT_GROUPS == 1 )
EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup,
const EventBits_t uxBitsToSet,
const EventBits_t uxBitsToWaitFor,
TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
{
__asm volatile
(
" .syntax unified \n"
" .extern MPU_xEventGroupSyncImpl \n"
" \n"
" push {r0} \n"
" mrs r0, control \n"
" tst r0, #1 \n"
" pop {r0} \n"
" bne MPU_xEventGroupSync_Unpriv \n"
" MPU_xEventGroupSync_Priv: \n"
" b MPU_xEventGroupSyncImpl \n"
" MPU_xEventGroupSync_Unpriv: \n"
" svc %0 \n"
" \n"
: : "i" ( SYSTEM_CALL_xEventGroupSync ) : "memory"
);
}
EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup,
const EventBits_t uxBitsToSet,
const EventBits_t uxBitsToWaitFor,
TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL;
EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup,
const EventBits_t uxBitsToSet,
const EventBits_t uxBitsToWaitFor,
TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
{
__asm volatile
(
" .syntax unified \n"
" .extern MPU_xEventGroupSyncImpl \n"
" \n"
" push {r0} \n"
" mrs r0, control \n"
" tst r0, #1 \n"
" pop {r0} \n"
" bne MPU_xEventGroupSync_Unpriv \n"
" MPU_xEventGroupSync_Priv: \n"
" b MPU_xEventGroupSyncImpl \n"
" MPU_xEventGroupSync_Unpriv: \n"
" svc %0 \n"
" \n"
: : "i" ( SYSTEM_CALL_xEventGroupSync ) : "memory"
);
}
#endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */
/*-----------------------------------------------------------*/
#if ( configUSE_TRACE_FACILITY == 1 )
#if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) )
UBaseType_t MPU_uxEventGroupGetNumber( void * xEventGroup ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL;
@ -1765,10 +1782,10 @@
);
}
#endif /*( configUSE_TRACE_FACILITY == 1 )*/
#endif /* #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) */
/*-----------------------------------------------------------*/
#if ( configUSE_TRACE_FACILITY == 1 )
#if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) )
void MPU_vEventGroupSetNumber( void * xEventGroup,
UBaseType_t uxEventGroupNumber ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL;
@ -1795,213 +1812,245 @@
);
}
#endif /*( configUSE_TRACE_FACILITY == 1 )*/
#endif /* #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) */
/*-----------------------------------------------------------*/
size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer,
const void * pvTxData,
size_t xDataLengthBytes,
TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL;
#if ( configUSE_STREAM_BUFFERS == 1 )
size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer,
const void * pvTxData,
size_t xDataLengthBytes,
TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
{
__asm volatile
(
" .syntax unified \n"
" .extern MPU_xStreamBufferSendImpl \n"
" \n"
" push {r0} \n"
" mrs r0, control \n"
" tst r0, #1 \n"
" pop {r0} \n"
" bne MPU_xStreamBufferSend_Unpriv \n"
" MPU_xStreamBufferSend_Priv: \n"
" b MPU_xStreamBufferSendImpl \n"
" MPU_xStreamBufferSend_Unpriv: \n"
" svc %0 \n"
" \n"
: : "i" ( SYSTEM_CALL_xStreamBufferSend ) : "memory"
);
}
size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer,
const void * pvTxData,
size_t xDataLengthBytes,
TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL;
size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer,
const void * pvTxData,
size_t xDataLengthBytes,
TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
{
__asm volatile
(
" .syntax unified \n"
" .extern MPU_xStreamBufferSendImpl \n"
" \n"
" push {r0} \n"
" mrs r0, control \n"
" tst r0, #1 \n"
" pop {r0} \n"
" bne MPU_xStreamBufferSend_Unpriv \n"
" MPU_xStreamBufferSend_Priv: \n"
" b MPU_xStreamBufferSendImpl \n"
" MPU_xStreamBufferSend_Unpriv: \n"
" svc %0 \n"
" \n"
: : "i" ( SYSTEM_CALL_xStreamBufferSend ) : "memory"
);
}
#endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */
/*-----------------------------------------------------------*/
size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer,
void * pvRxData,
size_t xBufferLengthBytes,
TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL;
#if ( configUSE_STREAM_BUFFERS == 1 )
size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer,
void * pvRxData,
size_t xBufferLengthBytes,
TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
{
__asm volatile
(
" .syntax unified \n"
" .extern MPU_xStreamBufferReceiveImpl \n"
" \n"
" push {r0} \n"
" mrs r0, control \n"
" tst r0, #1 \n"
" pop {r0} \n"
" bne MPU_xStreamBufferReceive_Unpriv \n"
" MPU_xStreamBufferReceive_Priv: \n"
" b MPU_xStreamBufferReceiveImpl \n"
" MPU_xStreamBufferReceive_Unpriv: \n"
" svc %0 \n"
" \n"
: : "i" ( SYSTEM_CALL_xStreamBufferReceive ) : "memory"
);
}
size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer,
void * pvRxData,
size_t xBufferLengthBytes,
TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL;
size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer,
void * pvRxData,
size_t xBufferLengthBytes,
TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
{
__asm volatile
(
" .syntax unified \n"
" .extern MPU_xStreamBufferReceiveImpl \n"
" \n"
" push {r0} \n"
" mrs r0, control \n"
" tst r0, #1 \n"
" pop {r0} \n"
" bne MPU_xStreamBufferReceive_Unpriv \n"
" MPU_xStreamBufferReceive_Priv: \n"
" b MPU_xStreamBufferReceiveImpl \n"
" MPU_xStreamBufferReceive_Unpriv: \n"
" svc %0 \n"
" \n"
: : "i" ( SYSTEM_CALL_xStreamBufferReceive ) : "memory"
);
}
#endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */
/*-----------------------------------------------------------*/
BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL;
#if ( configUSE_STREAM_BUFFERS == 1 )
BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
{
__asm volatile
(
" .syntax unified \n"
" .extern MPU_xStreamBufferIsFullImpl \n"
" \n"
" push {r0} \n"
" mrs r0, control \n"
" tst r0, #1 \n"
" pop {r0} \n"
" bne MPU_xStreamBufferIsFull_Unpriv \n"
" MPU_xStreamBufferIsFull_Priv: \n"
" b MPU_xStreamBufferIsFullImpl \n"
" MPU_xStreamBufferIsFull_Unpriv: \n"
" svc %0 \n"
" \n"
: : "i" ( SYSTEM_CALL_xStreamBufferIsFull ) : "memory"
);
}
BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL;
BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
{
__asm volatile
(
" .syntax unified \n"
" .extern MPU_xStreamBufferIsFullImpl \n"
" \n"
" push {r0} \n"
" mrs r0, control \n"
" tst r0, #1 \n"
" pop {r0} \n"
" bne MPU_xStreamBufferIsFull_Unpriv \n"
" MPU_xStreamBufferIsFull_Priv: \n"
" b MPU_xStreamBufferIsFullImpl \n"
" MPU_xStreamBufferIsFull_Unpriv: \n"
" svc %0 \n"
" \n"
: : "i" ( SYSTEM_CALL_xStreamBufferIsFull ) : "memory"
);
}
#endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */
/*-----------------------------------------------------------*/
BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL;
#if ( configUSE_STREAM_BUFFERS == 1 )
BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
{
__asm volatile
(
" .syntax unified \n"
" .extern MPU_xStreamBufferIsEmptyImpl \n"
" \n"
" push {r0} \n"
" mrs r0, control \n"
" tst r0, #1 \n"
" pop {r0} \n"
" bne MPU_xStreamBufferIsEmpty_Unpriv \n"
" MPU_xStreamBufferIsEmpty_Priv: \n"
" b MPU_xStreamBufferIsEmptyImpl \n"
" MPU_xStreamBufferIsEmpty_Unpriv: \n"
" svc %0 \n"
" \n"
: : "i" ( SYSTEM_CALL_xStreamBufferIsEmpty ) : "memory"
);
}
BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL;
BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
{
__asm volatile
(
" .syntax unified \n"
" .extern MPU_xStreamBufferIsEmptyImpl \n"
" \n"
" push {r0} \n"
" mrs r0, control \n"
" tst r0, #1 \n"
" pop {r0} \n"
" bne MPU_xStreamBufferIsEmpty_Unpriv \n"
" MPU_xStreamBufferIsEmpty_Priv: \n"
" b MPU_xStreamBufferIsEmptyImpl \n"
" MPU_xStreamBufferIsEmpty_Unpriv: \n"
" svc %0 \n"
" \n"
: : "i" ( SYSTEM_CALL_xStreamBufferIsEmpty ) : "memory"
);
}
#endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */
/*-----------------------------------------------------------*/
size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL;
#if ( configUSE_STREAM_BUFFERS == 1 )
size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
{
__asm volatile
(
" .syntax unified \n"
" .extern MPU_xStreamBufferSpacesAvailableImpl \n"
" \n"
" push {r0} \n"
" mrs r0, control \n"
" tst r0, #1 \n"
" pop {r0} \n"
" bne MPU_xStreamBufferSpacesAvailable_Unpriv \n"
" MPU_xStreamBufferSpacesAvailable_Priv: \n"
" b MPU_xStreamBufferSpacesAvailableImpl \n"
" MPU_xStreamBufferSpacesAvailable_Unpriv: \n"
" svc %0 \n"
" \n"
: : "i" ( SYSTEM_CALL_xStreamBufferSpacesAvailable ) : "memory"
);
}
size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL;
size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
{
__asm volatile
(
" .syntax unified \n"
" .extern MPU_xStreamBufferSpacesAvailableImpl \n"
" \n"
" push {r0} \n"
" mrs r0, control \n"
" tst r0, #1 \n"
" pop {r0} \n"
" bne MPU_xStreamBufferSpacesAvailable_Unpriv \n"
" MPU_xStreamBufferSpacesAvailable_Priv: \n"
" b MPU_xStreamBufferSpacesAvailableImpl \n"
" MPU_xStreamBufferSpacesAvailable_Unpriv: \n"
" svc %0 \n"
" \n"
: : "i" ( SYSTEM_CALL_xStreamBufferSpacesAvailable ) : "memory"
);
}
#endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */
/*-----------------------------------------------------------*/
size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL;
#if ( configUSE_STREAM_BUFFERS == 1 )
size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
{
__asm volatile
(
" .syntax unified \n"
" .extern MPU_xStreamBufferBytesAvailableImpl \n"
" \n"
" push {r0} \n"
" mrs r0, control \n"
" tst r0, #1 \n"
" pop {r0} \n"
" bne MPU_xStreamBufferBytesAvailable_Unpriv \n"
" MPU_xStreamBufferBytesAvailable_Priv: \n"
" b MPU_xStreamBufferBytesAvailableImpl \n"
" MPU_xStreamBufferBytesAvailable_Unpriv: \n"
" svc %0 \n"
" \n"
: : "i" ( SYSTEM_CALL_xStreamBufferBytesAvailable ) : "memory"
);
}
size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL;
size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
{
__asm volatile
(
" .syntax unified \n"
" .extern MPU_xStreamBufferBytesAvailableImpl \n"
" \n"
" push {r0} \n"
" mrs r0, control \n"
" tst r0, #1 \n"
" pop {r0} \n"
" bne MPU_xStreamBufferBytesAvailable_Unpriv \n"
" MPU_xStreamBufferBytesAvailable_Priv: \n"
" b MPU_xStreamBufferBytesAvailableImpl \n"
" MPU_xStreamBufferBytesAvailable_Unpriv: \n"
" svc %0 \n"
" \n"
: : "i" ( SYSTEM_CALL_xStreamBufferBytesAvailable ) : "memory"
);
}
#endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */
/*-----------------------------------------------------------*/
BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer,
size_t xTriggerLevel ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL;
#if ( configUSE_STREAM_BUFFERS == 1 )
BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer,
size_t xTriggerLevel ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
{
__asm volatile
(
" .syntax unified \n"
" .extern MPU_xStreamBufferSetTriggerLevelImpl \n"
" \n"
" push {r0} \n"
" mrs r0, control \n"
" tst r0, #1 \n"
" pop {r0} \n"
" bne MPU_xStreamBufferSetTriggerLevel_Unpriv \n"
" MPU_xStreamBufferSetTriggerLevel_Priv: \n"
" b MPU_xStreamBufferSetTriggerLevelImpl \n"
" MPU_xStreamBufferSetTriggerLevel_Unpriv: \n"
" svc %0 \n"
" \n"
: : "i" ( SYSTEM_CALL_xStreamBufferSetTriggerLevel ) : "memory"
);
}
BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer,
size_t xTriggerLevel ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL;
BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer,
size_t xTriggerLevel ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
{
__asm volatile
(
" .syntax unified \n"
" .extern MPU_xStreamBufferSetTriggerLevelImpl \n"
" \n"
" push {r0} \n"
" mrs r0, control \n"
" tst r0, #1 \n"
" pop {r0} \n"
" bne MPU_xStreamBufferSetTriggerLevel_Unpriv \n"
" MPU_xStreamBufferSetTriggerLevel_Priv: \n"
" b MPU_xStreamBufferSetTriggerLevelImpl \n"
" MPU_xStreamBufferSetTriggerLevel_Unpriv: \n"
" svc %0 \n"
" \n"
: : "i" ( SYSTEM_CALL_xStreamBufferSetTriggerLevel ) : "memory"
);
}
#endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */
/*-----------------------------------------------------------*/
size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL;
#if ( configUSE_STREAM_BUFFERS == 1 )
size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
{
__asm volatile
(
" .syntax unified \n"
" .extern MPU_xStreamBufferNextMessageLengthBytesImpl \n"
" \n"
" push {r0} \n"
" mrs r0, control \n"
" tst r0, #1 \n"
" pop {r0} \n"
" bne MPU_xStreamBufferNextMessageLengthBytes_Unpriv \n"
" MPU_xStreamBufferNextMessageLengthBytes_Priv: \n"
" b MPU_xStreamBufferNextMessageLengthBytesImpl \n"
" MPU_xStreamBufferNextMessageLengthBytes_Unpriv: \n"
" svc %0 \n"
" \n"
: : "i" ( SYSTEM_CALL_xStreamBufferNextMessageLengthBytes ) : "memory"
);
}
size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL;
size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
{
__asm volatile
(
" .syntax unified \n"
" .extern MPU_xStreamBufferNextMessageLengthBytesImpl \n"
" \n"
" push {r0} \n"
" mrs r0, control \n"
" tst r0, #1 \n"
" pop {r0} \n"
" bne MPU_xStreamBufferNextMessageLengthBytes_Unpriv \n"
" MPU_xStreamBufferNextMessageLengthBytes_Priv: \n"
" b MPU_xStreamBufferNextMessageLengthBytesImpl \n"
" MPU_xStreamBufferNextMessageLengthBytes_Unpriv: \n"
" svc %0 \n"
" \n"
: : "i" ( SYSTEM_CALL_xStreamBufferNextMessageLengthBytes ) : "memory"
);
}
#endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */
/*-----------------------------------------------------------*/
#endif /* ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) */