Update the ucQueueNumber member of the queue structure (used with FreeRTOS+Trace to be an unsigned portBASE_TYPE instead of an unsigned char.

This commit is contained in:
Richard Barry 2013-12-14 13:16:05 +00:00
parent c17c65fc09
commit a320d6dffd
6 changed files with 17 additions and 15 deletions

View file

@ -358,7 +358,7 @@ void* prvTraceGetCurrentTaskHandle(void);
#define TRACE_GET_OBJECT_TRACE_CLASS(CLASS, pxObject) TRACE_GET_CLASS_TRACE_CLASS(CLASS, prvTraceGetObjectType(pxObject)) #define TRACE_GET_OBJECT_TRACE_CLASS(CLASS, pxObject) TRACE_GET_CLASS_TRACE_CLASS(CLASS, prvTraceGetObjectType(pxObject))
#define TRACE_GET_OBJECT_NUMBER(CLASS, pxObject) (prvTraceGetObjectNumber(pxObject)) #define TRACE_GET_OBJECT_NUMBER(CLASS, pxObject) (prvTraceGetObjectNumber(pxObject))
#define TRACE_SET_OBJECT_NUMBER(CLASS, pxObject) pxObject->ucQueueNumber = xTraceGetObjectHandle(TRACE_GET_OBJECT_TRACE_CLASS(CLASS, pxObject)); #define TRACE_SET_OBJECT_NUMBER(CLASS, pxObject) pxObject->uxQueueNumber = xTraceGetObjectHandle(TRACE_GET_OBJECT_TRACE_CLASS(CLASS, pxObject));
#define TRACE_GET_CLASS_EVENT_CODE(SERVICE, RESULT, CLASS, kernelClass) (uint8_t)(EVENTGROUP_##SERVICE##_##RESULT + TRACE_GET_CLASS_TRACE_CLASS(CLASS, kernelClass)) #define TRACE_GET_CLASS_EVENT_CODE(SERVICE, RESULT, CLASS, kernelClass) (uint8_t)(EVENTGROUP_##SERVICE##_##RESULT + TRACE_GET_CLASS_TRACE_CLASS(CLASS, kernelClass))
#define TRACE_GET_OBJECT_EVENT_CODE(SERVICE, RESULT, CLASS, pxObject) (uint8_t)(EVENTGROUP_##SERVICE##_##RESULT + TRACE_GET_OBJECT_TRACE_CLASS(CLASS, pxObject)) #define TRACE_GET_OBJECT_EVENT_CODE(SERVICE, RESULT, CLASS, pxObject) (uint8_t)(EVENTGROUP_##SERVICE##_##RESULT + TRACE_GET_OBJECT_TRACE_CLASS(CLASS, pxObject))

View file

@ -52,11 +52,11 @@ traceObjectClass TraceObjectClassTable[5] = {
}; };
extern unsigned char ucQueueGetQueueType(void*); extern unsigned char ucQueueGetQueueType(void*);
extern unsigned char ucQueueGetQueueNumber(void*); extern unsigned portBASE_TYPE uxQueueGetQueueNumber(void*);
objectHandleType prvTraceGetObjectNumber(void* handle) objectHandleType prvTraceGetObjectNumber(void* handle)
{ {
return ucQueueGetQueueNumber(handle); return uxQueueGetQueueNumber(handle);
} }
unsigned char prvTraceGetObjectType(void* handle) unsigned char prvTraceGetObjectType(void* handle)

View file

