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_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_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 ucQueueGetQueueNumber(void*);
extern unsigned portBASE_TYPE uxQueueGetQueueNumber(void*);
objectHandleType prvTraceGetObjectNumber(void* handle)
{
return ucQueueGetQueueNumber(handle);
return uxQueueGetQueueNumber(handle);
}
unsigned char prvTraceGetObjectType(void* handle)

View file

@ -338,13 +338,13 @@ const unsigned long ulMSToSleep = 5;
void vFullDemoIdleFunction( void )
{
const unsigned long ulMSToSleep = 15;
const unsigned char ucConstQueueNumber = 0xaaU;
const unsigned portBASE_TYPE uxConstQueueNumber = 0xaaU;
void *pvAllocated;
/* 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. */
extern void vQueueSetQueueNumber( xQueueHandle pxQueue, unsigned char ucQueueNumber );
extern unsigned char ucQueueGetQueueNumber( xQueueHandle pxQueue );
extern void vQueueSetQueueNumber( xQueueHandle pxQueue, unsigned portBASE_TYPE uxQueueNumber );
extern unsigned portBASE_TYPE uxQueueGetQueueNumber( xQueueHandle pxQueue );
extern unsigned char ucQueueGetQueueType( xQueueHandle pxQueue );
extern void vTaskSetTaskNumber( xTaskHandle xTask, unsigned portBASE_TYPE uxHandle );
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
number. This would normally only be done from trace software, rather
than application code. */
vQueueSetQueueNumber( xMutexToDelete, ucConstQueueNumber );
vQueueSetQueueNumber( xMutexToDelete, uxConstQueueNumber );
/* Before deleting the semaphore, test the functions used to get its
type and number. Again, these would normally only be done from trace
software, rather than application code. */
configASSERT( ucQueueGetQueueNumber( xMutexToDelete ) == ucConstQueueNumber );
configASSERT( uxQueueGetQueueNumber( xMutexToDelete ) == uxConstQueueNumber );
configASSERT( ucQueueGetQueueType( xMutexToDelete ) == queueQUEUE_TYPE_MUTEX );
vSemaphoreDelete( xMutexToDelete );
xMutexToDelete = NULL;

View file

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

View file

@ -95,8 +95,10 @@
#define portYIELD() vPortGenerateSimulatedInterrupt( portINTERRUPT_YIELD )
void vPortCloseRunningThread( void *pvTaskToDelete, volatile portBASE_TYPE *pxPendYield );
void vPortDeleteThread( void *pvThreadToDelete );
#define portCLEAN_UP_TCB( pxTCB ) vPortDeleteThread( pxTCB )
#define portPRE_TASK_DELETE_HOOK( pvTaskToDelete, pxPendYield ) vPortCloseRunningThread( ( pvTaskToDelete ), ( pxPendYield ) )
#define portDISABLE_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. */
#if ( configUSE_TRACE_FACILITY == 1 )
unsigned char ucQueueNumber;
unsigned portBASE_TYPE uxQueueNumber;
unsigned char ucQueueType;
#endif
@ -1398,9 +1398,9 @@ xQUEUE * const pxQueue = ( xQUEUE * ) xQueue;
#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 */
@ -1408,9 +1408,9 @@ xQUEUE * const pxQueue = ( xQUEUE * ) xQueue;
#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 */