]> git.sur5r.net Git - freertos/commitdiff
Add trace macros.
authorrichardbarry <richardbarry@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Mon, 3 Mar 2008 16:32:37 +0000 (16:32 +0000)
committerrichardbarry <richardbarry@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Mon, 3 Mar 2008 16:32:37 +0000 (16:32 +0000)
git-svn-id: https://svn.code.sf.net/p/freertos/code/trunk@223 1d2547de-c912-0410-9cb9-b8ca96c0e9e2

Source/include/FreeRTOS.h
Source/include/task.h

index f9139ffca8ddc44c6fd7077e0a464fa21e717ecd..585aebf8eb47b85e363fa8c4c4e0fefd1e8a3f7a 100644 (file)
 \r
        ***************************************************************************\r
 \r
-       Please ensure to read the configuration and relevant port sections of the \r
+       Please ensure to read the configuration and relevant port sections of the\r
        online documentation.\r
 \r
        +++ http://www.FreeRTOS.org +++\r
-       Documentation, latest information, license and contact details.  \r
+       Documentation, latest information, license and contact details.\r
 \r
        +++ http://www.SafeRTOS.com +++\r
        A version that is certified for use in safety critical systems.\r
        #error Missing definition:  configUSE_16_BIT_TICKS should be defined in FreeRTOSConfig.h as either 1 or 0.  See the Configuration section of the FreeRTOS API documentation for details.\r
 #endif\r
 \r
+#ifndef INCLUDE_uxGetStackHighWaterMark\r
+       #define INCLUDE_uxGetStackHighWaterMark 0\r
+#endif\r
+\r
 #ifndef configUSE_RECURSIVE_MUTEXES\r
        #define configUSE_RECURSIVE_MUTEXES 0\r
 #endif\r
        #endif\r
 #endif\r
 \r
