mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-08-19 09:38:32 -04:00
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:
parent
39dbff7204
commit
e8289dfee6
26 changed files with 7266 additions and 6113 deletions
|
@ -1952,7 +1952,7 @@
|
|||
#endif /* if ( configUSE_TIMERS == 1 ) */
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
#if ( configSUPPORT_DYNAMIC_ALLOCATION == 1 )
|
||||
#if ( ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) && ( configUSE_EVENT_GROUPS == 1 ) )
|
||||
EventGroupHandle_t MPU_xEventGroupCreate( void ) /* FREERTOS_SYSTEM_CALL */
|
||||
{
|
||||
EventGroupHandle_t xReturn;
|
||||
|
@ -1975,10 +1975,10 @@
|
|||
|
||||
return xReturn;
|
||||
}
|
||||
#endif /* if ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) */
|
||||
#endif /* #if ( ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) && ( configUSE_EVENT_GROUPS == 1 ) ) */
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
#if ( configSUPPORT_STATIC_ALLOCATION == 1 )
|
||||
#if ( ( configSUPPORT_STATIC_ALLOCATION == 1 ) && ( configUSE_EVENT_GROUPS == 1 ) )
|
||||
EventGroupHandle_t MPU_xEventGroupCreateStatic( StaticEventGroup_t * pxEventGroupBuffer ) /* FREERTOS_SYSTEM_CALL */
|
||||
{
|
||||
EventGroupHandle_t xReturn;
|
||||
|
@ -2001,377 +2001,407 @@
|
|||
|
||||
return xReturn;
|
||||
}
|
||||
#endif /* if ( configSUPPORT_STATIC_ALLOCATION == 1 ) */
|
||||
#endif /* #if ( ( configSUPPORT_STATIC_ALLOCATION == 1 ) && ( configUSE_EVENT_GROUPS == 1 ) ) */
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
EventBits_t MPU_xEventGroupWaitBits( EventGroupHandle_t xEventGroup,
|
||||
#if ( configUSE_EVENT_GROUPS == 1 )
|
||||
EventBits_t MPU_xEventGroupWaitBits( EventGroupHandle_t xEventGroup,
|
||||
const EventBits_t uxBitsToWaitFor,
|
||||
const BaseType_t xClearOnExit,
|
||||
const BaseType_t xWaitForAllBits,
|
||||
TickType_t xTicksToWait ) /* FREERTOS_SYSTEM_CALL */
|
||||
{
|
||||
EventBits_t xReturn;
|
||||
|
||||
if( portIS_PRIVILEGED() == pdFALSE )
|
||||
{
|
||||
portRAISE_PRIVILEGE();
|
||||
portMEMORY_BARRIER();
|
||||
|
||||
xReturn = xEventGroupWaitBits( xEventGroup, uxBitsToWaitFor, xClearOnExit, xWaitForAllBits, xTicksToWait );
|
||||
portMEMORY_BARRIER();
|
||||
|
||||
portRESET_PRIVILEGE();
|
||||
portMEMORY_BARRIER();
|
||||
}
|
||||
else
|
||||
{
|
||||
xReturn = xEventGroupWaitBits( xEventGroup, uxBitsToWaitFor, xClearOnExit, xWaitForAllBits, xTicksToWait );
|
||||
}
|
||||
|
||||
return xReturn;
|
||||
}
|
||||
#endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
#if ( configUSE_EVENT_GROUPS == 1 )
|
||||
EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup,
|
||||
const EventBits_t uxBitsToClear ) /* FREERTOS_SYSTEM_CALL */
|
||||
{
|
||||
EventBits_t xReturn;
|
||||
|
||||
if( portIS_PRIVILEGED() == pdFALSE )
|
||||
{
|
||||
portRAISE_PRIVILEGE();
|
||||
portMEMORY_BARRIER();
|
||||
|
||||
xReturn = xEventGroupClearBits( xEventGroup, uxBitsToClear );
|
||||
portMEMORY_BARRIER();
|
||||
|
||||
portRESET_PRIVILEGE();
|
||||
portMEMORY_BARRIER();
|
||||
}
|
||||
else
|
||||
{
|
||||
xReturn = xEventGroupClearBits( xEventGroup, uxBitsToClear );
|
||||
}
|
||||
|
||||
return xReturn;
|
||||
}
|
||||
#endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
#if ( configUSE_EVENT_GROUPS == 1 )
|
||||
EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup,
|
||||
const EventBits_t uxBitsToSet ) /* FREERTOS_SYSTEM_CALL */
|
||||
{
|
||||
EventBits_t xReturn;
|
||||
|
||||
if( portIS_PRIVILEGED() == pdFALSE )
|
||||
{
|
||||
portRAISE_PRIVILEGE();
|
||||
portMEMORY_BARRIER();
|
||||
|
||||
xReturn = xEventGroupSetBits( xEventGroup, uxBitsToSet );
|
||||
portMEMORY_BARRIER();
|
||||
|
||||
portRESET_PRIVILEGE();
|
||||
portMEMORY_BARRIER();
|
||||
}
|
||||
else
|
||||
{
|
||||
xReturn = xEventGroupSetBits( xEventGroup, uxBitsToSet );
|
||||
}
|
||||
|
||||
return xReturn;
|
||||
}
|
||||
#endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
#if ( configUSE_EVENT_GROUPS == 1 )
|
||||
EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup,
|
||||
const EventBits_t uxBitsToSet,
|
||||
const EventBits_t uxBitsToWaitFor,
|
||||
const BaseType_t xClearOnExit,
|
||||
const BaseType_t xWaitForAllBits,
|
||||
TickType_t xTicksToWait ) /* FREERTOS_SYSTEM_CALL */
|
||||
{
|
||||
EventBits_t xReturn;
|
||||
|
||||
if( portIS_PRIVILEGED() == pdFALSE )
|
||||
{
|
||||
portRAISE_PRIVILEGE();
|
||||
portMEMORY_BARRIER();
|
||||
EventBits_t xReturn;
|
||||
|
||||
xReturn = xEventGroupWaitBits( xEventGroup, uxBitsToWaitFor, xClearOnExit, xWaitForAllBits, xTicksToWait );
|
||||
portMEMORY_BARRIER();
|
||||
if( portIS_PRIVILEGED() == pdFALSE )
|
||||
{
|
||||
portRAISE_PRIVILEGE();
|
||||
portMEMORY_BARRIER();
|
||||
|
||||
portRESET_PRIVILEGE();
|
||||
portMEMORY_BARRIER();
|
||||
xReturn = xEventGroupSync( xEventGroup, uxBitsToSet, uxBitsToWaitFor, xTicksToWait );
|
||||
portMEMORY_BARRIER();
|
||||
|
||||
portRESET_PRIVILEGE();
|
||||
portMEMORY_BARRIER();
|
||||
}
|
||||
else
|
||||
{
|
||||
xReturn = xEventGroupSync( xEventGroup, uxBitsToSet, uxBitsToWaitFor, xTicksToWait );
|
||||
}
|
||||
|
||||
return xReturn;
|
||||
}
|
||||
else
|
||||
{
|
||||
xReturn = xEventGroupWaitBits( xEventGroup, uxBitsToWaitFor, xClearOnExit, xWaitForAllBits, xTicksToWait );
|
||||
}
|
||||
|
||||
return xReturn;
|
||||
}
|
||||
#endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup,
|
||||
const EventBits_t uxBitsToClear ) /* FREERTOS_SYSTEM_CALL */
|
||||
{
|
||||
EventBits_t xReturn;
|
||||
|
||||
if( portIS_PRIVILEGED() == pdFALSE )
|
||||
#if ( configUSE_EVENT_GROUPS == 1 )
|
||||
void MPU_vEventGroupDelete( EventGroupHandle_t xEventGroup ) /* FREERTOS_SYSTEM_CALL */
|
||||
{
|
||||
portRAISE_PRIVILEGE();
|
||||
portMEMORY_BARRIER();
|
||||
if( portIS_PRIVILEGED() == pdFALSE )
|
||||
{
|
||||
portRAISE_PRIVILEGE();
|
||||
portMEMORY_BARRIER();
|
||||
|
||||
xReturn = xEventGroupClearBits( xEventGroup, uxBitsToClear );
|
||||
portMEMORY_BARRIER();
|
||||
vEventGroupDelete( xEventGroup );
|
||||
portMEMORY_BARRIER();
|
||||
|
||||
portRESET_PRIVILEGE();
|
||||
portMEMORY_BARRIER();
|
||||
portRESET_PRIVILEGE();
|
||||
portMEMORY_BARRIER();
|
||||
}
|
||||
else
|
||||
{
|
||||
vEventGroupDelete( xEventGroup );
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
xReturn = xEventGroupClearBits( xEventGroup, uxBitsToClear );
|
||||
}
|
||||
|
||||
return xReturn;
|
||||
}
|
||||
#endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup,
|
||||
const EventBits_t uxBitsToSet ) /* FREERTOS_SYSTEM_CALL */
|
||||
{
|
||||
EventBits_t xReturn;
|
||||
|
||||
if( portIS_PRIVILEGED() == pdFALSE )
|
||||
#if ( configUSE_STREAM_BUFFERS == 1 )
|
||||
size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer,
|
||||
const void * pvTxData,
|
||||
size_t xDataLengthBytes,
|
||||
TickType_t xTicksToWait ) /* FREERTOS_SYSTEM_CALL */
|
||||
{
|
||||
portRAISE_PRIVILEGE();
|
||||
portMEMORY_BARRIER();
|
||||
size_t xReturn;
|
||||
|
||||
xReturn = xEventGroupSetBits( xEventGroup, uxBitsToSet );
|
||||
portMEMORY_BARRIER();
|
||||
if( portIS_PRIVILEGED() == pdFALSE )
|
||||
{
|
||||
portRAISE_PRIVILEGE();
|
||||
portMEMORY_BARRIER();
|
||||
|
||||
portRESET_PRIVILEGE();
|
||||
portMEMORY_BARRIER();
|
||||
xReturn = xStreamBufferSend( xStreamBuffer, pvTxData, xDataLengthBytes, xTicksToWait );
|
||||
portMEMORY_BARRIER();
|
||||
|
||||
portRESET_PRIVILEGE();
|
||||
portMEMORY_BARRIER();
|
||||
}
|
||||
else
|
||||
{
|
||||
xReturn = xStreamBufferSend( xStreamBuffer, pvTxData, xDataLengthBytes, xTicksToWait );
|
||||
}
|
||||
|
||||
return xReturn;
|
||||
}
|
||||
else
|
||||
{
|
||||
xReturn = xEventGroupSetBits( xEventGroup, uxBitsToSet );
|
||||
}
|
||||
|
||||
return xReturn;
|
||||
}
|
||||
#endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup,
|
||||
const EventBits_t uxBitsToSet,
|
||||
const EventBits_t uxBitsToWaitFor,
|
||||
TickType_t xTicksToWait ) /* FREERTOS_SYSTEM_CALL */
|
||||
{
|
||||
EventBits_t xReturn;
|
||||
|
||||
if( portIS_PRIVILEGED() == pdFALSE )
|
||||
#if ( configUSE_STREAM_BUFFERS == 1 )
|
||||
size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) /* FREERTOS_SYSTEM_CALL */
|
||||
{
|
||||
portRAISE_PRIVILEGE();
|
||||
portMEMORY_BARRIER();
|
||||
size_t xReturn;
|
||||
|
||||
xReturn = xEventGroupSync( xEventGroup, uxBitsToSet, uxBitsToWaitFor, xTicksToWait );
|
||||
portMEMORY_BARRIER();
|
||||
if( portIS_PRIVILEGED() == pdFALSE )
|
||||
{
|
||||
portRAISE_PRIVILEGE();
|
||||
portMEMORY_BARRIER();
|
||||
|
||||
portRESET_PRIVILEGE();
|
||||
portMEMORY_BARRIER();
|
||||
xReturn = xStreamBufferNextMessageLengthBytes( xStreamBuffer );
|
||||
portMEMORY_BARRIER();
|
||||
|
||||
portRESET_PRIVILEGE();
|
||||
portMEMORY_BARRIER();
|
||||
}
|
||||
else
|
||||
{
|
||||
xReturn = xStreamBufferNextMessageLengthBytes( xStreamBuffer );
|
||||
}
|
||||
|
||||
return xReturn;
|
||||
}
|
||||
else
|
||||
{
|
||||
xReturn = xEventGroupSync( xEventGroup, uxBitsToSet, uxBitsToWaitFor, xTicksToWait );
|
||||
}
|
||||
|
||||
return xReturn;
|
||||
}
|
||||
#endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
void MPU_vEventGroupDelete( EventGroupHandle_t xEventGroup ) /* FREERTOS_SYSTEM_CALL */
|
||||
{
|
||||
if( portIS_PRIVILEGED() == pdFALSE )
|
||||
#if ( configUSE_STREAM_BUFFERS == 1 )
|
||||
size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer,
|
||||
void * pvRxData,
|
||||
size_t xBufferLengthBytes,
|
||||
TickType_t xTicksToWait ) /* FREERTOS_SYSTEM_CALL */
|
||||
{
|
||||
portRAISE_PRIVILEGE();
|
||||
portMEMORY_BARRIER();
|
||||
size_t xReturn;
|
||||
|
||||
vEventGroupDelete( xEventGroup );
|
||||
portMEMORY_BARRIER();
|
||||
if( portIS_PRIVILEGED() == pdFALSE )
|
||||
{
|
||||
portRAISE_PRIVILEGE();
|
||||
portMEMORY_BARRIER();
|
||||
|
||||
portRESET_PRIVILEGE();
|
||||
portMEMORY_BARRIER();
|
||||
xReturn = xStreamBufferReceive( xStreamBuffer, pvRxData, xBufferLengthBytes, xTicksToWait );
|
||||
portMEMORY_BARRIER();
|
||||
|
||||
portRESET_PRIVILEGE();
|
||||
portMEMORY_BARRIER();
|
||||
}
|
||||
else
|
||||
{
|
||||
xReturn = xStreamBufferReceive( xStreamBuffer, pvRxData, xBufferLengthBytes, xTicksToWait );
|
||||
}
|
||||
|
||||
return xReturn;
|
||||
}
|
||||
else
|
||||
{
|
||||
vEventGroupDelete( xEventGroup );
|
||||
}
|
||||
}
|
||||
#endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer,
|
||||
const void * pvTxData,
|
||||
size_t xDataLengthBytes,
|
||||
TickType_t xTicksToWait ) /* FREERTOS_SYSTEM_CALL */
|
||||
{
|
||||
size_t xReturn;
|
||||
|
||||
if( portIS_PRIVILEGED() == pdFALSE )
|
||||
#if ( configUSE_STREAM_BUFFERS == 1 )
|
||||
void MPU_vStreamBufferDelete( StreamBufferHandle_t xStreamBuffer ) /* FREERTOS_SYSTEM_CALL */
|
||||
{
|
||||
portRAISE_PRIVILEGE();
|
||||
portMEMORY_BARRIER();
|
||||
if( portIS_PRIVILEGED() == pdFALSE )
|
||||
{
|
||||
portRAISE_PRIVILEGE();
|
||||
portMEMORY_BARRIER();
|
||||
|
||||
xReturn = xStreamBufferSend( xStreamBuffer, pvTxData, xDataLengthBytes, xTicksToWait );
|
||||
portMEMORY_BARRIER();
|
||||
vStreamBufferDelete( xStreamBuffer );
|
||||
portMEMORY_BARRIER();
|
||||
|
||||
portRESET_PRIVILEGE();
|
||||
portMEMORY_BARRIER();
|
||||
portRESET_PRIVILEGE();
|
||||
portMEMORY_BARRIER();
|
||||
}
|
||||
else
|
||||
{
|
||||
vStreamBufferDelete( xStreamBuffer );
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
xReturn = xStreamBufferSend( xStreamBuffer, pvTxData, xDataLengthBytes, xTicksToWait );
|
||||
}
|
||||
|
||||
return xReturn;
|
||||
}
|
||||
#endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) /* FREERTOS_SYSTEM_CALL */
|
||||
{
|
||||
size_t xReturn;
|
||||
|
||||
if( portIS_PRIVILEGED() == pdFALSE )
|
||||
#if ( configUSE_STREAM_BUFFERS == 1 )
|
||||
BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) /* FREERTOS_SYSTEM_CALL */
|
||||
{
|
||||
portRAISE_PRIVILEGE();
|
||||
portMEMORY_BARRIER();
|
||||
BaseType_t xReturn;
|
||||
|
||||
xReturn = xStreamBufferNextMessageLengthBytes( xStreamBuffer );
|
||||
portMEMORY_BARRIER();
|
||||
if( portIS_PRIVILEGED() == pdFALSE )
|
||||
{
|
||||
portRAISE_PRIVILEGE();
|
||||
portMEMORY_BARRIER();
|
||||
|
||||
portRESET_PRIVILEGE();
|
||||
portMEMORY_BARRIER();
|
||||
xReturn = xStreamBufferIsFull( xStreamBuffer );
|
||||
portMEMORY_BARRIER();
|
||||
|
||||
portRESET_PRIVILEGE();
|
||||
portMEMORY_BARRIER();
|
||||
}
|
||||
else
|
||||
{
|
||||
xReturn = xStreamBufferIsFull( xStreamBuffer );
|
||||
}
|
||||
|
||||
return xReturn;
|
||||
}
|
||||
else
|
||||
{
|
||||
xReturn = xStreamBufferNextMessageLengthBytes( xStreamBuffer );
|
||||
}
|
||||
|
||||
return xReturn;
|
||||
}
|
||||
#endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer,
|
||||
void * pvRxData,
|
||||
size_t xBufferLengthBytes,
|
||||
TickType_t xTicksToWait ) /* FREERTOS_SYSTEM_CALL */
|
||||
{
|
||||
size_t xReturn;
|
||||
|
||||
if( portIS_PRIVILEGED() == pdFALSE )
|
||||
#if ( configUSE_STREAM_BUFFERS == 1 )
|
||||
BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) /* FREERTOS_SYSTEM_CALL */
|
||||
{
|
||||
portRAISE_PRIVILEGE();
|
||||
portMEMORY_BARRIER();
|
||||
BaseType_t xReturn;
|
||||
|
||||
xReturn = xStreamBufferReceive( xStreamBuffer, pvRxData, xBufferLengthBytes, xTicksToWait );
|
||||
portMEMORY_BARRIER();
|
||||
if( portIS_PRIVILEGED() == pdFALSE )
|
||||
{
|
||||
portRAISE_PRIVILEGE();
|
||||
portMEMORY_BARRIER();
|
||||
|
||||
portRESET_PRIVILEGE();
|
||||
portMEMORY_BARRIER();
|
||||
xReturn = xStreamBufferIsEmpty( xStreamBuffer );
|
||||
portMEMORY_BARRIER();
|
||||
|
||||
portRESET_PRIVILEGE();
|
||||
portMEMORY_BARRIER();
|
||||
}
|
||||
else
|
||||
{
|
||||
xReturn = xStreamBufferIsEmpty( xStreamBuffer );
|
||||
}
|
||||
|
||||
return xReturn;
|
||||
}
|
||||
else
|
||||
{
|
||||
xReturn = xStreamBufferReceive( xStreamBuffer, pvRxData, xBufferLengthBytes, xTicksToWait );
|
||||
}
|
||||
|
||||
return xReturn;
|
||||
}
|
||||
#endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
void MPU_vStreamBufferDelete( StreamBufferHandle_t xStreamBuffer ) /* FREERTOS_SYSTEM_CALL */
|
||||
{
|
||||
if( portIS_PRIVILEGED() == pdFALSE )
|
||||
#if ( configUSE_STREAM_BUFFERS == 1 )
|
||||
BaseType_t MPU_xStreamBufferReset( StreamBufferHandle_t xStreamBuffer ) /* FREERTOS_SYSTEM_CALL */
|
||||
{
|
||||
portRAISE_PRIVILEGE();
|
||||
portMEMORY_BARRIER();
|
||||
BaseType_t xReturn;
|
||||
|
||||
vStreamBufferDelete( xStreamBuffer );
|
||||
portMEMORY_BARRIER();
|
||||
if( portIS_PRIVILEGED() == pdFALSE )
|
||||
{
|
||||
portRAISE_PRIVILEGE();
|
||||
portMEMORY_BARRIER();
|
||||
|
||||
portRESET_PRIVILEGE();
|
||||
portMEMORY_BARRIER();
|
||||
xReturn = xStreamBufferReset( xStreamBuffer );
|
||||
portMEMORY_BARRIER();
|
||||
|
||||
portRESET_PRIVILEGE();
|
||||
portMEMORY_BARRIER();
|
||||
}
|
||||
else
|
||||
{
|
||||
xReturn = xStreamBufferReset( xStreamBuffer );
|
||||
}
|
||||
|
||||
return xReturn;
|
||||
}
|
||||
else
|
||||
{
|
||||
vStreamBufferDelete( xStreamBuffer );
|
||||
}
|
||||
}
|
||||
#endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) /* FREERTOS_SYSTEM_CALL */
|
||||
{
|
||||
BaseType_t xReturn;
|
||||
|
||||
if( portIS_PRIVILEGED() == pdFALSE )
|
||||
#if ( configUSE_STREAM_BUFFERS == 1 )
|
||||
size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) /* FREERTOS_SYSTEM_CALL */
|
||||
{
|
||||
portRAISE_PRIVILEGE();
|
||||
portMEMORY_BARRIER();
|
||||
size_t xReturn;
|
||||
|
||||
xReturn = xStreamBufferIsFull( xStreamBuffer );
|
||||
portMEMORY_BARRIER();
|
||||
if( portIS_PRIVILEGED() == pdFALSE )
|
||||
{
|
||||
portRAISE_PRIVILEGE();
|
||||
portMEMORY_BARRIER();
|
||||
xReturn = xStreamBufferSpacesAvailable( xStreamBuffer );
|
||||
portMEMORY_BARRIER();
|
||||
|
||||
portRESET_PRIVILEGE();
|
||||
portMEMORY_BARRIER();
|
||||
portRESET_PRIVILEGE();
|
||||
portMEMORY_BARRIER();
|
||||
}
|
||||
else
|
||||
{
|
||||
xReturn = xStreamBufferSpacesAvailable( xStreamBuffer );
|
||||
}
|
||||
|
||||
return xReturn;
|
||||
}
|
||||
else
|
||||
{
|
||||
xReturn = xStreamBufferIsFull( xStreamBuffer );
|
||||
}
|
||||
|
||||
return xReturn;
|
||||
}
|
||||
#endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) /* FREERTOS_SYSTEM_CALL */
|
||||
{
|
||||
BaseType_t xReturn;
|
||||
|
||||
if( portIS_PRIVILEGED() == pdFALSE )
|
||||
#if ( configUSE_STREAM_BUFFERS == 1 )
|
||||
size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) /* FREERTOS_SYSTEM_CALL */
|
||||
{
|
||||
portRAISE_PRIVILEGE();
|
||||
portMEMORY_BARRIER();
|
||||
size_t xReturn;
|
||||
|
||||
xReturn = xStreamBufferIsEmpty( xStreamBuffer );
|
||||
portMEMORY_BARRIER();
|
||||
if( portIS_PRIVILEGED() == pdFALSE )
|
||||
{
|
||||
portRAISE_PRIVILEGE();
|
||||
portMEMORY_BARRIER();
|
||||
|
||||
portRESET_PRIVILEGE();
|
||||
portMEMORY_BARRIER();
|
||||
xReturn = xStreamBufferBytesAvailable( xStreamBuffer );
|
||||
portMEMORY_BARRIER();
|
||||
|
||||
portRESET_PRIVILEGE();
|
||||
portMEMORY_BARRIER();
|
||||
}
|
||||
else
|
||||
{
|
||||
xReturn = xStreamBufferBytesAvailable( xStreamBuffer );
|
||||
}
|
||||
|
||||
return xReturn;
|
||||
}
|
||||
else
|
||||
{
|
||||
xReturn = xStreamBufferIsEmpty( xStreamBuffer );
|
||||
}
|
||||
|
||||
return xReturn;
|
||||
}
|
||||
#endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
BaseType_t MPU_xStreamBufferReset( StreamBufferHandle_t xStreamBuffer ) /* FREERTOS_SYSTEM_CALL */
|
||||
{
|
||||
BaseType_t xReturn;
|
||||
|
||||
if( portIS_PRIVILEGED() == pdFALSE )
|
||||
#if ( configUSE_STREAM_BUFFERS == 1 )
|
||||
BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer,
|
||||
size_t xTriggerLevel ) /* FREERTOS_SYSTEM_CALL */
|
||||
{
|
||||
portRAISE_PRIVILEGE();
|
||||
portMEMORY_BARRIER();
|
||||
BaseType_t xReturn;
|
||||
|
||||
xReturn = xStreamBufferReset( xStreamBuffer );
|
||||
portMEMORY_BARRIER();
|
||||
if( portIS_PRIVILEGED() == pdFALSE )
|
||||
{
|
||||
portRAISE_PRIVILEGE();
|
||||
portMEMORY_BARRIER();
|
||||
|
||||
portRESET_PRIVILEGE();
|
||||
portMEMORY_BARRIER();
|
||||
xReturn = xStreamBufferSetTriggerLevel( xStreamBuffer, xTriggerLevel );
|
||||
portMEMORY_BARRIER();
|
||||
|
||||
portRESET_PRIVILEGE();
|
||||
portMEMORY_BARRIER();
|
||||
}
|
||||
else
|
||||
{
|
||||
xReturn = xStreamBufferSetTriggerLevel( xStreamBuffer, xTriggerLevel );
|
||||
}
|
||||
|
||||
return xReturn;
|
||||
}
|
||||
else
|
||||
{
|
||||
xReturn = xStreamBufferReset( xStreamBuffer );
|
||||
}
|
||||
|
||||
return xReturn;
|
||||
}
|
||||
#endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) /* FREERTOS_SYSTEM_CALL */
|
||||
{
|
||||
size_t xReturn;
|
||||
|
||||
if( portIS_PRIVILEGED() == pdFALSE )
|
||||
{
|
||||
portRAISE_PRIVILEGE();
|
||||
portMEMORY_BARRIER();
|
||||
xReturn = xStreamBufferSpacesAvailable( xStreamBuffer );
|
||||
portMEMORY_BARRIER();
|
||||
|
||||
portRESET_PRIVILEGE();
|
||||
portMEMORY_BARRIER();
|
||||
}
|
||||
else
|
||||
{
|
||||
xReturn = xStreamBufferSpacesAvailable( xStreamBuffer );
|
||||
}
|
||||
|
||||
return xReturn;
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) /* FREERTOS_SYSTEM_CALL */
|
||||
{
|
||||
size_t xReturn;
|
||||
|
||||
if( portIS_PRIVILEGED() == pdFALSE )
|
||||
{
|
||||
portRAISE_PRIVILEGE();
|
||||
portMEMORY_BARRIER();
|
||||
|
||||
xReturn = xStreamBufferBytesAvailable( xStreamBuffer );
|
||||
portMEMORY_BARRIER();
|
||||
|
||||
portRESET_PRIVILEGE();
|
||||
portMEMORY_BARRIER();
|
||||
}
|
||||
else
|
||||
{
|
||||
xReturn = xStreamBufferBytesAvailable( xStreamBuffer );
|
||||
}
|
||||
|
||||
return xReturn;
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer,
|
||||
size_t xTriggerLevel ) /* FREERTOS_SYSTEM_CALL */
|
||||
{
|
||||
BaseType_t xReturn;
|
||||
|
||||
if( portIS_PRIVILEGED() == pdFALSE )
|
||||
{
|
||||
portRAISE_PRIVILEGE();
|
||||
portMEMORY_BARRIER();
|
||||
|
||||
xReturn = xStreamBufferSetTriggerLevel( xStreamBuffer, xTriggerLevel );
|
||||
portMEMORY_BARRIER();
|
||||
|
||||
portRESET_PRIVILEGE();
|
||||
portMEMORY_BARRIER();
|
||||
}
|
||||
else
|
||||
{
|
||||
xReturn = xStreamBufferSetTriggerLevel( xStreamBuffer, xTriggerLevel );
|
||||
}
|
||||
|
||||
return xReturn;
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
#if ( configSUPPORT_DYNAMIC_ALLOCATION == 1 )
|
||||
#if ( ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) && ( configUSE_STREAM_BUFFERS == 1 ) )
|
||||
StreamBufferHandle_t MPU_xStreamBufferGenericCreate( size_t xBufferSizeBytes,
|
||||
size_t xTriggerLevelBytes,
|
||||
BaseType_t xIsMessageBuffer,
|
||||
|
@ -2422,10 +2452,10 @@
|
|||
|
||||
return xReturn;
|
||||
}
|
||||
#endif /* configSUPPORT_DYNAMIC_ALLOCATION */
|
||||
#endif /* #if ( ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) && ( configUSE_STREAM_BUFFERS == 1 ) ) */
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
#if ( configSUPPORT_STATIC_ALLOCATION == 1 )
|
||||
#if ( ( configSUPPORT_STATIC_ALLOCATION == 1 ) && ( configUSE_STREAM_BUFFERS == 1 ) )
|
||||
StreamBufferHandle_t MPU_xStreamBufferGenericCreateStatic( size_t xBufferSizeBytes,
|
||||
size_t xTriggerLevelBytes,
|
||||
BaseType_t xIsMessageBuffer,
|
||||
|
@ -2482,7 +2512,7 @@
|
|||
|
||||
return xReturn;
|
||||
}
|
||||
#endif /* configSUPPORT_STATIC_ALLOCATION */
|
||||
#endif /* #if ( ( configSUPPORT_STATIC_ALLOCATION == 1 ) && ( configUSE_STREAM_BUFFERS == 1 ) ) */
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load diff
Loading…
Add table
Add a link
Reference in a new issue