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

File diff suppressed because it is too large Load diff

View file

@ -318,6 +318,14 @@
#define configUSE_TIMERS 0 #define configUSE_TIMERS 0
#endif #endif
#ifndef configUSE_EVENT_GROUPS
#define configUSE_EVENT_GROUPS 1
#endif
#ifndef configUSE_STREAM_BUFFERS
#define configUSE_STREAM_BUFFERS 1
#endif
#ifndef configUSE_DAEMON_TASK_STARTUP_HOOK #ifndef configUSE_DAEMON_TASK_STARTUP_HOOK
#define configUSE_DAEMON_TASK_STARTUP_HOOK 0 #define configUSE_DAEMON_TASK_STARTUP_HOOK 0
#endif #endif

View file

@ -139,6 +139,9 @@ typedef TickType_t EventBits_t;
* each event group has 56 usable bits (bit 0 to bit 53). The EventBits_t type * each event group has 56 usable bits (bit 0 to bit 53). The EventBits_t type
* is used to store event bits within an event group. * is used to store event bits within an event group.
* *
* The configUSE_EVENT_GROUPS configuration constant must be set to 1 for xEventGroupCreate()
* to be available.
*
* @return If the event group was created then a handle to the event group is * @return If the event group was created then a handle to the event group is
* returned. If there was insufficient FreeRTOS heap available to create the * returned. If there was insufficient FreeRTOS heap available to create the
* event group then NULL is returned. See https://www.FreeRTOS.org/a00111.html * event group then NULL is returned. See https://www.FreeRTOS.org/a00111.html
@ -196,6 +199,9 @@ typedef TickType_t EventBits_t;
* each event group has 56 usable bits (bit 0 to bit 53). The EventBits_t type * each event group has 56 usable bits (bit 0 to bit 53). The EventBits_t type
* is used to store event bits within an event group. * is used to store event bits within an event group.
* *
* The configUSE_EVENT_GROUPS configuration constant must be set to 1 for xEventGroupCreateStatic()
* to be available.
*
* @param pxEventGroupBuffer pxEventGroupBuffer must point to a variable of type * @param pxEventGroupBuffer pxEventGroupBuffer must point to a variable of type
* StaticEventGroup_t, which will be then be used to hold the event group's data * StaticEventGroup_t, which will be then be used to hold the event group's data
* structures, removing the need for the memory to be allocated dynamically. * structures, removing the need for the memory to be allocated dynamically.
@ -238,6 +244,9 @@ typedef TickType_t EventBits_t;
* *
* This function cannot be called from an interrupt. * This function cannot be called from an interrupt.
* *
* The configUSE_EVENT_GROUPS configuration constant must be set to 1 for xEventGroupWaitBits()
* to be available.
*
* @param xEventGroup The event group in which the bits are being tested. The * @param xEventGroup The event group in which the bits are being tested. The
* event group must have previously been created using a call to * event group must have previously been created using a call to
* xEventGroupCreate(). * xEventGroupCreate().
@ -331,6 +340,9 @@ EventBits_t xEventGroupWaitBits( EventGroupHandle_t xEventGroup,
* Clear bits within an event group. This function cannot be called from an * Clear bits within an event group. This function cannot be called from an
* interrupt. * interrupt.
* *
* The configUSE_EVENT_GROUPS configuration constant must be set to 1 for xEventGroupClearBits()
* to be available.
*
* @param xEventGroup The event group in which the bits are to be cleared. * @param xEventGroup The event group in which the bits are to be cleared.
* *
* @param uxBitsToClear A bitwise value that indicates the bit or bits to clear * @param uxBitsToClear A bitwise value that indicates the bit or bits to clear
@ -461,6 +473,9 @@ EventBits_t xEventGroupClearBits( EventGroupHandle_t xEventGroup,
* Setting bits in an event group will automatically unblock tasks that are * Setting bits in an event group will automatically unblock tasks that are
* blocked waiting for the bits. * blocked waiting for the bits.
* *
* The configUSE_EVENT_GROUPS configuration constant must be set to 1 for xEventGroupSetBits()
* to be available.
*
* @param xEventGroup The event group in which the bits are to be set. * @param xEventGroup The event group in which the bits are to be set.
* *
* @param uxBitsToSet A bitwise value that indicates the bit or bits to set. * @param uxBitsToSet A bitwise value that indicates the bit or bits to set.
@ -625,6 +640,9 @@ EventBits_t xEventGroupSetBits( EventGroupHandle_t xEventGroup,
* this case all the bits specified by uxBitsToWait will be automatically * this case all the bits specified by uxBitsToWait will be automatically
* cleared before the function returns. * cleared before the function returns.
* *
* The configUSE_EVENT_GROUPS configuration constant must be set to 1 for xEventGroupSync()
* to be available.
*
* @param xEventGroup The event group in which the bits are being tested. The * @param xEventGroup The event group in which the bits are being tested. The
* event group must have previously been created using a call to * event group must have previously been created using a call to
* xEventGroupCreate(). * xEventGroupCreate().
@ -743,6 +761,9 @@ EventBits_t xEventGroupSync( EventGroupHandle_t xEventGroup,
* Returns the current value of the bits in an event group. This function * Returns the current value of the bits in an event group. This function
* cannot be used from an interrupt. * cannot be used from an interrupt.
* *
* The configUSE_EVENT_GROUPS configuration constant must be set to 1 for xEventGroupGetBits()
* to be available.
*
* @param xEventGroup The event group being queried. * @param xEventGroup The event group being queried.
* *
* @return The event group bits at the time xEventGroupGetBits() was called. * @return The event group bits at the time xEventGroupGetBits() was called.
@ -760,6 +781,9 @@ EventBits_t xEventGroupSync( EventGroupHandle_t xEventGroup,
* *
* A version of xEventGroupGetBits() that can be called from an ISR. * A version of xEventGroupGetBits() that can be called from an ISR.
* *
* The configUSE_EVENT_GROUPS configuration constant must be set to 1 for xEventGroupGetBitsFromISR()
* to be available.
*
* @param xEventGroup The event group being queried. * @param xEventGroup The event group being queried.
* *
* @return The event group bits at the time xEventGroupGetBitsFromISR() was called. * @return The event group bits at the time xEventGroupGetBitsFromISR() was called.
@ -779,6 +803,9 @@ EventBits_t xEventGroupGetBitsFromISR( EventGroupHandle_t xEventGroup ) PRIVILEG
* xEventGroupCreate(). Tasks that are blocked on the event group will be * xEventGroupCreate(). Tasks that are blocked on the event group will be
* unblocked and obtain 0 as the event group's value. * unblocked and obtain 0 as the event group's value.
* *
* The configUSE_EVENT_GROUPS configuration constant must be set to 1 for vEventGroupDelete()
* to be available.
*
* @param xEventGroup The event group being deleted. * @param xEventGroup The event group being deleted.
*/ */
void vEventGroupDelete( EventGroupHandle_t xEventGroup ) PRIVILEGED_FUNCTION; void vEventGroupDelete( EventGroupHandle_t xEventGroup ) PRIVILEGED_FUNCTION;
@ -793,6 +820,9 @@ void vEventGroupDelete( EventGroupHandle_t xEventGroup ) PRIVILEGED_FUNCTION;
* Retrieve a pointer to a statically created event groups's data structure * Retrieve a pointer to a statically created event groups's data structure
* buffer. It is the same buffer that is supplied at the time of creation. * buffer. It is the same buffer that is supplied at the time of creation.
* *
* The configUSE_EVENT_GROUPS configuration constant must be set to 1 for xEventGroupGetStaticBuffer()
* to be available.
*
* @param xEventGroup The event group for which to retrieve the buffer. * @param xEventGroup The event group for which to retrieve the buffer.
* *
* @param ppxEventGroupBuffer Used to return a pointer to the event groups's * @param ppxEventGroupBuffer Used to return a pointer to the event groups's

View file

@ -100,6 +100,8 @@ typedef StreamBufferHandle_t MessageBufferHandle_t;
* *
* configSUPPORT_DYNAMIC_ALLOCATION must be set to 1 or left undefined in * configSUPPORT_DYNAMIC_ALLOCATION must be set to 1 or left undefined in
* FreeRTOSConfig.h for xMessageBufferCreate() to be available. * FreeRTOSConfig.h for xMessageBufferCreate() to be available.
* configUSE_STREAM_BUFFERS must be set to 1 in for FreeRTOSConfig.h for
* xMessageBufferCreate() to be available.
* *
* @param xBufferSizeBytes The total number of bytes (not messages) the message * @param xBufferSizeBytes The total number of bytes (not messages) the message
* buffer will be able to hold at any one time. When a message is written to * buffer will be able to hold at any one time. When a message is written to
@ -168,12 +170,15 @@ typedef StreamBufferHandle_t MessageBufferHandle_t;
* *
* @code{c} * @code{c}
* MessageBufferHandle_t xMessageBufferCreateStatic( size_t xBufferSizeBytes, * MessageBufferHandle_t xMessageBufferCreateStatic( size_t xBufferSizeBytes,
* uint8_t *pucMessageBufferStorageArea, * uint8_t *pucMessageBufferStorageArea,
* StaticMessageBuffer_t *pxStaticMessageBuffer ); * StaticMessageBuffer_t *pxStaticMessageBuffer );
* @endcode * @endcode
* Creates a new message buffer using statically allocated memory. See * Creates a new message buffer using statically allocated memory. See
* xMessageBufferCreate() for a version that uses dynamically allocated memory. * xMessageBufferCreate() for a version that uses dynamically allocated memory.
* *
* configUSE_STREAM_BUFFERS must be set to 1 in for FreeRTOSConfig.h for
* xMessageBufferCreateStatic() to be available.
*
* @param xBufferSizeBytes The size, in bytes, of the buffer pointed to by the * @param xBufferSizeBytes The size, in bytes, of the buffer pointed to by the
* pucMessageBufferStorageArea parameter. When a message is written to the * pucMessageBufferStorageArea parameter. When a message is written to the
* message buffer an additional sizeof( size_t ) bytes are also written to store * message buffer an additional sizeof( size_t ) bytes are also written to store
@ -258,6 +263,9 @@ typedef StreamBufferHandle_t MessageBufferHandle_t;
* buffer and storage area buffer. These are the same buffers that are supplied * buffer and storage area buffer. These are the same buffers that are supplied
* at the time of creation. * at the time of creation.
* *
* configUSE_STREAM_BUFFERS must be set to 1 in for FreeRTOSConfig.h for
* xMessageBufferGetStaticBuffers() to be available.
*
* @param xMessageBuffer The message buffer for which to retrieve the buffers. * @param xMessageBuffer The message buffer for which to retrieve the buffers.
* *
* @param ppucMessageBufferStorageArea Used to return a pointer to the * @param ppucMessageBufferStorageArea Used to return a pointer to the
@ -281,9 +289,9 @@ typedef StreamBufferHandle_t MessageBufferHandle_t;
* *
* @code{c} * @code{c}
* size_t xMessageBufferSend( MessageBufferHandle_t xMessageBuffer, * size_t xMessageBufferSend( MessageBufferHandle_t xMessageBuffer,
* const void *pvTxData, * const void *pvTxData,
* size_t xDataLengthBytes, * size_t xDataLengthBytes,
* TickType_t xTicksToWait ); * TickType_t xTicksToWait );
* @endcode * @endcode
* *
* Sends a discrete message to the message buffer. The message can be any * Sends a discrete message to the message buffer. The message can be any
@ -309,6 +317,9 @@ typedef StreamBufferHandle_t MessageBufferHandle_t;
* xMessageBufferSendFromISR() to write to a message buffer from an interrupt * xMessageBufferSendFromISR() to write to a message buffer from an interrupt
* service routine (ISR). * service routine (ISR).
* *
* configUSE_STREAM_BUFFERS must be set to 1 in for FreeRTOSConfig.h for
* xMessageBufferSend() to be available.
*
* @param xMessageBuffer The handle of the message buffer to which a message is * @param xMessageBuffer The handle of the message buffer to which a message is
* being sent. * being sent.
* *
@ -381,9 +392,9 @@ typedef StreamBufferHandle_t MessageBufferHandle_t;
* *
* @code{c} * @code{c}
* size_t xMessageBufferSendFromISR( MessageBufferHandle_t xMessageBuffer, * size_t xMessageBufferSendFromISR( MessageBufferHandle_t xMessageBuffer,
* const void *pvTxData, * const void *pvTxData,
* size_t xDataLengthBytes, * size_t xDataLengthBytes,
* BaseType_t *pxHigherPriorityTaskWoken ); * BaseType_t *pxHigherPriorityTaskWoken );
* @endcode * @endcode
* *
* Interrupt safe version of the API function that sends a discrete message to * Interrupt safe version of the API function that sends a discrete message to
@ -409,6 +420,9 @@ typedef StreamBufferHandle_t MessageBufferHandle_t;
* xMessageBufferSendFromISR() to write to a message buffer from an interrupt * xMessageBufferSendFromISR() to write to a message buffer from an interrupt
* service routine (ISR). * service routine (ISR).
* *
* configUSE_STREAM_BUFFERS must be set to 1 in for FreeRTOSConfig.h for
* xMessageBufferSendFromISR() to be available.
*
* @param xMessageBuffer The handle of the message buffer to which a message is * @param xMessageBuffer The handle of the message buffer to which a message is
* being sent. * being sent.
* *
@ -486,9 +500,9 @@ typedef StreamBufferHandle_t MessageBufferHandle_t;
* *
* @code{c} * @code{c}
* size_t xMessageBufferReceive( MessageBufferHandle_t xMessageBuffer, * size_t xMessageBufferReceive( MessageBufferHandle_t xMessageBuffer,
* void *pvRxData, * void *pvRxData,
* size_t xBufferLengthBytes, * size_t xBufferLengthBytes,
* TickType_t xTicksToWait ); * TickType_t xTicksToWait );
* @endcode * @endcode
* *
* Receives a discrete message from a message buffer. Messages can be of * Receives a discrete message from a message buffer. Messages can be of
@ -513,6 +527,9 @@ typedef StreamBufferHandle_t MessageBufferHandle_t;
* xMessageBufferReceiveFromISR() to read from a message buffer from an * xMessageBufferReceiveFromISR() to read from a message buffer from an
* interrupt service routine (ISR). * interrupt service routine (ISR).
* *
* configUSE_STREAM_BUFFERS must be set to 1 in for FreeRTOSConfig.h for
* xMessageBufferReceive() to be available.
*
* @param xMessageBuffer The handle of the message buffer from which a message * @param xMessageBuffer The handle of the message buffer from which a message
* is being received. * is being received.
* *
@ -576,9 +593,9 @@ typedef StreamBufferHandle_t MessageBufferHandle_t;
* *
* @code{c} * @code{c}
* size_t xMessageBufferReceiveFromISR( MessageBufferHandle_t xMessageBuffer, * size_t xMessageBufferReceiveFromISR( MessageBufferHandle_t xMessageBuffer,
* void *pvRxData, * void *pvRxData,
* size_t xBufferLengthBytes, * size_t xBufferLengthBytes,
* BaseType_t *pxHigherPriorityTaskWoken ); * BaseType_t *pxHigherPriorityTaskWoken );
* @endcode * @endcode
* *
* An interrupt safe version of the API function that receives a discrete * An interrupt safe version of the API function that receives a discrete
@ -604,6 +621,9 @@ typedef StreamBufferHandle_t MessageBufferHandle_t;
* xMessageBufferReceiveFromISR() to read from a message buffer from an * xMessageBufferReceiveFromISR() to read from a message buffer from an
* interrupt service routine (ISR). * interrupt service routine (ISR).
* *
* configUSE_STREAM_BUFFERS must be set to 1 in for FreeRTOSConfig.h for
* xMessageBufferReceiveFromISR() to be available.
*
* @param xMessageBuffer The handle of the message buffer from which a message * @param xMessageBuffer The handle of the message buffer from which a message
* is being received. * is being received.
* *
@ -687,6 +707,9 @@ typedef StreamBufferHandle_t MessageBufferHandle_t;
* A message buffer handle must not be used after the message buffer has been * A message buffer handle must not be used after the message buffer has been
* deleted. * deleted.
* *
* configUSE_STREAM_BUFFERS must be set to 1 in for FreeRTOSConfig.h for
* vMessageBufferDelete() to be available.
*
* @param xMessageBuffer The handle of the message buffer to be deleted. * @param xMessageBuffer The handle of the message buffer to be deleted.
* *
*/ */
@ -703,6 +726,9 @@ typedef StreamBufferHandle_t MessageBufferHandle_t;
* cannot accept any more messages, of any size, until space is made available * cannot accept any more messages, of any size, until space is made available
* by a message being removed from the message buffer. * by a message being removed from the message buffer.
* *
* configUSE_STREAM_BUFFERS must be set to 1 in for FreeRTOSConfig.h for
* xMessageBufferIsFull() to be available.
*
* @param xMessageBuffer The handle of the message buffer being queried. * @param xMessageBuffer The handle of the message buffer being queried.
* *
* @return If the message buffer referenced by xMessageBuffer is full then * @return If the message buffer referenced by xMessageBuffer is full then
@ -719,6 +745,9 @@ typedef StreamBufferHandle_t MessageBufferHandle_t;
* *
* Tests to see if a message buffer is empty (does not contain any messages). * Tests to see if a message buffer is empty (does not contain any messages).
* *
* configUSE_STREAM_BUFFERS must be set to 1 in for FreeRTOSConfig.h for
* xMessageBufferIsEmpty() to be available.
*
* @param xMessageBuffer The handle of the message buffer being queried. * @param xMessageBuffer The handle of the message buffer being queried.
* *
* @return If the message buffer referenced by xMessageBuffer is empty then * @return If the message buffer referenced by xMessageBuffer is empty then
@ -739,6 +768,9 @@ typedef StreamBufferHandle_t MessageBufferHandle_t;
* *
* A message buffer can only be reset if there are no tasks blocked on it. * A message buffer can only be reset if there are no tasks blocked on it.
* *
* configUSE_STREAM_BUFFERS must be set to 1 in for FreeRTOSConfig.h for
* xMessageBufferReset() to be available.
*
* @param xMessageBuffer The handle of the message buffer being reset. * @param xMessageBuffer The handle of the message buffer being reset.
* *
* @return If the message buffer was reset then pdPASS is returned. If the * @return If the message buffer was reset then pdPASS is returned. If the
@ -760,6 +792,9 @@ typedef StreamBufferHandle_t MessageBufferHandle_t;
* @endcode * @endcode
* Returns the number of bytes of free space in the message buffer. * Returns the number of bytes of free space in the message buffer.
* *
* configUSE_STREAM_BUFFERS must be set to 1 in for FreeRTOSConfig.h for
* xMessageBufferSpaceAvailable() to be available.
*
* @param xMessageBuffer The handle of the message buffer being queried. * @param xMessageBuffer The handle of the message buffer being queried.
* *
* @return The number of bytes that can be written to the message buffer before * @return The number of bytes that can be written to the message buffer before
@ -786,6 +821,9 @@ typedef StreamBufferHandle_t MessageBufferHandle_t;
* Useful if xMessageBufferReceive() returned 0 because the size of the buffer * Useful if xMessageBufferReceive() returned 0 because the size of the buffer
* passed into xMessageBufferReceive() was too small to hold the next message. * passed into xMessageBufferReceive() was too small to hold the next message.
* *
* configUSE_STREAM_BUFFERS must be set to 1 in for FreeRTOSConfig.h for
* xMessageBufferNextLengthBytes() to be available.
*
* @param xMessageBuffer The handle of the message buffer being queried. * @param xMessageBuffer The handle of the message buffer being queried.
* *
* @return The length (in bytes) of the next message in the message buffer, or 0 * @return The length (in bytes) of the next message in the message buffer, or 0
@ -817,6 +855,9 @@ typedef StreamBufferHandle_t MessageBufferHandle_t;
* See the example implemented in FreeRTOS/Demo/Minimal/MessageBufferAMP.c for * See the example implemented in FreeRTOS/Demo/Minimal/MessageBufferAMP.c for
* additional information. * additional information.
* *
* configUSE_STREAM_BUFFERS must be set to 1 in for FreeRTOSConfig.h for
* xMessageBufferSendCompletedFromISR() to be available.
*
* @param xMessageBuffer The handle of the stream buffer to which data was * @param xMessageBuffer The handle of the stream buffer to which data was
* written. * written.
* *
@ -858,6 +899,9 @@ typedef StreamBufferHandle_t MessageBufferHandle_t;
* See the example implemented in FreeRTOS/Demo/Minimal/MessageBufferAMP.c for * See the example implemented in FreeRTOS/Demo/Minimal/MessageBufferAMP.c for
* additional information. * additional information.
* *
* configUSE_STREAM_BUFFERS must be set to 1 in for FreeRTOSConfig.h for
* xMessageBufferReceiveCompletedFromISR() to be available.
*
* @param xMessageBuffer The handle of the stream buffer from which data was * @param xMessageBuffer The handle of the stream buffer from which data was
* read. * read.
* *

View file

@ -91,6 +91,8 @@ typedef void (* StreamBufferCallbackFunction_t)( StreamBufferHandle_t xStreamBuf
* *
* configSUPPORT_DYNAMIC_ALLOCATION must be set to 1 or left undefined in * configSUPPORT_DYNAMIC_ALLOCATION must be set to 1 or left undefined in
* FreeRTOSConfig.h for xStreamBufferCreate() to be available. * FreeRTOSConfig.h for xStreamBufferCreate() to be available.
* configUSE_STREAM_BUFFERS must be set to 1 in for FreeRTOSConfig.h for
* xStreamBufferCreate() to be available.
* *
* @param xBufferSizeBytes The total number of bytes the stream buffer will be * @param xBufferSizeBytes The total number of bytes the stream buffer will be
* able to hold at any one time. * able to hold at any one time.
@ -167,15 +169,17 @@ typedef void (* StreamBufferCallbackFunction_t)( StreamBufferHandle_t xStreamBuf
* *
* @code{c} * @code{c}
* StreamBufferHandle_t xStreamBufferCreateStatic( size_t xBufferSizeBytes, * StreamBufferHandle_t xStreamBufferCreateStatic( size_t xBufferSizeBytes,
* size_t xTriggerLevelBytes, * size_t xTriggerLevelBytes,
* uint8_t *pucStreamBufferStorageArea, * uint8_t *pucStreamBufferStorageArea,
* StaticStreamBuffer_t *pxStaticStreamBuffer ); * StaticStreamBuffer_t *pxStaticStreamBuffer );
* @endcode * @endcode
* Creates a new stream buffer using statically allocated memory. See * Creates a new stream buffer using statically allocated memory. See
* xStreamBufferCreate() for a version that uses dynamically allocated memory. * xStreamBufferCreate() for a version that uses dynamically allocated memory.
* *
* configSUPPORT_STATIC_ALLOCATION must be set to 1 in FreeRTOSConfig.h for * configSUPPORT_STATIC_ALLOCATION must be set to 1 in FreeRTOSConfig.h for
* xStreamBufferCreateStatic() to be available. * xStreamBufferCreateStatic() to be available. configUSE_STREAM_BUFFERS must be
* set to 1 in for FreeRTOSConfig.h for xStreamBufferCreateStatic() to be
* available.
* *
* @param xBufferSizeBytes The size, in bytes, of the buffer pointed to by the * @param xBufferSizeBytes The size, in bytes, of the buffer pointed to by the
* pucStreamBufferStorageArea parameter. * pucStreamBufferStorageArea parameter.
@ -273,6 +277,9 @@ typedef void (* StreamBufferCallbackFunction_t)( StreamBufferHandle_t xStreamBuf
* buffer and storage area buffer. These are the same buffers that are supplied * buffer and storage area buffer. These are the same buffers that are supplied
* at the time of creation. * at the time of creation.
* *
* configUSE_STREAM_BUFFERS must be set to 1 in for FreeRTOSConfig.h for
* xStreamBufferGetStaticBuffers() to be available.
*
* @param xStreamBuffer The stream buffer for which to retrieve the buffers. * @param xStreamBuffer The stream buffer for which to retrieve the buffers.
* *
* @param ppucStreamBufferStorageArea Used to return a pointer to the stream * @param ppucStreamBufferStorageArea Used to return a pointer to the stream
@ -297,9 +304,9 @@ typedef void (* StreamBufferCallbackFunction_t)( StreamBufferHandle_t xStreamBuf
* *
* @code{c} * @code{c}
* size_t xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, * size_t xStreamBufferSend( StreamBufferHandle_t xStreamBuffer,
* const void *pvTxData, * const void *pvTxData,
* size_t xDataLengthBytes, * size_t xDataLengthBytes,
* TickType_t xTicksToWait ); * TickType_t xTicksToWait );
* @endcode * @endcode
* *
* Sends bytes to a stream buffer. The bytes are copied into the stream buffer. * Sends bytes to a stream buffer. The bytes are copied into the stream buffer.
@ -323,6 +330,9 @@ typedef void (* StreamBufferCallbackFunction_t)( StreamBufferHandle_t xStreamBuf
* xStreamBufferSendFromISR() to write to a stream buffer from an interrupt * xStreamBufferSendFromISR() to write to a stream buffer from an interrupt
* service routine (ISR). * service routine (ISR).
* *
* configUSE_STREAM_BUFFERS must be set to 1 in for FreeRTOSConfig.h for
* xStreamBufferSend() to be available.
*
* @param xStreamBuffer The handle of the stream buffer to which a stream is * @param xStreamBuffer The handle of the stream buffer to which a stream is
* being sent. * being sent.
* *
@ -394,9 +404,9 @@ size_t xStreamBufferSend( StreamBufferHandle_t xStreamBuffer,
* *
* @code{c} * @code{c}
* size_t xStreamBufferSendFromISR( StreamBufferHandle_t xStreamBuffer, * size_t xStreamBufferSendFromISR( StreamBufferHandle_t xStreamBuffer,
* const void *pvTxData, * const void *pvTxData,
* size_t xDataLengthBytes, * size_t xDataLengthBytes,
* BaseType_t *pxHigherPriorityTaskWoken ); * BaseType_t *pxHigherPriorityTaskWoken );
* @endcode * @endcode
* *
* Interrupt safe version of the API function that sends a stream of bytes to * Interrupt safe version of the API function that sends a stream of bytes to
@ -421,6 +431,9 @@ size_t xStreamBufferSend( StreamBufferHandle_t xStreamBuffer,
* xStreamBufferSendFromISR() to write to a stream buffer from an interrupt * xStreamBufferSendFromISR() to write to a stream buffer from an interrupt
* service routine (ISR). * service routine (ISR).
* *
* configUSE_STREAM_BUFFERS must be set to 1 in for FreeRTOSConfig.h for
* xStreamBufferSendFromISR() to be available.
*
* @param xStreamBuffer The handle of the stream buffer to which a stream is * @param xStreamBuffer The handle of the stream buffer to which a stream is
* being sent. * being sent.
* *
@ -495,9 +508,9 @@ size_t xStreamBufferSendFromISR( StreamBufferHandle_t xStreamBuffer,
* *
* @code{c} * @code{c}
* size_t xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, * size_t xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer,
* void *pvRxData, * void *pvRxData,
* size_t xBufferLengthBytes, * size_t xBufferLengthBytes,
* TickType_t xTicksToWait ); * TickType_t xTicksToWait );
* @endcode * @endcode
* *
* Receives bytes from a stream buffer. * Receives bytes from a stream buffer.
@ -521,6 +534,9 @@ size_t xStreamBufferSendFromISR( StreamBufferHandle_t xStreamBuffer,
* xStreamBufferReceiveFromISR() to read from a stream buffer from an * xStreamBufferReceiveFromISR() to read from a stream buffer from an
* interrupt service routine (ISR). * interrupt service routine (ISR).
* *
* configUSE_STREAM_BUFFERS must be set to 1 in for FreeRTOSConfig.h for
* xStreamBufferReceive() to be available.
*
* @param xStreamBuffer The handle of the stream buffer from which bytes are to * @param xStreamBuffer The handle of the stream buffer from which bytes are to
* be received. * be received.
* *
@ -584,9 +600,9 @@ size_t xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer,
* *
* @code{c} * @code{c}
* size_t xStreamBufferReceiveFromISR( StreamBufferHandle_t xStreamBuffer, * size_t xStreamBufferReceiveFromISR( StreamBufferHandle_t xStreamBuffer,
* void *pvRxData, * void *pvRxData,
* size_t xBufferLengthBytes, * size_t xBufferLengthBytes,
* BaseType_t *pxHigherPriorityTaskWoken ); * BaseType_t *pxHigherPriorityTaskWoken );
* @endcode * @endcode
* *
* An interrupt safe version of the API function that receives bytes from a * An interrupt safe version of the API function that receives bytes from a
@ -596,6 +612,9 @@ size_t xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer,
* Use xStreamBufferReceiveFromISR() to read bytes from a stream buffer from an * Use xStreamBufferReceiveFromISR() to read bytes from a stream buffer from an
* interrupt service routine (ISR). * interrupt service routine (ISR).
* *
* configUSE_STREAM_BUFFERS must be set to 1 in for FreeRTOSConfig.h for
* xStreamBufferReceiveFromISR() to be available.
*
* @param xStreamBuffer The handle of the stream buffer from which a stream * @param xStreamBuffer The handle of the stream buffer from which a stream
* is being received. * is being received.
* *
@ -680,6 +699,9 @@ size_t xStreamBufferReceiveFromISR( StreamBufferHandle_t xStreamBuffer,
* A stream buffer handle must not be used after the stream buffer has been * A stream buffer handle must not be used after the stream buffer has been
* deleted. * deleted.
* *
* configUSE_STREAM_BUFFERS must be set to 1 in for FreeRTOSConfig.h for
* vStreamBufferDelete() to be available.
*
* @param xStreamBuffer The handle of the stream buffer to be deleted. * @param xStreamBuffer The handle of the stream buffer to be deleted.
* *
* \defgroup vStreamBufferDelete vStreamBufferDelete * \defgroup vStreamBufferDelete vStreamBufferDelete
@ -697,6 +719,9 @@ void vStreamBufferDelete( StreamBufferHandle_t xStreamBuffer ) PRIVILEGED_FUNCTI
* Queries a stream buffer to see if it is full. A stream buffer is full if it * Queries a stream buffer to see if it is full. A stream buffer is full if it
* does not have any free space, and therefore cannot accept any more data. * does not have any free space, and therefore cannot accept any more data.
* *
* configUSE_STREAM_BUFFERS must be set to 1 in for FreeRTOSConfig.h for
* xStreamBufferIsFull() to be available.
*
* @param xStreamBuffer The handle of the stream buffer being queried. * @param xStreamBuffer The handle of the stream buffer being queried.
* *
* @return If the stream buffer is full then pdTRUE is returned. Otherwise * @return If the stream buffer is full then pdTRUE is returned. Otherwise
@ -717,6 +742,9 @@ BaseType_t xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) PRIVILEGED_
* Queries a stream buffer to see if it is empty. A stream buffer is empty if * Queries a stream buffer to see if it is empty. A stream buffer is empty if
* it does not contain any data. * it does not contain any data.
* *
* configUSE_STREAM_BUFFERS must be set to 1 in for FreeRTOSConfig.h for
* xStreamBufferIsEmpty() to be available.
*
* @param xStreamBuffer The handle of the stream buffer being queried. * @param xStreamBuffer The handle of the stream buffer being queried.
* *
* @return If the stream buffer is empty then pdTRUE is returned. Otherwise * @return If the stream buffer is empty then pdTRUE is returned. Otherwise
@ -739,6 +767,9 @@ BaseType_t xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) PRIVILEGED
* are no tasks blocked waiting to either send to or receive from the stream * are no tasks blocked waiting to either send to or receive from the stream
* buffer. * buffer.
* *
* configUSE_STREAM_BUFFERS must be set to 1 in for FreeRTOSConfig.h for
* xStreamBufferReset() to be available.
*
* @param xStreamBuffer The handle of the stream buffer being reset. * @param xStreamBuffer The handle of the stream buffer being reset.
* *
* @return If the stream buffer is reset then pdPASS is returned. If there was * @return If the stream buffer is reset then pdPASS is returned. If there was
@ -761,6 +792,9 @@ BaseType_t xStreamBufferReset( StreamBufferHandle_t xStreamBuffer ) PRIVILEGED_F
* equal to the amount of data that can be sent to the stream buffer before it * equal to the amount of data that can be sent to the stream buffer before it
* is full. * is full.
* *
* configUSE_STREAM_BUFFERS must be set to 1 in for FreeRTOSConfig.h for
* xStreamBufferSpacesAvailable() to be available.
*
* @param xStreamBuffer The handle of the stream buffer being queried. * @param xStreamBuffer The handle of the stream buffer being queried.
* *
* @return The number of bytes that can be written to the stream buffer before * @return The number of bytes that can be written to the stream buffer before
@ -782,6 +816,9 @@ size_t xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) PRIVIL
* the number of bytes that can be read from the stream buffer before the stream * the number of bytes that can be read from the stream buffer before the stream
* buffer would be empty. * buffer would be empty.
* *
* configUSE_STREAM_BUFFERS must be set to 1 in for FreeRTOSConfig.h for
* xStreamBufferBytesAvailable() to be available.
*
* @param xStreamBuffer The handle of the stream buffer being queried. * @param xStreamBuffer The handle of the stream buffer being queried.
* *
* @return The number of bytes that can be read from the stream buffer before * @return The number of bytes that can be read from the stream buffer before
@ -816,6 +853,9 @@ size_t xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) PRIVILE
* A trigger level is set when the stream buffer is created, and can be modified * A trigger level is set when the stream buffer is created, and can be modified
* using xStreamBufferSetTriggerLevel(). * using xStreamBufferSetTriggerLevel().
* *
* configUSE_STREAM_BUFFERS must be set to 1 in for FreeRTOSConfig.h for
* xStreamBufferSetTriggerLevel() to be available.
*
* @param xStreamBuffer The handle of the stream buffer being updated. * @param xStreamBuffer The handle of the stream buffer being updated.
* *
* @param xTriggerLevel The new trigger level for the stream buffer. * @param xTriggerLevel The new trigger level for the stream buffer.
@ -850,6 +890,9 @@ BaseType_t xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer,
* See the example implemented in FreeRTOS/Demo/Minimal/MessageBufferAMP.c for * See the example implemented in FreeRTOS/Demo/Minimal/MessageBufferAMP.c for
* additional information. * additional information.
* *
* configUSE_STREAM_BUFFERS must be set to 1 in for FreeRTOSConfig.h for
* xStreamBufferSendCompletedFromISR() to be available.
*
* @param xStreamBuffer The handle of the stream buffer to which data was * @param xStreamBuffer The handle of the stream buffer to which data was
* written. * written.
* *
@ -891,6 +934,9 @@ BaseType_t xStreamBufferSendCompletedFromISR( StreamBufferHandle_t xStreamBuffer
* See the example implemented in FreeRTOS/Demo/Minimal/MessageBufferAMP.c for * See the example implemented in FreeRTOS/Demo/Minimal/MessageBufferAMP.c for
* additional information. * additional information.
* *
* configUSE_STREAM_BUFFERS must be set to 1 in for FreeRTOSConfig.h for
* xStreamBufferReceiveCompletedFromISR() to be available.
*
* @param xStreamBuffer The handle of the stream buffer from which data was * @param xStreamBuffer The handle of the stream buffer from which data was
* read. * read.
* *
@ -924,6 +970,9 @@ BaseType_t xStreamBufferReceiveCompletedFromISR( StreamBufferHandle_t xStreamBuf
* vStreamBufferSetStreamBufferNotificationIndex, this function returns the * vStreamBufferSetStreamBufferNotificationIndex, this function returns the
* default value (tskDEFAULT_INDEX_TO_NOTIFY). * default value (tskDEFAULT_INDEX_TO_NOTIFY).
* *
* configUSE_STREAM_BUFFERS must be set to 1 in for FreeRTOSConfig.h for
* uxStreamBufferGetStreamBufferNotificationIndex() to be available.
*
* @param xStreamBuffer The handle of the stream buffer for which the task * @param xStreamBuffer The handle of the stream buffer for which the task
* notification index is retrieved. * notification index is retrieved.
* *
@ -951,6 +1000,9 @@ UBaseType_t uxStreamBufferGetStreamBufferNotificationIndex( StreamBufferHandle_t
* before attempting to send or receive data from the stream buffer to avoid * before attempting to send or receive data from the stream buffer to avoid
* inconsistencies. * inconsistencies.
* *
* configUSE_STREAM_BUFFERS must be set to 1 in for FreeRTOSConfig.h for
* vStreamBufferSetStreamBufferNotificationIndex() to be available.
*
* @param xStreamBuffer The handle of the stream buffer for which the task * @param xStreamBuffer The handle of the stream buffer for which the task
* notification index is set. * notification index is set.
* *

View file

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

View file

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

View file

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

View file

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

View file

@ -1952,7 +1952,7 @@
#endif /* if ( configUSE_TIMERS == 1 ) */ #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 MPU_xEventGroupCreate( void ) /* FREERTOS_SYSTEM_CALL */
{ {
EventGroupHandle_t xReturn; EventGroupHandle_t xReturn;
@ -1975,10 +1975,10 @@
return xReturn; 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 MPU_xEventGroupCreateStatic( StaticEventGroup_t * pxEventGroupBuffer ) /* FREERTOS_SYSTEM_CALL */
{ {
EventGroupHandle_t xReturn; EventGroupHandle_t xReturn;
@ -2001,377 +2001,407 @@
return xReturn; 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 EventBits_t uxBitsToWaitFor,
const BaseType_t xClearOnExit,
const BaseType_t xWaitForAllBits,
TickType_t xTicksToWait ) /* FREERTOS_SYSTEM_CALL */ TickType_t xTicksToWait ) /* FREERTOS_SYSTEM_CALL */
{
EventBits_t xReturn;
if( portIS_PRIVILEGED() == pdFALSE )
{ {
portRAISE_PRIVILEGE(); EventBits_t xReturn;
portMEMORY_BARRIER();
xReturn = xEventGroupWaitBits( xEventGroup, uxBitsToWaitFor, xClearOnExit, xWaitForAllBits, xTicksToWait ); if( portIS_PRIVILEGED() == pdFALSE )
portMEMORY_BARRIER(); {
portRAISE_PRIVILEGE();
portMEMORY_BARRIER();
portRESET_PRIVILEGE(); xReturn = xEventGroupSync( xEventGroup, uxBitsToSet, uxBitsToWaitFor, xTicksToWait );
portMEMORY_BARRIER(); portMEMORY_BARRIER();
portRESET_PRIVILEGE();
portMEMORY_BARRIER();
}
else
{
xReturn = xEventGroupSync( xEventGroup, uxBitsToSet, uxBitsToWaitFor, xTicksToWait );
}
return xReturn;
} }
else #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */
{
xReturn = xEventGroupWaitBits( xEventGroup, uxBitsToWaitFor, xClearOnExit, xWaitForAllBits, xTicksToWait );
}
return xReturn;
}
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, #if ( configUSE_EVENT_GROUPS == 1 )
const EventBits_t uxBitsToClear ) /* FREERTOS_SYSTEM_CALL */ void MPU_vEventGroupDelete( EventGroupHandle_t xEventGroup ) /* FREERTOS_SYSTEM_CALL */
{
EventBits_t xReturn;
if( portIS_PRIVILEGED() == pdFALSE )
{ {
portRAISE_PRIVILEGE(); if( portIS_PRIVILEGED() == pdFALSE )
portMEMORY_BARRIER(); {
portRAISE_PRIVILEGE();
portMEMORY_BARRIER();
xReturn = xEventGroupClearBits( xEventGroup, uxBitsToClear ); vEventGroupDelete( xEventGroup );
portMEMORY_BARRIER(); portMEMORY_BARRIER();
portRESET_PRIVILEGE(); portRESET_PRIVILEGE();
portMEMORY_BARRIER(); portMEMORY_BARRIER();
}
else
{
vEventGroupDelete( xEventGroup );
}
} }
else #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */
{
xReturn = xEventGroupClearBits( xEventGroup, uxBitsToClear );
}
return xReturn;
}
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, #if ( configUSE_STREAM_BUFFERS == 1 )
const EventBits_t uxBitsToSet ) /* FREERTOS_SYSTEM_CALL */ size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer,
{ const void * pvTxData,
EventBits_t xReturn; size_t xDataLengthBytes,
TickType_t xTicksToWait ) /* FREERTOS_SYSTEM_CALL */
if( portIS_PRIVILEGED() == pdFALSE )
{ {
portRAISE_PRIVILEGE(); size_t xReturn;
portMEMORY_BARRIER();
xReturn = xEventGroupSetBits( xEventGroup, uxBitsToSet ); if( portIS_PRIVILEGED() == pdFALSE )
portMEMORY_BARRIER(); {
portRAISE_PRIVILEGE();
portMEMORY_BARRIER();
portRESET_PRIVILEGE(); xReturn = xStreamBufferSend( xStreamBuffer, pvTxData, xDataLengthBytes, xTicksToWait );
portMEMORY_BARRIER(); portMEMORY_BARRIER();
portRESET_PRIVILEGE();
portMEMORY_BARRIER();
}
else
{
xReturn = xStreamBufferSend( xStreamBuffer, pvTxData, xDataLengthBytes, xTicksToWait );
}
return xReturn;
} }
else #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */
{
xReturn = xEventGroupSetBits( xEventGroup, uxBitsToSet );
}
return xReturn;
}
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, #if ( configUSE_STREAM_BUFFERS == 1 )
const EventBits_t uxBitsToSet, size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) /* FREERTOS_SYSTEM_CALL */
const EventBits_t uxBitsToWaitFor,
TickType_t xTicksToWait ) /* FREERTOS_SYSTEM_CALL */
{
EventBits_t xReturn;
if( portIS_PRIVILEGED() == pdFALSE )
{ {
portRAISE_PRIVILEGE(); size_t xReturn;
portMEMORY_BARRIER();
xReturn = xEventGroupSync( xEventGroup, uxBitsToSet, uxBitsToWaitFor, xTicksToWait ); if( portIS_PRIVILEGED() == pdFALSE )
portMEMORY_BARRIER(); {
portRAISE_PRIVILEGE();
portMEMORY_BARRIER();
portRESET_PRIVILEGE(); xReturn = xStreamBufferNextMessageLengthBytes( xStreamBuffer );
portMEMORY_BARRIER(); portMEMORY_BARRIER();
portRESET_PRIVILEGE();
portMEMORY_BARRIER();
}
else
{
xReturn = xStreamBufferNextMessageLengthBytes( xStreamBuffer );
}
return xReturn;
} }
else #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */
{
xReturn = xEventGroupSync( xEventGroup, uxBitsToSet, uxBitsToWaitFor, xTicksToWait );
}
return xReturn;
}
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
void MPU_vEventGroupDelete( EventGroupHandle_t xEventGroup ) /* FREERTOS_SYSTEM_CALL */ #if ( configUSE_STREAM_BUFFERS == 1 )
{ size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer,
if( portIS_PRIVILEGED() == pdFALSE ) void * pvRxData,
size_t xBufferLengthBytes,
TickType_t xTicksToWait ) /* FREERTOS_SYSTEM_CALL */
{ {
portRAISE_PRIVILEGE(); size_t xReturn;
portMEMORY_BARRIER();
vEventGroupDelete( xEventGroup ); if( portIS_PRIVILEGED() == pdFALSE )
portMEMORY_BARRIER(); {
portRAISE_PRIVILEGE();
portMEMORY_BARRIER();
portRESET_PRIVILEGE(); xReturn = xStreamBufferReceive( xStreamBuffer, pvRxData, xBufferLengthBytes, xTicksToWait );
portMEMORY_BARRIER(); portMEMORY_BARRIER();
portRESET_PRIVILEGE();
portMEMORY_BARRIER();
}
else
{
xReturn = xStreamBufferReceive( xStreamBuffer, pvRxData, xBufferLengthBytes, xTicksToWait );
}
return xReturn;
} }
else #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */
{
vEventGroupDelete( xEventGroup );
}
}
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, #if ( configUSE_STREAM_BUFFERS == 1 )
const void * pvTxData, void MPU_vStreamBufferDelete( StreamBufferHandle_t xStreamBuffer ) /* FREERTOS_SYSTEM_CALL */
size_t xDataLengthBytes,
TickType_t xTicksToWait ) /* FREERTOS_SYSTEM_CALL */
{
size_t xReturn;
if( portIS_PRIVILEGED() == pdFALSE )
{ {
portRAISE_PRIVILEGE(); if( portIS_PRIVILEGED() == pdFALSE )
portMEMORY_BARRIER(); {
portRAISE_PRIVILEGE();
portMEMORY_BARRIER();
xReturn = xStreamBufferSend( xStreamBuffer, pvTxData, xDataLengthBytes, xTicksToWait ); vStreamBufferDelete( xStreamBuffer );
portMEMORY_BARRIER(); portMEMORY_BARRIER();
portRESET_PRIVILEGE(); portRESET_PRIVILEGE();
portMEMORY_BARRIER(); portMEMORY_BARRIER();
}
else
{
vStreamBufferDelete( xStreamBuffer );
}
} }
else #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */
{
xReturn = xStreamBufferSend( xStreamBuffer, pvTxData, xDataLengthBytes, xTicksToWait );
}
return xReturn;
}
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) /* FREERTOS_SYSTEM_CALL */ #if ( configUSE_STREAM_BUFFERS == 1 )
{ BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) /* FREERTOS_SYSTEM_CALL */
size_t xReturn;
if( portIS_PRIVILEGED() == pdFALSE )
{ {
portRAISE_PRIVILEGE(); BaseType_t xReturn;
portMEMORY_BARRIER();
xReturn = xStreamBufferNextMessageLengthBytes( xStreamBuffer ); if( portIS_PRIVILEGED() == pdFALSE )
portMEMORY_BARRIER(); {
portRAISE_PRIVILEGE();
portMEMORY_BARRIER();
portRESET_PRIVILEGE(); xReturn = xStreamBufferIsFull( xStreamBuffer );
portMEMORY_BARRIER(); portMEMORY_BARRIER();
portRESET_PRIVILEGE();
portMEMORY_BARRIER();
}
else
{
xReturn = xStreamBufferIsFull( xStreamBuffer );
}
return xReturn;
} }
else #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */
{
xReturn = xStreamBufferNextMessageLengthBytes( xStreamBuffer );
}
return xReturn;
}
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, #if ( configUSE_STREAM_BUFFERS == 1 )
void * pvRxData, BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) /* FREERTOS_SYSTEM_CALL */
size_t xBufferLengthBytes,
TickType_t xTicksToWait ) /* FREERTOS_SYSTEM_CALL */
{
size_t xReturn;
if( portIS_PRIVILEGED() == pdFALSE )
{ {
portRAISE_PRIVILEGE(); BaseType_t xReturn;
portMEMORY_BARRIER();
xReturn = xStreamBufferReceive( xStreamBuffer, pvRxData, xBufferLengthBytes, xTicksToWait ); if( portIS_PRIVILEGED() == pdFALSE )
portMEMORY_BARRIER(); {
portRAISE_PRIVILEGE();
portMEMORY_BARRIER();
portRESET_PRIVILEGE(); xReturn = xStreamBufferIsEmpty( xStreamBuffer );
portMEMORY_BARRIER(); portMEMORY_BARRIER();
portRESET_PRIVILEGE();
portMEMORY_BARRIER();
}
else
{
xReturn = xStreamBufferIsEmpty( xStreamBuffer );
}
return xReturn;
} }
else #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */
{
xReturn = xStreamBufferReceive( xStreamBuffer, pvRxData, xBufferLengthBytes, xTicksToWait );
}
return xReturn;
}
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
void MPU_vStreamBufferDelete( StreamBufferHandle_t xStreamBuffer ) /* FREERTOS_SYSTEM_CALL */ #if ( configUSE_STREAM_BUFFERS == 1 )
{ BaseType_t MPU_xStreamBufferReset( StreamBufferHandle_t xStreamBuffer ) /* FREERTOS_SYSTEM_CALL */
if( portIS_PRIVILEGED() == pdFALSE )
{ {
portRAISE_PRIVILEGE(); BaseType_t xReturn;
portMEMORY_BARRIER();
vStreamBufferDelete( xStreamBuffer ); if( portIS_PRIVILEGED() == pdFALSE )
portMEMORY_BARRIER(); {
portRAISE_PRIVILEGE();
portMEMORY_BARRIER();
portRESET_PRIVILEGE(); xReturn = xStreamBufferReset( xStreamBuffer );
portMEMORY_BARRIER(); portMEMORY_BARRIER();
portRESET_PRIVILEGE();
portMEMORY_BARRIER();
}
else
{
xReturn = xStreamBufferReset( xStreamBuffer );
}
return xReturn;
} }
else #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */
{
vStreamBufferDelete( xStreamBuffer );
}
}
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) /* FREERTOS_SYSTEM_CALL */ #if ( configUSE_STREAM_BUFFERS == 1 )
{ size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) /* FREERTOS_SYSTEM_CALL */
BaseType_t xReturn;
if( portIS_PRIVILEGED() == pdFALSE )
{ {
portRAISE_PRIVILEGE(); size_t xReturn;
portMEMORY_BARRIER();
xReturn = xStreamBufferIsFull( xStreamBuffer ); if( portIS_PRIVILEGED() == pdFALSE )
portMEMORY_BARRIER(); {
portRAISE_PRIVILEGE();
portMEMORY_BARRIER();
xReturn = xStreamBufferSpacesAvailable( xStreamBuffer );
portMEMORY_BARRIER();
portRESET_PRIVILEGE(); portRESET_PRIVILEGE();
portMEMORY_BARRIER(); portMEMORY_BARRIER();
}
else
{
xReturn = xStreamBufferSpacesAvailable( xStreamBuffer );
}
return xReturn;
} }
else #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */
{
xReturn = xStreamBufferIsFull( xStreamBuffer );
}
return xReturn;
}
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) /* FREERTOS_SYSTEM_CALL */ #if ( configUSE_STREAM_BUFFERS == 1 )
{ size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) /* FREERTOS_SYSTEM_CALL */
BaseType_t xReturn;
if( portIS_PRIVILEGED() == pdFALSE )
{ {
portRAISE_PRIVILEGE(); size_t xReturn;
portMEMORY_BARRIER();
xReturn = xStreamBufferIsEmpty( xStreamBuffer ); if( portIS_PRIVILEGED() == pdFALSE )
portMEMORY_BARRIER(); {
portRAISE_PRIVILEGE();
portMEMORY_BARRIER();
portRESET_PRIVILEGE(); xReturn = xStreamBufferBytesAvailable( xStreamBuffer );
portMEMORY_BARRIER(); portMEMORY_BARRIER();
portRESET_PRIVILEGE();
portMEMORY_BARRIER();
}
else
{
xReturn = xStreamBufferBytesAvailable( xStreamBuffer );
}
return xReturn;
} }
else #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */
{
xReturn = xStreamBufferIsEmpty( xStreamBuffer );
}
return xReturn;
}
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
BaseType_t MPU_xStreamBufferReset( StreamBufferHandle_t xStreamBuffer ) /* FREERTOS_SYSTEM_CALL */ #if ( configUSE_STREAM_BUFFERS == 1 )
{ BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer,
BaseType_t xReturn; size_t xTriggerLevel ) /* FREERTOS_SYSTEM_CALL */
if( portIS_PRIVILEGED() == pdFALSE )
{ {
portRAISE_PRIVILEGE(); BaseType_t xReturn;
portMEMORY_BARRIER();
xReturn = xStreamBufferReset( xStreamBuffer ); if( portIS_PRIVILEGED() == pdFALSE )
portMEMORY_BARRIER(); {
portRAISE_PRIVILEGE();
portMEMORY_BARRIER();
portRESET_PRIVILEGE(); xReturn = xStreamBufferSetTriggerLevel( xStreamBuffer, xTriggerLevel );
portMEMORY_BARRIER(); portMEMORY_BARRIER();
portRESET_PRIVILEGE();
portMEMORY_BARRIER();
}
else
{
xReturn = xStreamBufferSetTriggerLevel( xStreamBuffer, xTriggerLevel );
}
return xReturn;
} }
else #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */
{
xReturn = xStreamBufferReset( xStreamBuffer );
}
return xReturn;
}
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) /* FREERTOS_SYSTEM_CALL */ #if ( ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) && ( configUSE_STREAM_BUFFERS == 1 ) )
{
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 )
StreamBufferHandle_t MPU_xStreamBufferGenericCreate( size_t xBufferSizeBytes, StreamBufferHandle_t MPU_xStreamBufferGenericCreate( size_t xBufferSizeBytes,
size_t xTriggerLevelBytes, size_t xTriggerLevelBytes,
BaseType_t xIsMessageBuffer, BaseType_t xIsMessageBuffer,
@ -2422,10 +2452,10 @@
return xReturn; 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, StreamBufferHandle_t MPU_xStreamBufferGenericCreateStatic( size_t xBufferSizeBytes,
size_t xTriggerLevelBytes, size_t xTriggerLevelBytes,
BaseType_t xIsMessageBuffer, BaseType_t xIsMessageBuffer,
@ -2482,7 +2512,7 @@
return xReturn; 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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -201,111 +201,119 @@ MPU_xQueueSemaphoreTake:
/* ----------------------------------------------------------------------------------- */ /* ----------------------------------------------------------------------------------- */
.extern MPU_xEventGroupWaitBitsImpl #if ( configUSE_EVENT_GROUPS == 1 )
.align 4
.global MPU_xEventGroupWaitBitsEntry .extern MPU_xEventGroupWaitBitsImpl
.type MPU_xEventGroupWaitBitsEntry, function .align 4
MPU_xEventGroupWaitBitsEntry: .global MPU_xEventGroupWaitBitsEntry
INVOKE_SYSTEM_CALL #SYSTEM_CALL_xEventGroupWaitBits, MPU_xEventGroupWaitBitsImpl .type MPU_xEventGroupWaitBitsEntry, function
MPU_xEventGroupWaitBitsEntry:
INVOKE_SYSTEM_CALL #SYSTEM_CALL_xEventGroupWaitBits, MPU_xEventGroupWaitBitsImpl
/* ----------------------------------------------------------------------------------- */
.extern MPU_xEventGroupClearBitsImpl
.align 4
.global MPU_xEventGroupClearBits
.type MPU_xEventGroupClearBits, function
MPU_xEventGroupClearBits:
INVOKE_SYSTEM_CALL #SYSTEM_CALL_xEventGroupClearBits, MPU_xEventGroupClearBitsImpl
/* ----------------------------------------------------------------------------------- */
.extern MPU_xEventGroupSetBitsImpl
.align 4
.global MPU_xEventGroupSetBits
.type MPU_xEventGroupSetBits, function
MPU_xEventGroupSetBits:
INVOKE_SYSTEM_CALL #SYSTEM_CALL_xEventGroupSetBits, MPU_xEventGroupSetBitsImpl
/* ----------------------------------------------------------------------------------- */
.extern MPU_xEventGroupSyncImpl
.align 4
.global MPU_xEventGroupSync
.type MPU_xEventGroupSync, function
MPU_xEventGroupSync:
INVOKE_SYSTEM_CALL #SYSTEM_CALL_xEventGroupSync, MPU_xEventGroupSyncImpl
#endif /* if ( configUSE_EVENT_GROUPS == 1 ) */
/* ----------------------------------------------------------------------------------- */ /* ----------------------------------------------------------------------------------- */
.extern MPU_xEventGroupClearBitsImpl #if ( configUSE_STREAM_BUFFERS == 1 )
.align 4
.global MPU_xEventGroupClearBits
.type MPU_xEventGroupClearBits, function
MPU_xEventGroupClearBits:
INVOKE_SYSTEM_CALL #SYSTEM_CALL_xEventGroupClearBits, MPU_xEventGroupClearBitsImpl
/* ----------------------------------------------------------------------------------- */ .extern MPU_xStreamBufferSendImpl
.align 4
.global MPU_xStreamBufferSend
.type MPU_xStreamBufferSend, function
MPU_xStreamBufferSend:
INVOKE_SYSTEM_CALL #SYSTEM_CALL_xStreamBufferSend, MPU_xStreamBufferSendImpl
.extern MPU_xEventGroupSetBitsImpl /* ----------------------------------------------------------------------------------- */
.align 4
.global MPU_xEventGroupSetBits
.type MPU_xEventGroupSetBits, function
MPU_xEventGroupSetBits:
INVOKE_SYSTEM_CALL #SYSTEM_CALL_xEventGroupSetBits, MPU_xEventGroupSetBitsImpl
/* ----------------------------------------------------------------------------------- */ .extern MPU_xStreamBufferReceiveImpl
.align 4
.global MPU_xStreamBufferReceive
.type MPU_xStreamBufferReceive, function
MPU_xStreamBufferReceive:
INVOKE_SYSTEM_CALL #SYSTEM_CALL_xStreamBufferReceive, MPU_xStreamBufferReceiveImpl
.extern MPU_xEventGroupSyncImpl /* ----------------------------------------------------------------------------------- */
.align 4
.global MPU_xEventGroupSync
.type MPU_xEventGroupSync, function
MPU_xEventGroupSync:
INVOKE_SYSTEM_CALL #SYSTEM_CALL_xEventGroupSync, MPU_xEventGroupSyncImpl
/* ----------------------------------------------------------------------------------- */ .extern MPU_xStreamBufferIsFullImpl
.align 4
.global MPU_xStreamBufferIsFull
.type MPU_xStreamBufferIsFull, function
MPU_xStreamBufferIsFull:
INVOKE_SYSTEM_CALL #SYSTEM_CALL_xStreamBufferIsFull, MPU_xStreamBufferIsFullImpl
.extern MPU_xStreamBufferSendImpl /* ----------------------------------------------------------------------------------- */
.align 4
.global MPU_xStreamBufferSend
.type MPU_xStreamBufferSend, function
MPU_xStreamBufferSend:
INVOKE_SYSTEM_CALL #SYSTEM_CALL_xStreamBufferSend, MPU_xStreamBufferSendImpl
/* ----------------------------------------------------------------------------------- */ .extern MPU_xStreamBufferIsEmptyImpl
.align 4
.global MPU_xStreamBufferIsEmpty
.type MPU_xStreamBufferIsEmpty, function
MPU_xStreamBufferIsEmpty:
INVOKE_SYSTEM_CALL #SYSTEM_CALL_xStreamBufferIsEmpty, MPU_xStreamBufferIsEmptyImpl
.extern MPU_xStreamBufferReceiveImpl /* ----------------------------------------------------------------------------------- */
.align 4
.global MPU_xStreamBufferReceive
.type MPU_xStreamBufferReceive, function
MPU_xStreamBufferReceive:
INVOKE_SYSTEM_CALL #SYSTEM_CALL_xStreamBufferReceive, MPU_xStreamBufferReceiveImpl
/* ----------------------------------------------------------------------------------- */ .extern MPU_xStreamBufferSpacesAvailableImpl
.align 4
.global MPU_xStreamBufferSpacesAvailable
.type MPU_xStreamBufferSpacesAvailable, function
MPU_xStreamBufferSpacesAvailable:
INVOKE_SYSTEM_CALL #SYSTEM_CALL_xStreamBufferSpacesAvailable, MPU_xStreamBufferSpacesAvailableImpl
.extern MPU_xStreamBufferIsFullImpl /* ----------------------------------------------------------------------------------- */
.align 4
.global MPU_xStreamBufferIsFull
.type MPU_xStreamBufferIsFull, function
MPU_xStreamBufferIsFull:
INVOKE_SYSTEM_CALL #SYSTEM_CALL_xStreamBufferIsFull, MPU_xStreamBufferIsFullImpl
/* ----------------------------------------------------------------------------------- */ .extern MPU_xStreamBufferBytesAvailableImpl
.align 4
.global MPU_xStreamBufferBytesAvailable
.type MPU_xStreamBufferBytesAvailable, function
MPU_xStreamBufferBytesAvailable:
INVOKE_SYSTEM_CALL #SYSTEM_CALL_xStreamBufferBytesAvailable, MPU_xStreamBufferBytesAvailableImpl
.extern MPU_xStreamBufferIsEmptyImpl /* ----------------------------------------------------------------------------------- */
.align 4
.global MPU_xStreamBufferIsEmpty
.type MPU_xStreamBufferIsEmpty, function
MPU_xStreamBufferIsEmpty:
INVOKE_SYSTEM_CALL #SYSTEM_CALL_xStreamBufferIsEmpty, MPU_xStreamBufferIsEmptyImpl
/* ----------------------------------------------------------------------------------- */ .extern MPU_xStreamBufferSetTriggerLevelImpl
.align 4
.global MPU_xStreamBufferSetTriggerLevel
.type MPU_xStreamBufferSetTriggerLevel, function
MPU_xStreamBufferSetTriggerLevel:
INVOKE_SYSTEM_CALL #SYSTEM_CALL_xStreamBufferSetTriggerLevel, MPU_xStreamBufferSetTriggerLevelImpl
.extern MPU_xStreamBufferSpacesAvailableImpl /* ----------------------------------------------------------------------------------- */
.align 4
.global MPU_xStreamBufferSpacesAvailable
.type MPU_xStreamBufferSpacesAvailable, function
MPU_xStreamBufferSpacesAvailable:
INVOKE_SYSTEM_CALL #SYSTEM_CALL_xStreamBufferSpacesAvailable, MPU_xStreamBufferSpacesAvailableImpl
/* ----------------------------------------------------------------------------------- */ .extern MPU_xStreamBufferNextMessageLengthBytesImpl
.align 4
.global MPU_xStreamBufferNextMessageLengthBytes
.type MPU_xStreamBufferNextMessageLengthBytes, function
MPU_xStreamBufferNextMessageLengthBytes:
INVOKE_SYSTEM_CALL #SYSTEM_CALL_xStreamBufferNextMessageLengthBytes, MPU_xStreamBufferNextMessageLengthBytesImpl
.extern MPU_xStreamBufferBytesAvailableImpl #endif /* if ( configUSE_STREAM_BUFFERS == 1 ) */
.align 4
.global MPU_xStreamBufferBytesAvailable
.type MPU_xStreamBufferBytesAvailable, function
MPU_xStreamBufferBytesAvailable:
INVOKE_SYSTEM_CALL #SYSTEM_CALL_xStreamBufferBytesAvailable, MPU_xStreamBufferBytesAvailableImpl
/* ----------------------------------------------------------------------------------- */
.extern MPU_xStreamBufferSetTriggerLevelImpl
.align 4
.global MPU_xStreamBufferSetTriggerLevel
.type MPU_xStreamBufferSetTriggerLevel, function
MPU_xStreamBufferSetTriggerLevel:
INVOKE_SYSTEM_CALL #SYSTEM_CALL_xStreamBufferSetTriggerLevel, MPU_xStreamBufferSetTriggerLevelImpl
/* ----------------------------------------------------------------------------------- */
.extern MPU_xStreamBufferNextMessageLengthBytesImpl
.align 4
.global MPU_xStreamBufferNextMessageLengthBytes
.type MPU_xStreamBufferNextMessageLengthBytes, function
MPU_xStreamBufferNextMessageLengthBytes:
INVOKE_SYSTEM_CALL #SYSTEM_CALL_xStreamBufferNextMessageLengthBytes, MPU_xStreamBufferNextMessageLengthBytesImpl
/* ----------------------------------------------------------------------------------- */ /* ----------------------------------------------------------------------------------- */
@ -392,8 +400,11 @@ MPU_xStreamBufferNextMessageLengthBytes:
MPU_uxTaskGetSystemState: MPU_uxTaskGetSystemState:
INVOKE_SYSTEM_CALL #SYSTEM_CALL_uxTaskGetSystemState, MPU_uxTaskGetSystemStateImpl INVOKE_SYSTEM_CALL #SYSTEM_CALL_uxTaskGetSystemState, MPU_uxTaskGetSystemStateImpl
/* ------------------------------------------------------------------------------- */ #endif /* if ( configUSE_TRACE_FACILITY == 1 ) */
/* ------------------------------------------------------------------------------- */
#if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) )
.extern MPU_uxEventGroupGetNumberImpl .extern MPU_uxEventGroupGetNumberImpl
.align 4 .align 4
.global MPU_uxEventGroupGetNumber .global MPU_uxEventGroupGetNumber
@ -403,6 +414,8 @@ MPU_xStreamBufferNextMessageLengthBytes:
/* ------------------------------------------------------------------------------- */ /* ------------------------------------------------------------------------------- */
.extern MPU_vEventGroupSetNumberImpl .extern MPU_vEventGroupSetNumberImpl
.align 4 .align 4
.global MPU_vEventGroupSetNumber .global MPU_vEventGroupSetNumber
@ -412,7 +425,7 @@ MPU_xStreamBufferNextMessageLengthBytes:
/* ------------------------------------------------------------------------------- */ /* ------------------------------------------------------------------------------- */
#endif /* if ( configUSE_TRACE_FACILITY == 1 ) */ #endif /* if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) */
/* ------------------------------------------------------------------------------- */ /* ------------------------------------------------------------------------------- */

View file

@ -1354,6 +1354,8 @@ MPU_xTimerGetExpiryTime_Unpriv
#endif /* if ( configUSE_TIMERS == 1 ) */ #endif /* if ( configUSE_TIMERS == 1 ) */
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
#if ( configUSE_EVENT_GROUPS == 1 )
EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) FREERTOS_SYSTEM_CALL; EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) FREERTOS_SYSTEM_CALL;
__asm EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) /* FREERTOS_SYSTEM_CALL */ __asm EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) /* FREERTOS_SYSTEM_CALL */
@ -1371,8 +1373,12 @@ MPU_xEventGroupWaitBits_Priv
MPU_xEventGroupWaitBits_Unpriv MPU_xEventGroupWaitBits_Unpriv
svc #SYSTEM_CALL_xEventGroupWaitBits svc #SYSTEM_CALL_xEventGroupWaitBits
} }
#endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
#if ( configUSE_EVENT_GROUPS == 1 )
EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup,
const EventBits_t uxBitsToClear ) FREERTOS_SYSTEM_CALL; const EventBits_t uxBitsToClear ) FREERTOS_SYSTEM_CALL;
@ -1392,8 +1398,12 @@ MPU_xEventGroupClearBits_Priv
MPU_xEventGroupClearBits_Unpriv MPU_xEventGroupClearBits_Unpriv
svc #SYSTEM_CALL_xEventGroupClearBits svc #SYSTEM_CALL_xEventGroupClearBits
} }
#endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
#if ( configUSE_EVENT_GROUPS == 1 )
EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup,
const EventBits_t uxBitsToSet ) FREERTOS_SYSTEM_CALL; const EventBits_t uxBitsToSet ) FREERTOS_SYSTEM_CALL;
@ -1413,8 +1423,12 @@ MPU_xEventGroupSetBits_Priv
MPU_xEventGroupSetBits_Unpriv MPU_xEventGroupSetBits_Unpriv
svc #SYSTEM_CALL_xEventGroupSetBits svc #SYSTEM_CALL_xEventGroupSetBits
} }
#endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
#if ( configUSE_EVENT_GROUPS == 1 )
EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup,
const EventBits_t uxBitsToSet, const EventBits_t uxBitsToSet,
const EventBits_t uxBitsToWaitFor, const EventBits_t uxBitsToWaitFor,
@ -1438,9 +1452,11 @@ MPU_xEventGroupSync_Priv
MPU_xEventGroupSync_Unpriv MPU_xEventGroupSync_Unpriv
svc #SYSTEM_CALL_xEventGroupSync svc #SYSTEM_CALL_xEventGroupSync
} }
#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 ) FREERTOS_SYSTEM_CALL; UBaseType_t MPU_uxEventGroupGetNumber( void * xEventGroup ) FREERTOS_SYSTEM_CALL;
@ -1460,10 +1476,10 @@ MPU_uxEventGroupGetNumber_Unpriv
svc #SYSTEM_CALL_uxEventGroupGetNumber svc #SYSTEM_CALL_uxEventGroupGetNumber
} }
#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, void MPU_vEventGroupSetNumber( void * xEventGroup,
UBaseType_t uxEventGroupNumber ) FREERTOS_SYSTEM_CALL; UBaseType_t uxEventGroupNumber ) FREERTOS_SYSTEM_CALL;
@ -1485,9 +1501,11 @@ MPU_vEventGroupSetNumber_Unpriv
svc #SYSTEM_CALL_vEventGroupSetNumber svc #SYSTEM_CALL_vEventGroupSetNumber
} }
#endif /*( configUSE_TRACE_FACILITY == 1 )*/ #endif /* #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) */
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
#if ( configUSE_STREAM_BUFFERS == 1 )
size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer,
const void * pvTxData, const void * pvTxData,
size_t xDataLengthBytes, size_t xDataLengthBytes,
@ -1511,8 +1529,12 @@ MPU_xStreamBufferSend_Priv
MPU_xStreamBufferSend_Unpriv MPU_xStreamBufferSend_Unpriv
svc #SYSTEM_CALL_xStreamBufferSend svc #SYSTEM_CALL_xStreamBufferSend
} }
#endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
#if ( configUSE_STREAM_BUFFERS == 1 )
size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer,
void * pvRxData, void * pvRxData,
size_t xBufferLengthBytes, size_t xBufferLengthBytes,
@ -1536,8 +1558,12 @@ MPU_xStreamBufferReceive_Priv
MPU_xStreamBufferReceive_Unpriv MPU_xStreamBufferReceive_Unpriv
svc #SYSTEM_CALL_xStreamBufferReceive svc #SYSTEM_CALL_xStreamBufferReceive
} }
#endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
#if ( configUSE_STREAM_BUFFERS == 1 )
BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) FREERTOS_SYSTEM_CALL; BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) FREERTOS_SYSTEM_CALL;
__asm BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) /* FREERTOS_SYSTEM_CALL */ __asm BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) /* FREERTOS_SYSTEM_CALL */
@ -1555,8 +1581,12 @@ MPU_xStreamBufferIsFull_Priv
MPU_xStreamBufferIsFull_Unpriv MPU_xStreamBufferIsFull_Unpriv
svc #SYSTEM_CALL_xStreamBufferIsFull svc #SYSTEM_CALL_xStreamBufferIsFull
} }
#endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
#if ( configUSE_STREAM_BUFFERS == 1 )
BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) FREERTOS_SYSTEM_CALL; BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) FREERTOS_SYSTEM_CALL;
__asm BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) /* FREERTOS_SYSTEM_CALL */ __asm BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) /* FREERTOS_SYSTEM_CALL */
@ -1574,8 +1604,12 @@ MPU_xStreamBufferIsEmpty_Priv
MPU_xStreamBufferIsEmpty_Unpriv MPU_xStreamBufferIsEmpty_Unpriv
svc #SYSTEM_CALL_xStreamBufferIsEmpty svc #SYSTEM_CALL_xStreamBufferIsEmpty
} }
#endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
#if ( configUSE_STREAM_BUFFERS == 1 )
size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) FREERTOS_SYSTEM_CALL; size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) FREERTOS_SYSTEM_CALL;
__asm size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) /* FREERTOS_SYSTEM_CALL */ __asm size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) /* FREERTOS_SYSTEM_CALL */
@ -1593,8 +1627,12 @@ MPU_xStreamBufferSpacesAvailable_Priv
MPU_xStreamBufferSpacesAvailable_Unpriv MPU_xStreamBufferSpacesAvailable_Unpriv
svc #SYSTEM_CALL_xStreamBufferSpacesAvailable svc #SYSTEM_CALL_xStreamBufferSpacesAvailable
} }
#endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
#if ( configUSE_STREAM_BUFFERS == 1 )
size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) FREERTOS_SYSTEM_CALL; size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) FREERTOS_SYSTEM_CALL;
__asm size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) /* FREERTOS_SYSTEM_CALL */ __asm size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) /* FREERTOS_SYSTEM_CALL */
@ -1612,8 +1650,12 @@ MPU_xStreamBufferBytesAvailable_Priv
MPU_xStreamBufferBytesAvailable_Unpriv MPU_xStreamBufferBytesAvailable_Unpriv
svc #SYSTEM_CALL_xStreamBufferBytesAvailable svc #SYSTEM_CALL_xStreamBufferBytesAvailable
} }
#endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
#if ( configUSE_STREAM_BUFFERS == 1 )
BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer,
size_t xTriggerLevel ) FREERTOS_SYSTEM_CALL; size_t xTriggerLevel ) FREERTOS_SYSTEM_CALL;
@ -1633,8 +1675,12 @@ MPU_xStreamBufferSetTriggerLevel_Priv
MPU_xStreamBufferSetTriggerLevel_Unpriv MPU_xStreamBufferSetTriggerLevel_Unpriv
svc #SYSTEM_CALL_xStreamBufferSetTriggerLevel svc #SYSTEM_CALL_xStreamBufferSetTriggerLevel
} }
#endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
#if ( configUSE_STREAM_BUFFERS == 1 )
size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) FREERTOS_SYSTEM_CALL; size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) FREERTOS_SYSTEM_CALL;
__asm size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) /* FREERTOS_SYSTEM_CALL */ __asm size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) /* FREERTOS_SYSTEM_CALL */
@ -1652,6 +1698,8 @@ MPU_xStreamBufferNextMessageLengthBytes_Priv
MPU_xStreamBufferNextMessageLengthBytes_Unpriv MPU_xStreamBufferNextMessageLengthBytes_Unpriv
svc #SYSTEM_CALL_xStreamBufferNextMessageLengthBytes svc #SYSTEM_CALL_xStreamBufferNextMessageLengthBytes
} }
#endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
#endif /* configUSE_MPU_WRAPPERS_V1 == 0 */ #endif /* configUSE_MPU_WRAPPERS_V1 == 0 */