+\r
+/* Remove any unused trace macros. */\r
+#ifndef traceSTART\r
+       /* Used to perform any necessary initialisation - for example, open a file\r
+       into which trace is to be written. */\r
+       #define traceSTART()\r
+#endif\r
+\r
+#ifndef traceEND\r
+       /* Use to close a trace, for example close a file into which trace has been\r
+       written. */\r
+       #define traceEND()\r
+#endif\r
+\r
+#ifndef traceTASK_SWITCHED_IN\r
+       /* Called after a task has been selected to run.  pxCurrentTCB holds a pointer\r
+       to the task control block of the selected task. */\r
+       #define traceTASK_SWITCHED_IN()\r
+#endif\r
+\r
+#ifndef traceBLOCKING_ON_QUEUE_RECEIVE\r
+       /* Task is about to block because it cannot read from a \r
+       queue/mutex/semaphore.  pxQueue is a pointer to the queue/mutex/semaphore\r
+       upon which the read was attempted.  pxCurrentTCB points to the TCB of the \r
+       task that attempted the read. */\r
+       #define traceBLOCKING_ON_QUEUE_RECEIVE( pxQueue )\r
+#endif\r
+\r
+#ifndef traceBLOCKING_ON_QUEUE_SEND\r
+       /* Task is about to block because it cannot write to a \r
+       queue/mutex/semaphore.  pxQueue is a pointer to the queue/mutex/semaphore\r
+       upon which the write was attempted.  pxCurrentTCB points to the TCB of the \r
+       task that attempted the write. */\r
+       #define traceBLOCKING_ON_QUEUE_SEND( pxQueue )\r
+#endif\r
+\r
+\r
+/* The following event macros are embedded in the kernel API calls. */\r
+\r
+#ifndef traceQUEUE_CREATE      \r
+       #define traceQUEUE_CREATE( pxNewQueue )\r
+#endif\r
+\r
+#ifndef traceQUEUE_CREATE_FAILED\r
+       #define traceQUEUE_CREATE_FAILED()\r
+#endif\r
+\r
+#ifndef traceCREATE_MUTEX\r
+       #define traceCREATE_MUTEX( pxNewQueue )\r
+#endif\r
+\r
+#ifndef traceCREATE_MUTEX_FAILED\r
+       #define traceCREATE_MUTEX_FAILED()\r
+#endif\r
+\r
+#ifndef traceGIVE_MUTEX_RECURSIVE\r
+       #define traceGIVE_MUTEX_RECURSIVE( pxMutex )\r
+#endif\r
+\r
+#ifndef traceGIVE_MUTEX_RECURSIVE_FAILED\r
+       #define traceGIVE_MUTEX_RECURSIVE_FAILED( pxMutex )\r
+#endif\r
+\r
+#ifndef traceTAKE_MUTEX_RECURSIVE\r
+       #define traceTAKE_MUTEX_RECURSIVE( pxMutex )\r
+#endif\r
+\r
+#ifndef traceCREATE_COUNTING_SEMAPHORE\r
+       #define traceCREATE_COUNTING_SEMAPHORE()\r
+#endif\r
+\r
+#ifndef traceCREATE_COUNTING_SEMAPHORE_FAILED\r
+       #define traceCREATE_COUNTING_SEMAPHORE_FAILED()\r
+#endif\r
+\r
+#ifndef traceQUEUE_SEND\r
+       #define traceQUEUE_SEND( pxQueue )\r
+#endif\r
+\r
+#ifndef traceQUEUE_SEND_FAILED\r
+       #define traceQUEUE_SEND_FAILED( pxQueue )\r
+#endif\r
+\r
+#ifndef traceQUEUE_RECEIVE\r
+       #define traceQUEUE_RECEIVE( pxQueue )\r
+#endif\r
+\r
+#ifndef traceQUEUE_PEEK\r
+       #define traceQUEUE_PEEK( pxQueue )\r
+#endif\r
+\r
+#ifndef traceQUEUE_RECEIVE_FAILED\r
+       #define traceQUEUE_RECEIVE_FAILED( pxQueue )\r
+#endif\r
+\r
+#ifndef traceQUEUE_SEND_FROM_ISR\r
+       #define traceQUEUE_SEND_FROM_ISR( pxQueue )\r
+#endif\r
+\r
+#ifndef traceQUEUE_SEND_FROM_ISR_FAILED\r
+       #define traceQUEUE_SEND_FROM_ISR_FAILED( pxQueue )\r
+#endif\r
+\r
+#ifndef traceQUEUE_RECEIVE_FROM_ISR\r
+       #define traceQUEUE_RECEIVE_FROM_ISR( pxQueue )\r
+#endif\r
+\r
+#ifndef traceQUEUE_RECEIVE_FROM_ISR_FAILED\r
+       #define traceQUEUE_RECEIVE_FROM_ISR_FAILED( pxQueue )\r
+#endif\r
+\r
+#ifndef traceQUEUE_DELETE\r
+       #define traceQUEUE_DELETE( pxQueue )\r
+#endif\r
+\r
+#ifndef traceTASK_CREATE\r
+       #define traceTASK_CREATE( pxNewTCB )\r
+#endif\r
+\r
+#ifndef traceTASK_CREATE_FAILED\r
+       #define traceTASK_CREATE_FAILED( pxNewTCB )\r
+#endif\r
+\r
+#ifndef traceTASK_DELETE\r
+       #define traceTASK_DELETE( pxTaskToDelete )\r
+#endif\r
+\r
+#ifndef traceTASK_DELAY_UNTIL\r
+       #define traceTASK_DELAY_UNTIL()\r
+#endif\r
+\r
+#ifndef traceTASK_DELAY\r
+       #define traceTASK_DELAY()\r
+#endif\r
+\r
+#ifndef traceTASK_PRIORITY_SET\r
+       #define traceTASK_PRIORITY_SET( pxTask, uxNewPriority )\r
+#endif\r
+\r
+#ifndef traceTASK_SUSPEND\r
+       #define traceTASK_SUSPEND( pxTaskToSuspend )\r
+#endif\r
+\r
+#ifndef traceTASK_RESUME\r
+       #define traceTASK_RESUME( pxTaskToResume )\r
+#endif\r
+\r
+#ifndef traceTASK_RESUME_FROM_ISR\r
+       #define traceTASK_RESUME_FROM_ISR( pxTaskToResume )\r
+#endif\r
+\r
+#ifndef traceTASK_INCREMENT_TICK\r
+       #define traceTASK_INCREMENT_TICK( xTickCount )\r
+#endif\r
+\r
 #endif /* INC_FREERTOS_H */\r
+\r
index 595d6abce5dd4d2d74be5ef6effad3acb64add66..be136e7400e3b96a4ce1e0dfb8370ec08950c969 100644 (file)
@@ -866,6 +866,19 @@ void vTaskStartTrace( signed portCHAR * pcBuffer, unsigned portLONG ulBufferSize
  */\r
 unsigned portLONG ulTaskEndTrace( void );\r
 \r
+/**\r
+ * task.h\r
+ * <PRE>unsigned portBASE_TYPE uxGetStackHighWaterMark( void );</PRE>\r
+ *\r
+ * INCLUDE_uxGetStackHighWaterMark must be set to 1 in FreeRTOSConfig.h for\r
+ * this function to be available.\r
+ *\r
+ * Returns the high water mark for the stack of the calling task.  That is,\r
+ * the minimum free stack space there has been (in bytes) since the task\r
+ * started.  The small the returned number the closer the task has come\r
+ * to overflowing its stack.\r
+ */\r
+unsigned portBASE_TYPE uxGetStackHighWaterMark( void );\r
 \r
 /*-----------------------------------------------------------\r
  * SCHEDULER INTERNALS AVAILABLE FOR PORTING PURPOSES\r