StaticQueue_t needs to have the same size as xQUEUE.

Without this change, building FreeRTOS with static allocation enabled succeeds, but trying to create a queue from a static buffer causes an assert because the size of static and dynamic queues differ.
This commit is contained in:
Daniel Campora
2016-11-15 00:46:53 +01:00
committed by Ivan Grokhotkov
parent d0c9c1de57
commit 2a73783bc6

View File

@@ -927,7 +927,6 @@ typedef struct xSTATIC_QUEUE
StaticList_t xDummy3[ 2 ]; StaticList_t xDummy3[ 2 ];
UBaseType_t uxDummy4[ 3 ]; UBaseType_t uxDummy4[ 3 ];
BaseType_t ucDummy5[ 2 ];
#if( ( configSUPPORT_STATIC_ALLOCATION == 1 ) && ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) ) #if( ( configSUPPORT_STATIC_ALLOCATION == 1 ) && ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) )
uint8_t ucDummy6; uint8_t ucDummy6;
@@ -943,12 +942,12 @@ typedef struct xSTATIC_QUEUE
#endif #endif
struct { struct {
volatile uint32_t mux; volatile uint32_t ucDummy10;
#ifdef CONFIG_FREERTOS_PORTMUX_DEBUG #ifdef CONFIG_FREERTOS_PORTMUX_DEBUG
const char *lastLockedFn; void *pvDummy8;
int lastLockedLine; UBaseType_t uxDummy11;
#endif #endif
} mux; } sDummy12;
} StaticQueue_t; } StaticQueue_t;
typedef StaticQueue_t StaticSemaphore_t; typedef StaticQueue_t StaticSemaphore_t;