View file

@ -52,11 +52,17 @@
* correct privileged Vs unprivileged linkage and placement. */ * correct privileged Vs unprivileged linkage and placement. */
#undef MPU_WRAPPERS_INCLUDED_FROM_API_FILE #undef MPU_WRAPPERS_INCLUDED_FROM_API_FILE
/* This entire source file will be skipped if the application is not configured
* to include stream buffer functionality. This #if is closed at the very bottom
* of this file. If you want to include stream buffers then ensure
* configUSE_STREAM_BUFFERS is set to 1 in FreeRTOSConfig.h. */
#if ( configUSE_STREAM_BUFFERS == 1 )
/* If the user has not provided application specific Rx notification macros, /* If the user has not provided application specific Rx notification macros,
* or #defined the notification macros away, then provide default implementations * or #defined the notification macros away, then provide default implementations
* that uses task notifications. */ * that uses task notifications. */
#ifndef sbRECEIVE_COMPLETED #ifndef sbRECEIVE_COMPLETED
#define sbRECEIVE_COMPLETED( pxStreamBuffer ) \ #define sbRECEIVE_COMPLETED( pxStreamBuffer ) \
do \ do \
{ \ { \
vTaskSuspendAll(); \ vTaskSuspendAll(); \
@ -72,13 +78,13 @@
} \ } \
( void ) xTaskResumeAll(); \ ( void ) xTaskResumeAll(); \
} while( 0 ) } while( 0 )
#endif /* sbRECEIVE_COMPLETED */ #endif /* sbRECEIVE_COMPLETED */
/* If user has provided a per-instance receive complete callback, then /* If user has provided a per-instance receive complete callback, then
* invoke the callback else use the receive complete macro which is provided by default for all instances. * invoke the callback else use the receive complete macro which is provided by default for all instances.
*/ */
#if ( configUSE_SB_COMPLETED_CALLBACK == 1 ) #if ( configUSE_SB_COMPLETED_CALLBACK == 1 )
#define prvRECEIVE_COMPLETED( pxStreamBuffer ) \ #define prvRECEIVE_COMPLETED( pxStreamBuffer ) \
do { \ do { \
if( ( pxStreamBuffer )->pxReceiveCompletedCallback != NULL ) \ if( ( pxStreamBuffer )->pxReceiveCompletedCallback != NULL ) \
{ \ { \
@ -89,13 +95,13 @@
sbRECEIVE_COMPLETED( ( pxStreamBuffer ) ); \ sbRECEIVE_COMPLETED( ( pxStreamBuffer ) ); \
} \ } \
} while( 0 ) } while( 0 )
#else /* if ( configUSE_SB_COMPLETED_CALLBACK == 1 ) */ #else /* if ( configUSE_SB_COMPLETED_CALLBACK == 1 ) */
#define prvRECEIVE_COMPLETED( pxStreamBuffer ) sbRECEIVE_COMPLETED( ( pxStreamBuffer ) ) #define prvRECEIVE_COMPLETED( pxStreamBuffer ) sbRECEIVE_COMPLETED( ( pxStreamBuffer ) )
#endif /* if ( configUSE_SB_COMPLETED_CALLBACK == 1 ) */ #endif /* if ( configUSE_SB_COMPLETED_CALLBACK == 1 ) */
#ifndef sbRECEIVE_COMPLETED_FROM_ISR #ifndef sbRECEIVE_COMPLETED_FROM_ISR
#define sbRECEIVE_COMPLETED_FROM_ISR( pxStreamBuffer, \ #define sbRECEIVE_COMPLETED_FROM_ISR( pxStreamBuffer, \
pxHigherPriorityTaskWoken ) \ pxHigherPriorityTaskWoken ) \
do { \ do { \
UBaseType_t uxSavedInterruptStatus; \ UBaseType_t uxSavedInterruptStatus; \
\ \
@ -113,11 +119,11 @@
} \ } \
taskEXIT_CRITICAL_FROM_ISR( uxSavedInterruptStatus ); \ taskEXIT_CRITICAL_FROM_ISR( uxSavedInterruptStatus ); \
} while( 0 ) } while( 0 )
#endif /* sbRECEIVE_COMPLETED_FROM_ISR */ #endif /* sbRECEIVE_COMPLETED_FROM_ISR */
#if ( configUSE_SB_COMPLETED_CALLBACK == 1 ) #if ( configUSE_SB_COMPLETED_CALLBACK == 1 )
#define prvRECEIVE_COMPLETED_FROM_ISR( pxStreamBuffer, \ #define prvRECEIVE_COMPLETED_FROM_ISR( pxStreamBuffer, \
pxHigherPriorityTaskWoken ) \ pxHigherPriorityTaskWoken ) \
do { \ do { \
if( ( pxStreamBuffer )->pxReceiveCompletedCallback != NULL ) \ if( ( pxStreamBuffer )->pxReceiveCompletedCallback != NULL ) \
{ \ { \
@ -128,17 +134,17 @@
sbRECEIVE_COMPLETED_FROM_ISR( ( pxStreamBuffer ), ( pxHigherPriorityTaskWoken ) ); \ sbRECEIVE_COMPLETED_FROM_ISR( ( pxStreamBuffer ), ( pxHigherPriorityTaskWoken ) ); \
} \ } \
} while( 0 ) } while( 0 )
#else /* if ( configUSE_SB_COMPLETED_CALLBACK == 1 ) */ #else /* if ( configUSE_SB_COMPLETED_CALLBACK == 1 ) */
#define prvRECEIVE_COMPLETED_FROM_ISR( pxStreamBuffer, pxHigherPriorityTaskWoken ) \ #define prvRECEIVE_COMPLETED_FROM_ISR( pxStreamBuffer, pxHigherPriorityTaskWoken ) \
sbRECEIVE_COMPLETED_FROM_ISR( ( pxStreamBuffer ), ( pxHigherPriorityTaskWoken ) ) sbRECEIVE_COMPLETED_FROM_ISR( ( pxStreamBuffer ), ( pxHigherPriorityTaskWoken ) )
#endif /* if ( configUSE_SB_COMPLETED_CALLBACK == 1 ) */ #endif /* if ( configUSE_SB_COMPLETED_CALLBACK == 1 ) */
/* If the user has not provided an application specific Tx notification macro, /* If the user has not provided an application specific Tx notification macro,
* or #defined the notification macro away, then provide a default * or #defined the notification macro away, then provide a default
* implementation that uses task notifications. * implementation that uses task notifications.
*/ */
#ifndef sbSEND_COMPLETED #ifndef sbSEND_COMPLETED
#define sbSEND_COMPLETED( pxStreamBuffer ) \ #define sbSEND_COMPLETED( pxStreamBuffer ) \
vTaskSuspendAll(); \ vTaskSuspendAll(); \
{ \ { \
if( ( pxStreamBuffer )->xTaskWaitingToReceive != NULL ) \ if( ( pxStreamBuffer )->xTaskWaitingToReceive != NULL ) \
@ -151,13 +157,13 @@
} \ } \
} \ } \
( void ) xTaskResumeAll() ( void ) xTaskResumeAll()
#endif /* sbSEND_COMPLETED */ #endif /* sbSEND_COMPLETED */
/* If user has provided a per-instance send completed callback, then /* If user has provided a per-instance send completed callback, then
* invoke the callback else use the send complete macro which is provided by default for all instances. * invoke the callback else use the send complete macro which is provided by default for all instances.
*/ */
#if ( configUSE_SB_COMPLETED_CALLBACK == 1 ) #if ( configUSE_SB_COMPLETED_CALLBACK == 1 )
#define prvSEND_COMPLETED( pxStreamBuffer ) \ #define prvSEND_COMPLETED( pxStreamBuffer ) \
do { \ do { \
if( ( pxStreamBuffer )->pxSendCompletedCallback != NULL ) \ if( ( pxStreamBuffer )->pxSendCompletedCallback != NULL ) \
{ \ { \
@ -168,13 +174,13 @@
sbSEND_COMPLETED( ( pxStreamBuffer ) ); \ sbSEND_COMPLETED( ( pxStreamBuffer ) ); \
} \ } \
} while( 0 ) } while( 0 )
#else /* if ( configUSE_SB_COMPLETED_CALLBACK == 1 ) */ #else /* if ( configUSE_SB_COMPLETED_CALLBACK == 1 ) */
#define prvSEND_COMPLETED( pxStreamBuffer ) sbSEND_COMPLETED( ( pxStreamBuffer ) ) #define prvSEND_COMPLETED( pxStreamBuffer ) sbSEND_COMPLETED( ( pxStreamBuffer ) )
#endif /* if ( configUSE_SB_COMPLETED_CALLBACK == 1 ) */ #endif /* if ( configUSE_SB_COMPLETED_CALLBACK == 1 ) */
#ifndef sbSEND_COMPLETE_FROM_ISR #ifndef sbSEND_COMPLETE_FROM_ISR
#define sbSEND_COMPLETE_FROM_ISR( pxStreamBuffer, pxHigherPriorityTaskWoken ) \ #define sbSEND_COMPLETE_FROM_ISR( pxStreamBuffer, pxHigherPriorityTaskWoken ) \
do { \ do { \
UBaseType_t uxSavedInterruptStatus; \ UBaseType_t uxSavedInterruptStatus; \
\ \
@ -192,11 +198,11 @@
} \ } \
taskEXIT_CRITICAL_FROM_ISR( uxSavedInterruptStatus ); \ taskEXIT_CRITICAL_FROM_ISR( uxSavedInterruptStatus ); \
} while( 0 ) } while( 0 )
#endif /* sbSEND_COMPLETE_FROM_ISR */ #endif /* sbSEND_COMPLETE_FROM_ISR */
#if ( configUSE_SB_COMPLETED_CALLBACK == 1 ) #if ( configUSE_SB_COMPLETED_CALLBACK == 1 )
#define prvSEND_COMPLETE_FROM_ISR( pxStreamBuffer, pxHigherPriorityTaskWoken ) \ #define prvSEND_COMPLETE_FROM_ISR( pxStreamBuffer, pxHigherPriorityTaskWoken ) \
do { \ do { \
if( ( pxStreamBuffer )->pxSendCompletedCallback != NULL ) \ if( ( pxStreamBuffer )->pxSendCompletedCallback != NULL ) \
{ \ { \
@ -207,17 +213,17 @@
sbSEND_COMPLETE_FROM_ISR( ( pxStreamBuffer ), ( pxHigherPriorityTaskWoken ) ); \ sbSEND_COMPLETE_FROM_ISR( ( pxStreamBuffer ), ( pxHigherPriorityTaskWoken ) ); \
} \ } \
} while( 0 ) } while( 0 )
#else /* if ( configUSE_SB_COMPLETED_CALLBACK == 1 ) */ #else /* if ( configUSE_SB_COMPLETED_CALLBACK == 1 ) */
#define prvSEND_COMPLETE_FROM_ISR( pxStreamBuffer, pxHigherPriorityTaskWoken ) \ #define prvSEND_COMPLETE_FROM_ISR( pxStreamBuffer, pxHigherPriorityTaskWoken ) \
sbSEND_COMPLETE_FROM_ISR( ( pxStreamBuffer ), ( pxHigherPriorityTaskWoken ) ) sbSEND_COMPLETE_FROM_ISR( ( pxStreamBuffer ), ( pxHigherPriorityTaskWoken ) )
#endif /* if ( configUSE_SB_COMPLETED_CALLBACK == 1 ) */ #endif /* if ( configUSE_SB_COMPLETED_CALLBACK == 1 ) */
/* The number of bytes used to hold the length of a message in the buffer. */ /* The number of bytes used to hold the length of a message in the buffer. */
#define sbBYTES_TO_STORE_MESSAGE_LENGTH ( sizeof( configMESSAGE_BUFFER_LENGTH_TYPE ) ) #define sbBYTES_TO_STORE_MESSAGE_LENGTH ( sizeof( configMESSAGE_BUFFER_LENGTH_TYPE ) )
/* Bits stored in the ucFlags field of the stream buffer. */ /* Bits stored in the ucFlags field of the stream buffer. */
#define sbFLAGS_IS_MESSAGE_BUFFER ( ( uint8_t ) 1 ) /* Set if the stream buffer was created as a message buffer, in which case it holds discrete messages rather than a stream. */ #define sbFLAGS_IS_MESSAGE_BUFFER ( ( uint8_t ) 1 ) /* Set if the stream buffer was created as a message buffer, in which case it holds discrete messages rather than a stream. */
#define sbFLAGS_IS_STATICALLY_ALLOCATED ( ( uint8_t ) 2 ) /* Set if the stream buffer was created using statically allocated memory. */ #define sbFLAGS_IS_STATICALLY_ALLOCATED ( ( uint8_t ) 2 ) /* Set if the stream buffer was created using statically allocated memory. */
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
@ -320,7 +326,7 @@ static void prvInitialiseNewStreamBuffer( StreamBuffer_t * const pxStreamBuffer,
StreamBufferCallbackFunction_t pxReceiveCompletedCallback ) PRIVILEGED_FUNCTION; StreamBufferCallbackFunction_t pxReceiveCompletedCallback ) PRIVILEGED_FUNCTION;
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
#if ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) #if ( configSUPPORT_DYNAMIC_ALLOCATION == 1 )
StreamBufferHandle_t xStreamBufferGenericCreate( size_t xBufferSizeBytes, StreamBufferHandle_t xStreamBufferGenericCreate( size_t xBufferSizeBytes,
size_t xTriggerLevelBytes, size_t xTriggerLevelBytes,
BaseType_t xIsMessageBuffer, BaseType_t xIsMessageBuffer,
@ -406,10 +412,10 @@ static void prvInitialiseNewStreamBuffer( StreamBuffer_t * const pxStreamBuffer,
/* coverity[misra_c_2012_rule_11_5_violation] */ /* coverity[misra_c_2012_rule_11_5_violation] */
return ( StreamBufferHandle_t ) pvAllocatedMemory; return ( StreamBufferHandle_t ) pvAllocatedMemory;
} }
#endif /* configSUPPORT_DYNAMIC_ALLOCATION */ #endif /* configSUPPORT_DYNAMIC_ALLOCATION */
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
#if ( configSUPPORT_STATIC_ALLOCATION == 1 ) #if ( configSUPPORT_STATIC_ALLOCATION == 1 )
StreamBufferHandle_t xStreamBufferGenericCreateStatic( size_t xBufferSizeBytes, StreamBufferHandle_t xStreamBufferGenericCreateStatic( size_t xBufferSizeBytes,
size_t xTriggerLevelBytes, size_t xTriggerLevelBytes,
@ -497,10 +503,10 @@ static void prvInitialiseNewStreamBuffer( StreamBuffer_t * const pxStreamBuffer,
return xReturn; return xReturn;
} }
#endif /* ( configSUPPORT_STATIC_ALLOCATION == 1 ) */ #endif /* ( configSUPPORT_STATIC_ALLOCATION == 1 ) */
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
#if ( configSUPPORT_STATIC_ALLOCATION == 1 ) #if ( configSUPPORT_STATIC_ALLOCATION == 1 )
BaseType_t xStreamBufferGetStaticBuffers( StreamBufferHandle_t xStreamBuffer, BaseType_t xStreamBufferGetStaticBuffers( StreamBufferHandle_t xStreamBuffer,
uint8_t ** ppucStreamBufferStorageArea, uint8_t ** ppucStreamBufferStorageArea,
StaticStreamBuffer_t ** ppxStaticStreamBuffer ) StaticStreamBuffer_t ** ppxStaticStreamBuffer )
@ -532,7 +538,7 @@ static void prvInitialiseNewStreamBuffer( StreamBuffer_t * const pxStreamBuffer,
return xReturn; return xReturn;
} }
#endif /* configSUPPORT_STATIC_ALLOCATION */ #endif /* configSUPPORT_STATIC_ALLOCATION */
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
void vStreamBufferDelete( StreamBufferHandle_t xStreamBuffer ) void vStreamBufferDelete( StreamBufferHandle_t xStreamBuffer )
@ -1461,7 +1467,7 @@ static size_t prvReadBytesFromBuffer( StreamBuffer_t * pxStreamBuffer,
static size_t prvBytesInBuffer( const StreamBuffer_t * const pxStreamBuffer ) static size_t prvBytesInBuffer( const StreamBuffer_t * const pxStreamBuffer )
{ {
/* Returns the distance between xTail and xHead. */ /* Returns the distance between xTail and xHead. */
size_t xCount; size_t xCount;
xCount = pxStreamBuffer->xLength + pxStreamBuffer->xHead; xCount = pxStreamBuffer->xLength + pxStreamBuffer->xHead;
@ -1496,7 +1502,7 @@ static void prvInitialiseNewStreamBuffer( StreamBuffer_t * const pxStreamBuffer,
/* The value written just has to be identifiable when looking at the /* The value written just has to be identifiable when looking at the
* memory. Don't use 0xA5 as that is the stack fill value and could * memory. Don't use 0xA5 as that is the stack fill value and could
* result in confusion as to what is actually being observed. */ * result in confusion as to what is actually being observed. */
#define STREAM_BUFFER_BUFFER_WRITE_VALUE ( 0x55 ) #define STREAM_BUFFER_BUFFER_WRITE_VALUE ( 0x55 )
configASSERT( memset( pucBuffer, ( int ) STREAM_BUFFER_BUFFER_WRITE_VALUE, xBufferSizeBytes ) == pucBuffer ); configASSERT( memset( pucBuffer, ( int ) STREAM_BUFFER_BUFFER_WRITE_VALUE, xBufferSizeBytes ) == pucBuffer );
} }
#endif #endif
@ -1564,7 +1570,7 @@ void vStreamBufferSetStreamBufferNotificationIndex( StreamBufferHandle_t xStream
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
#if ( configUSE_TRACE_FACILITY == 1 ) #if ( configUSE_TRACE_FACILITY == 1 )
UBaseType_t uxStreamBufferGetStreamBufferNumber( StreamBufferHandle_t xStreamBuffer ) UBaseType_t uxStreamBufferGetStreamBufferNumber( StreamBufferHandle_t xStreamBuffer )
{ {
@ -1575,10 +1581,10 @@ void vStreamBufferSetStreamBufferNotificationIndex( StreamBufferHandle_t xStream
return xStreamBuffer->uxStreamBufferNumber; return xStreamBuffer->uxStreamBufferNumber;
} }
#endif /* configUSE_TRACE_FACILITY */ #endif /* configUSE_TRACE_FACILITY */
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
#if ( configUSE_TRACE_FACILITY == 1 ) #if ( configUSE_TRACE_FACILITY == 1 )
void vStreamBufferSetStreamBufferNumber( StreamBufferHandle_t xStreamBuffer, void vStreamBufferSetStreamBufferNumber( StreamBufferHandle_t xStreamBuffer,
UBaseType_t uxStreamBufferNumber ) UBaseType_t uxStreamBufferNumber )
@ -1590,10 +1596,10 @@ void vStreamBufferSetStreamBufferNotificationIndex( StreamBufferHandle_t xStream
traceRETURN_vStreamBufferSetStreamBufferNumber(); traceRETURN_vStreamBufferSetStreamBufferNumber();
} }
#endif /* configUSE_TRACE_FACILITY */ #endif /* configUSE_TRACE_FACILITY */
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
#if ( configUSE_TRACE_FACILITY == 1 ) #if ( configUSE_TRACE_FACILITY == 1 )
uint8_t ucStreamBufferGetStreamBufferType( StreamBufferHandle_t xStreamBuffer ) uint8_t ucStreamBufferGetStreamBufferType( StreamBufferHandle_t xStreamBuffer )
{ {
@ -1604,5 +1610,11 @@ void vStreamBufferSetStreamBufferNotificationIndex( StreamBufferHandle_t xStream
return( ( uint8_t ) ( xStreamBuffer->ucFlags & sbFLAGS_IS_MESSAGE_BUFFER ) ); return( ( uint8_t ) ( xStreamBuffer->ucFlags & sbFLAGS_IS_MESSAGE_BUFFER ) );
} }
#endif /* configUSE_TRACE_FACILITY */ #endif /* configUSE_TRACE_FACILITY */
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
/* This entire source file will be skipped if the application is not configured
* to include stream buffer functionality. This #if is closed at the very bottom
* of this file. If you want to include stream buffers then ensure
* configUSE_STREAM_BUFFERS is set to 1 in FreeRTOSConfig.h. */
#endif /* configUSE_STREAM_BUFFERS == 1 */