@ -338,13 +338,13 @@ const unsigned long ulMSToSleep = 5;
void vFullDemoIdleFunction( void ) void vFullDemoIdleFunction( void )
{ {
const unsigned long ulMSToSleep = 15; const unsigned long ulMSToSleep = 15;
const unsigned char ucConstQueueNumber = 0xaaU; const unsigned portBASE_TYPE uxConstQueueNumber = 0xaaU;
void *pvAllocated; void *pvAllocated;
/* These three functions are only meant for use by trace code, and not for /* These three functions are only meant for use by trace code, and not for
direct use from application code, hence their prototypes are not in queue.h. */ direct use from application code, hence their prototypes are not in queue.h. */
extern void vQueueSetQueueNumber( xQueueHandle pxQueue, unsigned char ucQueueNumber ); extern void vQueueSetQueueNumber( xQueueHandle pxQueue, unsigned portBASE_TYPE uxQueueNumber );
extern unsigned char ucQueueGetQueueNumber( xQueueHandle pxQueue ); extern unsigned portBASE_TYPE uxQueueGetQueueNumber( xQueueHandle pxQueue );
extern unsigned char ucQueueGetQueueType( xQueueHandle pxQueue ); extern unsigned char ucQueueGetQueueType( xQueueHandle pxQueue );
extern void vTaskSetTaskNumber( xTaskHandle xTask, unsigned portBASE_TYPE uxHandle ); extern void vTaskSetTaskNumber( xTaskHandle xTask, unsigned portBASE_TYPE uxHandle );
extern unsigned portBASE_TYPE uxTaskGetTaskNumber( xTaskHandle xTask ); extern unsigned portBASE_TYPE uxTaskGetTaskNumber( xTaskHandle xTask );
@ -366,12 +366,12 @@ extern unsigned portBASE_TYPE uxTaskGetTaskNumber( xTaskHandle xTask );
/* Before deleting the semaphore, test the function used to set its /* Before deleting the semaphore, test the function used to set its
number. This would normally only be done from trace software, rather number. This would normally only be done from trace software, rather
than application code. */ than application code. */
vQueueSetQueueNumber( xMutexToDelete, ucConstQueueNumber ); vQueueSetQueueNumber( xMutexToDelete, uxConstQueueNumber );
/* Before deleting the semaphore, test the functions used to get its /* Before deleting the semaphore, test the functions used to get its
type and number. Again, these would normally only be done from trace type and number. Again, these would normally only be done from trace
software, rather than application code. */ software, rather than application code. */
configASSERT( ucQueueGetQueueNumber( xMutexToDelete ) == ucConstQueueNumber ); configASSERT( uxQueueGetQueueNumber( xMutexToDelete ) == uxConstQueueNumber );
configASSERT( ucQueueGetQueueType( xMutexToDelete ) == queueQUEUE_TYPE_MUTEX ); configASSERT( ucQueueGetQueueType( xMutexToDelete ) == queueQUEUE_TYPE_MUTEX );
vSemaphoreDelete( xMutexToDelete ); vSemaphoreDelete( xMutexToDelete );
xMutexToDelete = NULL; xMutexToDelete = NULL;

View file

@ -1674,8 +1674,8 @@ xQueueSetMemberHandle xQueueSelectFromSetFromISR( xQueueSetHandle xQueueSet ) PR
/* Not public API functions. */ /* Not public API functions. */
void vQueueWaitForMessageRestricted( xQueueHandle xQueue, portTickType xTicksToWait ) PRIVILEGED_FUNCTION; void vQueueWaitForMessageRestricted( xQueueHandle xQueue, portTickType xTicksToWait ) PRIVILEGED_FUNCTION;
portBASE_TYPE xQueueGenericReset( xQueueHandle xQueue, portBASE_TYPE xNewQueue ) PRIVILEGED_FUNCTION; portBASE_TYPE xQueueGenericReset( xQueueHandle xQueue, portBASE_TYPE xNewQueue ) PRIVILEGED_FUNCTION;
void vQueueSetQueueNumber( xQueueHandle xQueue, unsigned char ucQueueNumber ) PRIVILEGED_FUNCTION; void vQueueSetQueueNumber( xQueueHandle xQueue, unsigned portBASE_TYPE uxQueueNumber ) PRIVILEGED_FUNCTION;
unsigned char ucQueueGetQueueNumber( xQueueHandle xQueue ) PRIVILEGED_FUNCTION; unsigned portBASE_TYPE uxQueueGetQueueNumber( xQueueHandle xQueue ) PRIVILEGED_FUNCTION;
unsigned char ucQueueGetQueueType( xQueueHandle xQueue ) PRIVILEGED_FUNCTION; unsigned char ucQueueGetQueueType( xQueueHandle xQueue ) PRIVILEGED_FUNCTION;

View file

@ -95,8 +95,10 @@
#define portYIELD() vPortGenerateSimulatedInterrupt( portINTERRUPT_YIELD ) #define portYIELD() vPortGenerateSimulatedInterrupt( portINTERRUPT_YIELD )
void vPortCloseRunningThread( void *pvTaskToDelete, volatile portBASE_TYPE *pxPendYield );
void vPortDeleteThread( void *pvThreadToDelete ); void vPortDeleteThread( void *pvThreadToDelete );
#define portCLEAN_UP_TCB( pxTCB ) vPortDeleteThread( pxTCB ) #define portCLEAN_UP_TCB( pxTCB ) vPortDeleteThread( pxTCB )
#define portPRE_TASK_DELETE_HOOK( pvTaskToDelete, pxPendYield ) vPortCloseRunningThread( ( pvTaskToDelete ), ( pxPendYield ) )
#define portDISABLE_INTERRUPTS() #define portDISABLE_INTERRUPTS()
#define portENABLE_INTERRUPTS() #define portENABLE_INTERRUPTS()

View file

@ -146,7 +146,7 @@ typedef struct QueueDefinition
volatile signed portBASE_TYPE xTxLock; /*< Stores the number of items transmitted to the queue (added to the queue) while the queue was locked. Set to queueUNLOCKED when the queue is not locked. */ volatile signed portBASE_TYPE xTxLock; /*< Stores the number of items transmitted to the queue (added to the queue) while the queue was locked. Set to queueUNLOCKED when the queue is not locked. */
#if ( configUSE_TRACE_FACILITY == 1 ) #if ( configUSE_TRACE_FACILITY == 1 )
unsigned char ucQueueNumber; unsigned portBASE_TYPE uxQueueNumber;
unsigned char ucQueueType; unsigned char ucQueueType;
#endif #endif
@ -1398,9 +1398,9 @@ xQUEUE * const pxQueue = ( xQUEUE * ) xQueue;
#if ( configUSE_TRACE_FACILITY == 1 ) #if ( configUSE_TRACE_FACILITY == 1 )
unsigned char ucQueueGetQueueNumber( xQueueHandle xQueue ) unsigned portBASE_TYPE uxQueueGetQueueNumber( xQueueHandle xQueue )
{ {
return ( ( xQUEUE * ) xQueue )->ucQueueNumber; return ( ( xQUEUE * ) xQueue )->uxQueueNumber;
} }
#endif /* configUSE_TRACE_FACILITY */ #endif /* configUSE_TRACE_FACILITY */
@ -1408,9 +1408,9 @@ xQUEUE * const pxQueue = ( xQUEUE * ) xQueue;
#if ( configUSE_TRACE_FACILITY == 1 ) #if ( configUSE_TRACE_FACILITY == 1 )
void vQueueSetQueueNumber( xQueueHandle xQueue, unsigned char ucQueueNumber ) void vQueueSetQueueNumber( xQueueHandle xQueue, unsigned portBASE_TYPE uxQueueNumber )
{ {
( ( xQUEUE * ) xQueue )->ucQueueNumber = ucQueueNumber; ( ( xQUEUE * ) xQueue )->uxQueueNumber = uxQueueNumber;
} }
#endif /* configUSE_TRACE_FACILITY */ #endif /* configUSE_TRACE_FACILITY */