From 4eb64ffd6e8eec462104d5e3050d7adf4f0cf262 Mon Sep 17 00:00:00 2001 From: rtel Date: Mon, 17 Feb 2014 12:48:18 +0000 Subject: [PATCH] Remove test of trace functions from the Win32 build as it messes up the trace recorder. git-svn-id: https://svn.code.sf.net/p/freertos/code/trunk@2208 1d2547de-c912-0410-9cb9-b8ca96c0e9e2 --- .../Trace_Recorder_Configuration/trcConfig.h | 89 +++++-------------- FreeRTOS/Demo/WIN32-MSVC/main_full.c | 22 ----- 2 files changed, 20 insertions(+), 91 deletions(-) diff --git a/FreeRTOS/Demo/WIN32-MSVC/Trace_Recorder_Configuration/trcConfig.h b/FreeRTOS/Demo/WIN32-MSVC/Trace_Recorder_Configuration/trcConfig.h index 2ebabeb75..289384a28 100644 --- a/FreeRTOS/Demo/WIN32-MSVC/Trace_Recorder_Configuration/trcConfig.h +++ b/FreeRTOS/Demo/WIN32-MSVC/Trace_Recorder_Configuration/trcConfig.h @@ -328,6 +328,17 @@ *****************************************************************************/ #define INCLUDE_OBJECT_DELETE 1 +/****************************************************************************** + * INCLUDE_MEMMANG_EVENTS + * + * Macro which should be defined as either zero (0) or one (1). + * Default is 1. + * + * This controls if malloc and free calls should be traced. Set this to zero to + * exclude malloc/free calls from the tracing. + *****************************************************************************/ +#define INCLUDE_MEMMANG_EVENTS 1 + /****************************************************************************** * CONFIGURATION RELATED TO BEHAVIOR *****************************************************************************/ @@ -434,75 +445,6 @@ *****************************************************************************/ #define USE_IMPLICIT_IFE_RULES 1 -/****************************************************************************** - * INCLUDE_SAVE_TO_FILE - * - * Macro which should be defined as either zero (0) or one (1). - * Default is 0. - * - * If enabled (1), the recorder will include code for saving the trace - * to a local file system. - ******************************************************************************/ -#ifdef WIN32 - #define INCLUDE_SAVE_TO_FILE 1 -#else - #define INCLUDE_SAVE_TO_FILE 0 -#endif - -/****************************************************************************** - * TRACE_PROGRESS_MONITOR_TASK_PRIORITY - * - * Macro which sets the priority of the "recorder status monitor" task. - * - * This task, vTraceMonitorTask in trcUser.c, periodically writes - * the recorder status using the vTraceConsoleMessage macro, which is to - * be mapped to your console "printf" routine. The task is named TraceMon but - * is intentionally excluded from the demo trace. - * - * Default is tskIDLE_PRIORITY + 1 - * Note that if your system constantly has a high CPU load from high-priority - * tasks, this might not be get a chance to execute. - * - * See vTraceMonitorTask in trcUser.c - *****************************************************************************/ -#define TRACE_PROGRESS_MONITOR_TASK_PRIORITY (tskIDLE_PRIORITY + 1) - -/****************************************************************************** - * TRACE_PROGRESS_MONITOR_TASK_STACKSIZE - * - * Macro which sets the stack size of the "recorder status monitor" task. - * - * This task, vTraceMonitorTask in trcUser.c, periodically writes - * the recorder status using the vTraceConsoleMessage macro, which is to - * be mapped to your console "printf" routine. The task is intentionally - * excluded from the demo trace. - * - * See vTraceMonitorTask in trcUser.c - *****************************************************************************/ -#define TRACE_PROGRESS_MONITOR_TASK_STACKSIZE 500 - -/****************************************************************************** - * TRACE_PROGRESS_MONITOR_TASK_PERIOD - * - * Macro which sets the period of the "recorder status monitor" task. - * - * This task, vTraceMonitorTask in trcUser.c, periodically writes - * the recorder status using the vTraceConsoleMessage macro, which is to - * be mapped to your console "printf" routine. The task is named TraceMon but - * is intentionally excluded from the demo trace. - * - * Default is 1000 ticks (typically 1 second). On the Windows port, a lower - * value is suggested since the Windows port runs very slowly, often 20-40 - * times slower than the simulated time. - * - * See vTraceMonitorTask in trcUser.c - *****************************************************************************/ -#ifdef WIN32 - #define TRACE_PROGRESS_MONITOR_TASK_PERIOD 100 -#else - #define TRACE_PROGRESS_MONITOR_TASK_PERIOD 1000 -#endif - /****************************************************************************** * USE_16BIT_OBJECT_HANDLES @@ -574,6 +516,15 @@ ******************************************************************************/ #define USE_PRIMASK_CS 0 +/****************************************************************************** +* HEAP_SIZE_BELOW_16M +* +* An integer constant that can be used to reduce the buffer usage of memory +* allocation events (malloc/free). This value should be 1 if the heap size is +* below 16 MB (2^24 byte), and you can live with addresses truncated to the +* lower 24 bit. Otherwise set it to 0 to get the full 32-bit addresses. +******************************************************************************/ +#define HEAP_SIZE_BELOW_16M 0 #endif diff --git a/FreeRTOS/Demo/WIN32-MSVC/main_full.c b/FreeRTOS/Demo/WIN32-MSVC/main_full.c index 1f2b25950..5be8c6fe1 100644 --- a/FreeRTOS/Demo/WIN32-MSVC/main_full.c +++ b/FreeRTOS/Demo/WIN32-MSVC/main_full.c @@ -349,17 +349,8 @@ const unsigned long ulMSToSleep = 5; void vFullDemoIdleFunction( void ) { const unsigned long ulMSToSleep = 15; -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( QueueHandle_t pxQueue, unsigned portBASE_TYPE uxQueueNumber ); -extern unsigned portBASE_TYPE uxQueueGetQueueNumber( QueueHandle_t pxQueue ); -extern uint8_t ucQueueGetQueueType( QueueHandle_t pxQueue ); -extern void vTaskSetTaskNumber( TaskHandle_t xTask, unsigned portBASE_TYPE uxHandle ); -extern unsigned portBASE_TYPE uxTaskGetTaskNumber( TaskHandle_t xTask ); - /* Sleep to reduce CPU load, but don't sleep indefinitely in case there are tasks waiting to be terminated by the idle task. */ Sleep( ulMSToSleep ); @@ -378,16 +369,6 @@ extern unsigned portBASE_TYPE uxTaskGetTaskNumber( TaskHandle_t xTask ); that has tasks blocked on it. */ if( xMutexToDelete != NULL ) { - /* 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, 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( uxQueueGetQueueNumber( xMutexToDelete ) == uxConstQueueNumber ); - configASSERT( ucQueueGetQueueType( xMutexToDelete ) == queueQUEUE_TYPE_MUTEX ); vSemaphoreDelete( xMutexToDelete ); xMutexToDelete = NULL; } @@ -458,7 +439,6 @@ const TickType_t xDontBlock = 0; /* This is called from the idle task so must *n static void prvDemonstrateTaskStateAndHandleGetFunctions( void ) { TaskHandle_t xIdleTaskHandle, xTimerTaskHandle; -const unsigned char ucConstTaskNumber = 0x55U; char *pcTaskName; static portBASE_TYPE xPerformedOneShotTests = pdFALSE; TaskHandle_t xTestTask; @@ -468,8 +448,6 @@ TaskHandle_t xTestTask; the task number. */ xIdleTaskHandle = xTaskGetIdleTaskHandle(); xTimerTaskHandle = xTimerGetTimerDaemonTaskHandle(); - vTaskSetTaskNumber( xIdleTaskHandle, ( unsigned long ) ucConstTaskNumber ); - configASSERT( uxTaskGetTaskNumber( xIdleTaskHandle ) == ucConstTaskNumber ); /* This is the idle hook, so the current task handle should equal the returned idle task handle. */ -- 2.39.5