Adding volatile to tasks.c's runtime information to protect against compiler optimization (#62)

As discussed in https://forums.freertos.org/t/make-runtime-stats-working-with-compiler-optimization-enabled/9846 and on lined out on https://blog.the78mole.de/freertos-debugging-on-stm32-cpu-usage/, adding the volatile prevents the run-time stats variable being optimized away when used with compiler optimizations.
diff --git a/tasks.c b/tasks.c
index d63f6cc..c057973 100644
--- a/tasks.c
+++ b/tasks.c
@@ -393,7 +393,7 @@
 	/* Do not move these variables to function scope as doing so prevents the

 	code working with debuggers that need to remove the static qualifier. */

 	PRIVILEGED_DATA static uint32_t ulTaskSwitchedInTime = 0UL;	/*< Holds the value of a timer/counter the last time a task was switched in. */

-	PRIVILEGED_DATA static uint32_t ulTotalRunTime = 0UL;		/*< Holds the total amount of execution time as defined by the run time counter clock. */

+	PRIVILEGED_DATA static volatile uint32_t ulTotalRunTime = 0UL;		/*< Holds the total amount of execution time as defined by the run time counter clock. */

 

 #endif