summaryrefslogtreecommitdiff
path: root/FreeRTOS/Demo
diff options
context:
space:
mode:
authorrtel <rtel@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>2013-12-23 18:13:29 +0000
committerrtel <rtel@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>2013-12-23 18:13:29 +0000
commit9122b634c3146460e03e59d20815242e9b70f1c6 (patch)
treec0b67fb10130ca14a88aac3f94f04e08e634dcff /FreeRTOS/Demo
parent667c3b51953efb1c614b431b9b8257532885c275 (diff)
downloadfreertos-9122b634c3146460e03e59d20815242e9b70f1c6.tar.gz
Move the event groups single tasks test out of the common demo file (they are now part of the module tests).
git-svn-id: http://svn.code.sf.net/p/freertos/code/trunk@2139 1d2547de-c912-0410-9cb9-b8ca96c0e9e2
Diffstat (limited to 'FreeRTOS/Demo')
-rw-r--r--FreeRTOS/Demo/CORTEX_STM32L152_Discovery_IAR/RTOSDemo.ewp2
-rw-r--r--FreeRTOS/Demo/Common/Minimal/EventGroupsDemo.c211
-rw-r--r--FreeRTOS/Demo/Common/Minimal/TimerDemo.c49
-rw-r--r--FreeRTOS/Demo/WIN32-MingW/.cproject4
-rw-r--r--FreeRTOS/Demo/WIN32-MingW/.settings/org.eclipse.cdt.codan.core.prefs68
-rw-r--r--FreeRTOS/Demo/WIN32-MingW/.settings/org.eclipse.cdt.managedbuilder.core.prefs10
-rw-r--r--FreeRTOS/Demo/WIN32-MingW/.settings/org.eclipse.ltk.core.refactoring.prefs2
7 files changed, 117 insertions, 229 deletions
diff --git a/FreeRTOS/Demo/CORTEX_STM32L152_Discovery_IAR/RTOSDemo.ewp b/FreeRTOS/Demo/CORTEX_STM32L152_Discovery_IAR/RTOSDemo.ewp
index 8b44d9f5a..308e533f3 100644
--- a/FreeRTOS/Demo/CORTEX_STM32L152_Discovery_IAR/RTOSDemo.ewp
+++ b/FreeRTOS/Demo/CORTEX_STM32L152_Discovery_IAR/RTOSDemo.ewp
@@ -682,7 +682,7 @@
</option>
<option>
<name>IlinkMapFile</name>
- <state>0</state>
+ <state>1</state>
</option>
<option>
<name>IlinkLogFile</name>
diff --git a/FreeRTOS/Demo/Common/Minimal/EventGroupsDemo.c b/FreeRTOS/Demo/Common/Minimal/EventGroupsDemo.c
index b7365e091..e1425076c 100644
--- a/FreeRTOS/Demo/Common/Minimal/EventGroupsDemo.c
+++ b/FreeRTOS/Demo/Common/Minimal/EventGroupsDemo.c
@@ -136,13 +136,6 @@ static void prvWaitBitsTask( void *pvParameters );
static void prvSyncTask( void *pvParameters );
/*
- * Contains a set of behavioural tests that can be performed from a single task.
- * This function is called by prvSetBitsTask() before prvSetBitsTasks() starts
- * the tests that make use of the prvWaitBitsTask().
- */
-static portBASE_TYPE prvSingleTaskTests( void );
-
-/*
* Functions used in a test that blocks two tasks on various different bits
* within an event group - then sets each bit in turn and checks that the
* correct tasks unblock at the correct times.
@@ -184,196 +177,6 @@ xTaskHandle xWaitBitsTaskHandle;
}
/*-----------------------------------------------------------*/
-static portBASE_TYPE prvSingleTaskTests( void )
-{
-xEventBitsType uxReturned;
-portBASE_TYPE xError = pdFALSE, xHigherPriorityTaskWoken;
-portTickType xTimeOnEntering, xTimeOnExiting;
-
- /* Check no bits are currently set. */
- uxReturned = xEventGroupWaitBits( xEventBits, /* The event flags being tested. */
- ebBIT_1, /* The bit being tested. */
- pdFALSE, /* Don't clear the bit on exit. */
- pdFALSE, /* Wait for a single bit, not all the bits. */
- ebDONT_BLOCK ); /* Block time. */
-
- if( uxReturned != 0x00 )
- {
- xError = pdTRUE;
- }
-
- /* Set selected bits. */
- xEventGroupSetBits( xEventBits, ebCOMBINED_BITS );
-
- /* Wait on all the selected bits. This should return immediately even
- though a block time is specified. */
- uxReturned = xEventGroupWaitBits( xEventBits, ebCOMBINED_BITS, pdFALSE, pdTRUE, portMAX_DELAY );
-
- if( uxReturned != ebCOMBINED_BITS )
- {
- xError = pdTRUE;
- }
-
- /* Now try waiting on all the selected bits plus a bit that is not set.
- This should time out. */
- xTimeOnEntering = xTaskGetTickCount();
- uxReturned = xEventGroupWaitBits( xEventBits, /* The event flags being tested. */
- ebCOMBINED_BITS | ebBIT_0, /* The bits being tested. */
- pdFALSE, /* Don't clear the bits on exit. */
- pdTRUE, /* Wait for all the bits to be set, not just a single bit. */
- ebSHORT_DELAY ); /* Block time. */
- xTimeOnExiting = xTaskGetTickCount();
-
- if( ( xTimeOnExiting - xTimeOnEntering ) < ebSHORT_DELAY )
- {
- /* Did not block as expected. */
- xError = pdTRUE;
- }
-
- if( uxReturned != ebCOMBINED_BITS )
- {
- xError = pdTRUE;
- }
-
-
- /* This time pass in the same bit combination, but wait for only a single
- bit. This time it should not block even though one of the bits in the
- combination is not set. */
- xTimeOnEntering = xTaskGetTickCount();
- uxReturned = xEventGroupWaitBits( xEventBits, /* The event flags being tested. */
- ebCOMBINED_BITS | ebBIT_0, /* The bits being tested. */
- pdFALSE, /* Don't clear the bits on exit. */
- pdFALSE, /* Don't wait for all the bits to be set, a single bit is all that is required. */
- ebSHORT_DELAY ); /* Block time. */
- xTimeOnExiting = xTaskGetTickCount();
-
- if( ( xTimeOnExiting - xTimeOnEntering ) >= ebSHORT_DELAY )
- {
- /* Blocked, but didn't expect to. */
- xError = pdTRUE;
- }
-
- if( uxReturned != ebCOMBINED_BITS )
- {
- xError = pdTRUE;
- }
-
-
- /* Now set all the bits. */
- xEventGroupSetBits( xEventBits, ebALL_BITS );
-
- /* Read the bits back to ensure they are all set. Read back with a timeout
- to ensure the task does not block (all the bits are already set), and leave
- the bits set on exit. */
- xTimeOnEntering = xTaskGetTickCount();
- uxReturned = xEventGroupWaitBits( xEventBits, /* The event flags being tested. */
- ebALL_BITS, /* The bits being tested. */
- pdFALSE, /* Don't clear the bits on exit. */
- pdTRUE, /* Wait for all the bits to be set. */
- ebSHORT_DELAY );/* Block time. */
- xTimeOnExiting = xTaskGetTickCount();
-
- if( ( xTimeOnExiting - xTimeOnEntering ) >= ebSHORT_DELAY )
- {
- /* Blocked, but didn't expect to. */
- xError = pdTRUE;
- }
-
- if( uxReturned != ebALL_BITS )
- {
- xError = pdTRUE;
- }
-
-
- /* Now wait for some bits to be set (which are all set), and clear the bits
- on exit. Again this should not block. */
- xTimeOnEntering = xTaskGetTickCount();
- uxReturned = xEventGroupWaitBits( xEventBits, /* The event flags being tested. */
- ebCOMBINED_BITS, /* The bits being tested, which are a subset of the bits now set. */
- pdTRUE, /* Clear the bits on exit. */
- pdTRUE, /* Wait for all the bits to be set (which they already are. */
- ebSHORT_DELAY ); /* Block time. */
- xTimeOnExiting = xTaskGetTickCount();
-
- if( ( xTimeOnExiting - xTimeOnEntering ) >= ebSHORT_DELAY )
- {
- /* Blocked, but didn't expect to. */
- xError = pdTRUE;
- }
-
- if( uxReturned != ebALL_BITS )
- {
- xError = pdTRUE;
- }
-
- /* Now the bits set by the ebCOMBINED_BITS constant should be clear, but
- all the other bits should be set. Call xEventGroupWaitBits() again, this time
- waiting for any bit within ebALL_BITS, and clearing all bits on exit to
- leave the event bits all clear again. */
- xTimeOnEntering = xTaskGetTickCount();
- uxReturned = xEventGroupWaitBits( xEventBits, /* The event flags being tested. */
- ebALL_BITS, /* The bits being tested, which are a subset of the bits now set. */
- pdTRUE, /* Clear the bits on exit. */
- pdFALSE, /* Wait for any bit to be set. */
- ebSHORT_DELAY ); /* Block time. */
- xTimeOnExiting = xTaskGetTickCount();
-
- if( ( xTimeOnExiting - xTimeOnEntering ) >= ebSHORT_DELAY )
- {
- /* Blocked, but didn't expect to. */
- xError = pdTRUE;
- }
-
- /* The bits defined in ebCOMBINED_BITS were already cleared, so this time
- only the remaining bits should have been set. */
- if( uxReturned != ( ebALL_BITS & ~ebCOMBINED_BITS ) )
- {
- xError = pdTRUE;
- }
-
-
-
- /* All the bits should be clear again as the last call to xEventGroupWaitBits()
- had the "clear on exit" parameter set to pdTRUE. */
- uxReturned = xEventGroupGetBits( xEventBits );
-
- if( uxReturned != 0x00 )
- {
- /* Expected all bits to be clear. */
- xError = pdTRUE;
- }
-
- /* Try the 'set from ISR' function, which will pend the set to the timer
- daemon task. */
- xHigherPriorityTaskWoken = pdFALSE;
- if( xEventGroupSetBitsFromISR( xEventBits, ebBIT_3, &xHigherPriorityTaskWoken ) != pdPASS )
- {
- xError = pdTRUE;
- }
-
- if( xHigherPriorityTaskWoken == pdTRUE )
- {
- /* If the daemon task has a higher priority then a yield should be
- performed to ensure it runs before the bits are tested. */
- taskYIELD();
- }
-
- /* Is the bit set? */
- uxReturned = xEventGroupGetBits( xEventBits );
-
- if( uxReturned != ebBIT_3 )
- {
- /* Expected all bits to be clear. */
- xError = pdTRUE;
- }
-
- /* Clear all bits again ready for infinite loop tests. */
- xEventGroupClearBits( xEventBits, ebALL_BITS );
-
- return xError;
-}
-/*-----------------------------------------------------------*/
-
static void prvSyncTask( void *pvParameters )
{
xEventBitsType uxSynchronisationBit, uxReturned;
@@ -556,16 +359,10 @@ xTaskHandle xWaitBitsTaskHandle = ( xTaskHandle ) pvParameters;
xEventBits = xEventGroupCreate();
configASSERT( xEventBits );
- /* Perform the tests that only require a single task. */
- xError = prvSingleTaskTests();
-
- if( xError == pdFALSE )
- {
- /* Perform the tests that block two tasks on different combinations of
- bits, then set each bit in turn and check the correct tasks unblock at
- the correct times. */
- xError = prvTestSelectiveBits();
- }
+ /* Perform the tests that block two tasks on different combinations of bits,
+ then set each bit in turn and check the correct tasks unblock at the correct
+ times. */
+ xError = prvTestSelectiveBits();
for( ;; )
{
diff --git a/FreeRTOS/Demo/Common/Minimal/TimerDemo.c b/FreeRTOS/Demo/Common/Minimal/TimerDemo.c
index 509c690ef..62b675bcb 100644
--- a/FreeRTOS/Demo/Common/Minimal/TimerDemo.c
+++ b/FreeRTOS/Demo/Common/Minimal/TimerDemo.c
@@ -721,28 +721,25 @@ static portTickType uxTick = ( portTickType ) -1;
function is called from the tick hook anyway. However the API required it
to be present. */
signed portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
-portTickType xMargin;
- if( configTIMER_TASK_PRIORITY != ( configMAX_PRIORITIES - 1 ) )
- {
- /* The timer service task is not the highest priority task, so it cannot
- be assumed that timings will be exact. Timers should never call their
- callback before their expiry time, but a margin is permissible for calling
- their callback after their expiry time. If exact timing is required then
- configTIMER_TASK_PRIORITY must be set to ensure the timer service task
- is the highest priority task in the system. */
- xMargin = 5;
- }
- else
- {
- xMargin = 1;
- }
+#if( configTIMER_TASK_PRIORITY != ( configMAX_PRIORITIES - 1 ) )
+ /* The timer service task is not the highest priority task, so it cannot
+ be assumed that timings will be exact. Timers should never call their
+ callback before their expiry time, but a margin is permissible for calling
+ their callback after their expiry time. If exact timing is required then
+ configTIMER_TASK_PRIORITY must be set to ensure the timer service task
+ is the highest priority task in the system. */
+ const portTickType xMargin = 5;
+#else
+
+ const portTickType xMargin = 1;
+#endif
/* This test is called from the tick ISR even when the scheduler is suspended.
Therefore, it is possible for the xTickCount to be temporarily less than the
uxTicks count maintained in this function. That can result in calculated
unblock times being too short, as this function is not called as missed ticks
- (ticks that occur while the scheduler is suspended) are unwound to re-instate
+ (ticks that occur while the scheduler is suspended) are unwound to reinstate
the real tick value. Therefore, if this happens, just abandon the test
and start again. */
if( xTaskGetSchedulerState() != taskSCHEDULER_RUNNING )
@@ -754,14 +751,28 @@ portTickType xMargin;
uxTick++;
}
- if( uxTick == 0 )
+ if( uxTick == ( xBasePeriod >> 1 ) )
{
/* The timers will have been created, but not started. Start them
now by setting their period. */
ucISRAutoReloadTimerCounter = 0;
ucISROneShotTimerCounter = 0;
- xTimerChangePeriodFromISR( xISRAutoReloadTimer, xBasePeriod, &xHigherPriorityTaskWoken );
- xTimerChangePeriodFromISR( xISROneShotTimer, xBasePeriod, &xHigherPriorityTaskWoken );
+
+ /* It is possible that the timer task has not yet made room in the
+ timer queue. If the timers cannot be started then reset uxTick so
+ another attempt is made later. */
+ uxTick = ( portTickType ) -1;
+ if( xTimerChangePeriodFromISR( xISRAutoReloadTimer, xBasePeriod, &xHigherPriorityTaskWoken ) == pdPASS )
+ {
+ if( xTimerChangePeriodFromISR( xISROneShotTimer, xBasePeriod, &xHigherPriorityTaskWoken ) == pdPASS )
+ {
+ uxTick = 0;
+ }
+ else
+ {
+ xTimerStopFromISR( xISRAutoReloadTimer, &xHigherPriorityTaskWoken );
+ }
+ }
}
else if( uxTick == xBasePeriod )
{
diff --git a/FreeRTOS/Demo/WIN32-MingW/.cproject b/FreeRTOS/Demo/WIN32-MingW/.cproject
index bec5ca084..825627bee 100644
--- a/FreeRTOS/Demo/WIN32-MingW/.cproject
+++ b/FreeRTOS/Demo/WIN32-MingW/.cproject
@@ -16,7 +16,7 @@
<folderInfo id="cdt.managedbuild.config.gnu.mingw.exe.debug.396692239." name="/" resourcePath="">
<toolChain id="cdt.managedbuild.toolchain.gnu.mingw.exe.debug.1619684599" name="MinGW GCC" superClass="cdt.managedbuild.toolchain.gnu.mingw.exe.debug">
<targetPlatform id="cdt.managedbuild.target.gnu.platform.mingw.exe.debug.1827277435" name="Debug Platform" superClass="cdt.managedbuild.target.gnu.platform.mingw.exe.debug"/>
- <builder buildPath="${workspace_loc:/RTOSDemo}/Debug" id="org.eclipse.cdt.build.core.internal.builder.835905495" superClass="org.eclipse.cdt.build.core.internal.builder"/>
+ <builder buildPath="${workspace_loc:/RTOSDemo}/Debug" id="org.eclipse.cdt.build.core.internal.builder.835905495" keepEnvironmentInBuildfile="false" name="CDT Internal Builder" superClass="org.eclipse.cdt.build.core.internal.builder"/>
<tool id="cdt.managedbuild.tool.gnu.assembler.mingw.exe.debug.2050893079" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.mingw.exe.debug">
<inputType id="cdt.managedbuild.tool.gnu.assembler.input.1919405451" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
</tool>
@@ -42,7 +42,7 @@
<option id="gnu.c.compiler.option.debugging.gprof.444112294" name="Generate gprof information (-pg)" superClass="gnu.c.compiler.option.debugging.gprof" value="false" valueType="boolean"/>
<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.974248912" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
</tool>
- <tool id="cdt.managedbuild.tool.gnu.c.linker.mingw.exe.debug.2080839343" name="MinGW C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.mingw.exe.debug">
+ <tool command="gcc" id="cdt.managedbuild.tool.gnu.c.linker.mingw.exe.debug.2080839343" name="MinGW C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.mingw.exe.debug">
<option id="gnu.c.link.option.ldflags.1005037398" name="Linker flags" superClass="gnu.c.link.option.ldflags" value="" valueType="string"/>
<option id="gnu.c.link.option.libs.709505970" name="Libraries (-l)" superClass="gnu.c.link.option.libs" valueType="libs">
<listOptionValue builtIn="false" value="winmm"/>
diff --git a/FreeRTOS/Demo/WIN32-MingW/.settings/org.eclipse.cdt.codan.core.prefs b/FreeRTOS/Demo/WIN32-MingW/.settings/org.eclipse.cdt.codan.core.prefs
new file mode 100644
index 000000000..82c09e194
--- /dev/null
+++ b/FreeRTOS/Demo/WIN32-MingW/.settings/org.eclipse.cdt.codan.core.prefs
@@ -0,0 +1,68 @@
+eclipse.preferences.version=1
+inEditor=false
+org.eclipse.cdt.codan.checkers.errnoreturn=-Warning
+org.eclipse.cdt.codan.checkers.errnoreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},implicit\=>false}
+org.eclipse.cdt.codan.checkers.errreturnvalue=-Error
+org.eclipse.cdt.codan.checkers.errreturnvalue.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.checkers.noreturn=-Error
+org.eclipse.cdt.codan.checkers.noreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},implicit\=>false}
+org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation=-Error
+org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem=-Error
+org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem=-Warning
+org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem=-Error
+org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem=-Warning
+org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},no_break_comment\=>"no break",last_case_param\=>false,empty_case_param\=>false}
+org.eclipse.cdt.codan.internal.checkers.CatchByReference=-Warning
+org.eclipse.cdt.codan.internal.checkers.CatchByReference.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},unknown\=>false,exceptions\=>()}
+org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem=-Error
+org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization=-Warning
+org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},skip\=>true}
+org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem=-Error
+org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem=-Error
+org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.InvalidArguments=-Error
+org.eclipse.cdt.codan.internal.checkers.InvalidArguments.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem=-Error
+org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem=-Error
+org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem=-Error
+org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem=-Error
+org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker=-Info
+org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},pattern\=>"^[a-z]",macro\=>true,exceptions\=>()}
+org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem=-Warning
+org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.OverloadProblem=-Error
+org.eclipse.cdt.codan.internal.checkers.OverloadProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem=-Error
+org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem=-Error
+org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem=-Warning
+org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem=-Warning
+org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem=-Warning
+org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true,exceptions\=>()}
+org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem=-Warning
+org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},paramNot\=>false}
+org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem=-Warning
+org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},else\=>false,afterelse\=>false}
+org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem=-Error
+org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem=-Warning
+org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true}
+org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem=-Warning
+org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true}
+org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem=-Warning
+org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true,exceptions\=>("@(\#)","$Id")}
+org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem=-Error
+org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
diff --git a/FreeRTOS/Demo/WIN32-MingW/.settings/org.eclipse.cdt.managedbuilder.core.prefs b/FreeRTOS/Demo/WIN32-MingW/.settings/org.eclipse.cdt.managedbuilder.core.prefs
index a36a15594..253db6839 100644
--- a/FreeRTOS/Demo/WIN32-MingW/.settings/org.eclipse.cdt.managedbuilder.core.prefs
+++ b/FreeRTOS/Demo/WIN32-MingW/.settings/org.eclipse.cdt.managedbuilder.core.prefs
@@ -1,10 +1,20 @@
eclipse.preferences.version=1
+environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.mingw.exe.debug.396692239.1332190083/CPATH/delimiter=;
+environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.mingw.exe.debug.396692239.1332190083/CPATH/operation=remove
+environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.mingw.exe.debug.396692239.1332190083/C_INCLUDE_PATH/delimiter=;
+environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.mingw.exe.debug.396692239.1332190083/C_INCLUDE_PATH/operation=remove
+environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.mingw.exe.debug.396692239.1332190083/append=true
+environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.mingw.exe.debug.396692239.1332190083/appendContributed=true
environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.mingw.exe.debug.396692239/CPATH/delimiter=;
environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.mingw.exe.debug.396692239/CPATH/operation=remove
environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.mingw.exe.debug.396692239/C_INCLUDE_PATH/delimiter=;
environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.mingw.exe.debug.396692239/C_INCLUDE_PATH/operation=remove
environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.mingw.exe.debug.396692239/append=true
environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.mingw.exe.debug.396692239/appendContributed=true
+environment/buildEnvironmentLibrary/cdt.managedbuild.config.gnu.mingw.exe.debug.396692239.1332190083/LIBRARY_PATH/delimiter=;
+environment/buildEnvironmentLibrary/cdt.managedbuild.config.gnu.mingw.exe.debug.396692239.1332190083/LIBRARY_PATH/operation=remove
+environment/buildEnvironmentLibrary/cdt.managedbuild.config.gnu.mingw.exe.debug.396692239.1332190083/append=true
+environment/buildEnvironmentLibrary/cdt.managedbuild.config.gnu.mingw.exe.debug.396692239.1332190083/appendContributed=true
environment/buildEnvironmentLibrary/cdt.managedbuild.config.gnu.mingw.exe.debug.396692239/LIBRARY_PATH/delimiter=;
environment/buildEnvironmentLibrary/cdt.managedbuild.config.gnu.mingw.exe.debug.396692239/LIBRARY_PATH/operation=remove
environment/buildEnvironmentLibrary/cdt.managedbuild.config.gnu.mingw.exe.debug.396692239/append=true
diff --git a/FreeRTOS/Demo/WIN32-MingW/.settings/org.eclipse.ltk.core.refactoring.prefs b/FreeRTOS/Demo/WIN32-MingW/.settings/org.eclipse.ltk.core.refactoring.prefs
new file mode 100644
index 000000000..cfcd1d3c2
--- /dev/null
+++ b/FreeRTOS/Demo/WIN32-MingW/.settings/org.eclipse.ltk.core.refactoring.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false