diff --git a/FreeRTOS/Demo/CORTEX_M4F_MSP432_LaunchPad_IAR_CCS_Keil/.cproject b/FreeRTOS/Demo/CORTEX_M4F_MSP432_LaunchPad_IAR_CCS_Keil/.cproject
index 2a94648..3a0c432 100644
--- a/FreeRTOS/Demo/CORTEX_M4F_MSP432_LaunchPad_IAR_CCS_Keil/.cproject
+++ b/FreeRTOS/Demo/CORTEX_M4F_MSP432_LaunchPad_IAR_CCS_Keil/.cproject
@@ -69,7 +69,7 @@
 								<option id="com.ti.ccstudio.buildDefinitions.MSP432_5.2.compilerID.DIAG_WRAP.2105562167" name="Wrap diagnostic messages (--diag_wrap)" superClass="com.ti.ccstudio.buildDefinitions.MSP432_5.2.compilerID.DIAG_WRAP" value="com.ti.ccstudio.buildDefinitions.MSP432_5.2.compilerID.DIAG_WRAP.off" valueType="enumerated"/>
 								<option id="com.ti.ccstudio.buildDefinitions.MSP432_5.2.compilerID.GEN_FUNC_SUBSECTIONS.1581338624" name="Place each function in a separate subsection (--gen_func_subsections, -ms)" superClass="com.ti.ccstudio.buildDefinitions.MSP432_5.2.compilerID.GEN_FUNC_SUBSECTIONS" value="com.ti.ccstudio.buildDefinitions.MSP432_5.2.compilerID.GEN_FUNC_SUBSECTIONS.on" valueType="enumerated"/>
 								<option id="com.ti.ccstudio.buildDefinitions.MSP432_5.2.compilerID.OPT_LEVEL.669442165" name="Optimization level (--opt_level, -O)" superClass="com.ti.ccstudio.buildDefinitions.MSP432_5.2.compilerID.OPT_LEVEL" value="com.ti.ccstudio.buildDefinitions.MSP432_5.2.compilerID.OPT_LEVEL.0" valueType="enumerated"/>
-								<option id="com.ti.ccstudio.buildDefinitions.MSP432_5.2.compilerID.OPT_FOR_SPEED.1297898020" superClass="com.ti.ccstudio.buildDefinitions.MSP432_5.2.compilerID.OPT_FOR_SPEED" value="com.ti.ccstudio.buildDefinitions.MSP432_5.2.compilerID.OPT_FOR_SPEED.2" valueType="enumerated"/>
+								<option id="com.ti.ccstudio.buildDefinitions.MSP432_5.2.compilerID.OPT_FOR_SPEED.1297898020" name="Speed vs. size trade-offs (--opt_for_speed, -mf)" superClass="com.ti.ccstudio.buildDefinitions.MSP432_5.2.compilerID.OPT_FOR_SPEED" value="com.ti.ccstudio.buildDefinitions.MSP432_5.2.compilerID.OPT_FOR_SPEED.2" valueType="enumerated"/>
 								<inputType id="com.ti.ccstudio.buildDefinitions.MSP432_5.2.compiler.inputType__C_SRCS.1410406594" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP432_5.2.compiler.inputType__C_SRCS"/>
 								<inputType id="com.ti.ccstudio.buildDefinitions.MSP432_5.2.compiler.inputType__CPP_SRCS.1014794987" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP432_5.2.compiler.inputType__CPP_SRCS"/>
 								<inputType id="com.ti.ccstudio.buildDefinitions.MSP432_5.2.compiler.inputType__ASM_SRCS.372586409" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP432_5.2.compiler.inputType__ASM_SRCS"/>
diff --git a/FreeRTOS/Demo/CORTEX_M4F_MSP432_LaunchPad_IAR_CCS_Keil/.project b/FreeRTOS/Demo/CORTEX_M4F_MSP432_LaunchPad_IAR_CCS_Keil/.project
index 99c7bb6..1f5593a 100644
--- a/FreeRTOS/Demo/CORTEX_M4F_MSP432_LaunchPad_IAR_CCS_Keil/.project
+++ b/FreeRTOS/Demo/CORTEX_M4F_MSP432_LaunchPad_IAR_CCS_Keil/.project
@@ -58,7 +58,7 @@
 	</linkedResources>
 	<filteredResources>
 		<filter>
-			<id>1427193581265</id>
+			<id>1444926372795</id>
 			<name></name>
 			<type>10</type>
 			<matcher>
@@ -67,7 +67,7 @@
 			</matcher>
 		</filter>
 		<filter>
-			<id>1427193581275</id>
+			<id>1444926372800</id>
 			<name></name>
 			<type>10</type>
 			<matcher>
@@ -76,7 +76,7 @@
 			</matcher>
 		</filter>
 		<filter>
-			<id>1427193581275</id>
+			<id>1444926372806</id>
 			<name></name>
 			<type>10</type>
 			<matcher>
@@ -85,6 +85,69 @@
 			</matcher>
 		</filter>
 		<filter>
+			<id>1444926372810</id>
+			<name></name>
+			<type>6</type>
+			<matcher>
+				<id>org.eclipse.ui.ide.multiFilter</id>
+				<arguments>1.0-name-matches-false-false-RTOSDemo.dep</arguments>
+			</matcher>
+		</filter>
+		<filter>
+			<id>1444926372815</id>
+			<name></name>
+			<type>6</type>
+			<matcher>
+				<id>org.eclipse.ui.ide.multiFilter</id>
+				<arguments>1.0-name-matches-false-false-RTOSDemo.ewd</arguments>
+			</matcher>
+		</filter>
+		<filter>
+			<id>1444926372819</id>
+			<name></name>
+			<type>6</type>
+			<matcher>
+				<id>org.eclipse.ui.ide.multiFilter</id>
+				<arguments>1.0-name-matches-false-false-RTOSDemo.ewp</arguments>
+			</matcher>
+		</filter>
+		<filter>
+			<id>1444926372823</id>
+			<name></name>
+			<type>6</type>
+			<matcher>
+				<id>org.eclipse.ui.ide.multiFilter</id>
+				<arguments>1.0-name-matches-false-false-RTOSDemo.ewt</arguments>
+			</matcher>
+		</filter>
+		<filter>
+			<id>1444926372829</id>
+			<name></name>
+			<type>6</type>
+			<matcher>
+				<id>org.eclipse.ui.ide.multiFilter</id>
+				<arguments>1.0-name-matches-false-false-RTOSDemo.eww</arguments>
+			</matcher>
+		</filter>
+		<filter>
+			<id>1444926372834</id>
+			<name></name>
+			<type>6</type>
+			<matcher>
+				<id>org.eclipse.ui.ide.multiFilter</id>
+				<arguments>1.0-name-matches-false-false-RTOSDemo.uvoptx</arguments>
+			</matcher>
+		</filter>
+		<filter>
+			<id>1444926372841</id>
+			<name></name>
+			<type>6</type>
+			<matcher>
+				<id>org.eclipse.ui.ide.multiFilter</id>
+				<arguments>1.0-name-matches-false-false-RTOSDemo.uvprojx</arguments>
+			</matcher>
+		</filter>
+		<filter>
 			<id>1424106057421</id>
 			<name>Full_Demo</name>
 			<type>6</type>
diff --git a/FreeRTOS/Demo/CORTEX_M4F_MSP432_LaunchPad_IAR_CCS_Keil/.settings/org.eclipse.core.resources.prefs b/FreeRTOS/Demo/CORTEX_M4F_MSP432_LaunchPad_IAR_CCS_Keil/.settings/org.eclipse.core.resources.prefs
index 890c0c1..4b6a43c 100644
--- a/FreeRTOS/Demo/CORTEX_M4F_MSP432_LaunchPad_IAR_CCS_Keil/.settings/org.eclipse.core.resources.prefs
+++ b/FreeRTOS/Demo/CORTEX_M4F_MSP432_LaunchPad_IAR_CCS_Keil/.settings/org.eclipse.core.resources.prefs
@@ -11,8 +11,6 @@
 encoding//Debug/Full_Demo/Standard_Demo_Tasks/subdir_vars.mk=UTF-8
 encoding//Debug/Full_Demo/subdir_rules.mk=UTF-8
 encoding//Debug/Full_Demo/subdir_vars.mk=UTF-8
-encoding//Debug/Objects/subdir_rules.mk=UTF-8
-encoding//Debug/Objects/subdir_vars.mk=UTF-8
 encoding//Debug/SimplyBlinkyDemo/subdir_rules.mk=UTF-8
 encoding//Debug/SimplyBlinkyDemo/subdir_vars.mk=UTF-8
 encoding//Debug/SystemFiles_CCS/subdir_rules.mk=UTF-8
diff --git a/FreeRTOS/Demo/CORTEX_M4F_MSP432_LaunchPad_IAR_CCS_Keil/FreeRTOSConfig.h b/FreeRTOS/Demo/CORTEX_M4F_MSP432_LaunchPad_IAR_CCS_Keil/FreeRTOSConfig.h
index e72cfcf..52003a7 100644
--- a/FreeRTOS/Demo/CORTEX_M4F_MSP432_LaunchPad_IAR_CCS_Keil/FreeRTOSConfig.h
+++ b/FreeRTOS/Demo/CORTEX_M4F_MSP432_LaunchPad_IAR_CCS_Keil/FreeRTOSConfig.h
@@ -43,15 +43,15 @@
 /* Set mainCREATE_SIMPLE_BLINKY_DEMO_ONLY to one to run the simple blinky demo,
 or 0 to run the more comprehensive test and demo application.
 
-The comprehensive demo uses FreeRTOS+CLI to create a simple command line 
+The comprehensive demo uses FreeRTOS+CLI to create a simple command line
 interface through a UART.
 
 The blinky demo uses FreeRTOS's tickless idle mode to reduce power consumption.
-See the notes on the web page below regarding the difference in power saving 
-that can be achieved between using the generic tickless implementation (as used 
-by the blinky demo) and a tickless implementation that is tailored specifically 
+See the notes on the web page below regarding the difference in power saving
+that can be achieved between using the generic tickless implementation (as used
+by the blinky demo) and a tickless implementation that is tailored specifically
 to the MSP432.
- 
+
 See http://www.FreeRTOS.org/TI_MSP432_Free_RTOS_Demo.html for instructions. */
 #define configCREATE_SIMPLE_TICKLESS_DEMO	0
 
diff --git a/FreeRTOS/Demo/CORTEX_M4F_MSP432_LaunchPad_IAR_CCS_Keil/RTOSDemo.ewd b/FreeRTOS/Demo/CORTEX_M4F_MSP432_LaunchPad_IAR_CCS_Keil/RTOSDemo.ewd
index a8bc11b..b34f889 100644
--- a/FreeRTOS/Demo/CORTEX_M4F_MSP432_LaunchPad_IAR_CCS_Keil/RTOSDemo.ewd
+++ b/FreeRTOS/Demo/CORTEX_M4F_MSP432_LaunchPad_IAR_CCS_Keil/RTOSDemo.ewd
@@ -85,7 +85,7 @@
         </option>
         <option>
           <name>OCDynDriverList</name>
-          <state>JLINK_ID</state>
+          <state>IJET_ID</state>
         </option>
         <option>
           <name>OCLastSavedByProductVersion</name>
@@ -538,7 +538,7 @@
         <option>
           <name>IjetResetList</name>
           <version>1</version>
-          <state>10</state>
+          <state>4</state>
         </option>
         <option>
           <name>IjetHWResetDuration</name>
@@ -603,7 +603,7 @@
         </option>
         <option>
           <name>IjetCpuClockEdit</name>
-          <state>72.0</state>
+          <state></state>
         </option>
         <option>
           <name>IjetSwoPrescalerList</name>
diff --git a/FreeRTOS/Demo/CORTEX_M4F_MSP432_LaunchPad_IAR_CCS_Keil/settings/RTOSDemo.dbgdt b/FreeRTOS/Demo/CORTEX_M4F_MSP432_LaunchPad_IAR_CCS_Keil/settings/RTOSDemo.dbgdt
index f93bb8a..9342bb4 100644
--- a/FreeRTOS/Demo/CORTEX_M4F_MSP432_LaunchPad_IAR_CCS_Keil/settings/RTOSDemo.dbgdt
+++ b/FreeRTOS/Demo/CORTEX_M4F_MSP432_LaunchPad_IAR_CCS_Keil/settings/RTOSDemo.dbgdt
@@ -55,7 +55,7 @@
           </Tab>
         </Tabs>
         
-      <SelectedTab>0</SelectedTab></Wnd1><Wnd4>
+      <SelectedTab>0</SelectedTab></Wnd1><Wnd3>
         <Tabs>
           <Tab>
             <Identity>TabID-2417-20288</Identity>
@@ -67,20 +67,20 @@
           </Tab>
         </Tabs>
         
-      <SelectedTab>0</SelectedTab></Wnd4><Wnd5><Tabs><Tab><Identity>TabID-18267-27197</Identity><TabName>Disassembly</TabName><Factory>Disassembly</Factory><Session/></Tab></Tabs><SelectedTab>0</SelectedTab></Wnd5></Windows>
+      <SelectedTab>0</SelectedTab></Wnd3></Windows>
     <Editor>
       
       
       
       
-    <Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\main.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>128</YPos2><SelStart2>5940</SelStart2><SelEnd2>5940</SelEnd2></Tab><ActiveTab>0</ActiveTab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
+    <Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\main.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>100</YPos2><SelStart2>5615</SelStart2><SelEnd2>5615</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\..\Source\tasks.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>2232</YPos2><SelStart2>76407</SelStart2><SelEnd2>76435</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\..\Source\include\StackMacros.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>76</YPos2><SelStart2>4839</SelStart2><SelEnd2>4839</SelEnd2></Tab><ActiveTab>2</ActiveTab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\FreeRTOSConfig.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>74</YPos2><SelStart2>4540</SelStart2><SelEnd2>4540</SelEnd2></Tab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
     <Positions>
       
       
       
       
       
-    <Top><Row0><Sizes><Toolbar-00359FA0><key>iaridepm.enu1</key></Toolbar-00359FA0></Sizes></Row0><Row1><Sizes><Toolbar-0D2EC0B0><key>debuggergui.enu1</key></Toolbar-0D2EC0B0></Sizes></Row1><Row2><Sizes><Toolbar-0D2DBAF8><key>armjet.enu1</key></Toolbar-0D2DBAF8></Sizes></Row2></Top><Left><Row0><Sizes><Wnd4><Rect><Top>-2</Top><Left>-2</Left><Bottom>585</Bottom><Right>307</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>119048</sizeHorzCX><sizeHorzCY>203252</sizeHorzCY><sizeVertCX>183929</sizeVertCX><sizeVertCY>596545</sizeVertCY></Rect></Wnd4></Sizes></Row0></Left><Right><Row0><Sizes><Wnd5><Rect><Top>-2</Top><Left>-2</Left><Bottom>585</Bottom><Right>198</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>119048</sizeHorzCX><sizeHorzCY>203252</sizeHorzCY><sizeVertCX>119048</sizeVertCX><sizeVertCY>596545</sizeVertCY></Rect></Wnd5></Sizes></Row0></Right><Bottom><Row0><Sizes><Wnd1><Rect><Top>-2</Top><Left>-2</Left><Bottom>307</Bottom><Right>1682</Right><x>-2</x><y>-2</y><xscreen>1684</xscreen><yscreen>309</yscreen><sizeHorzCX>1002381</sizeHorzCX><sizeHorzCY>314024</sizeHorzCY><sizeVertCX>119048</sizeVertCX><sizeVertCY>203252</sizeVertCY></Rect></Wnd1></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
+    <Top><Row0><Sizes><Toolbar-00C4A4B8><key>iaridepm.enu1</key></Toolbar-00C4A4B8></Sizes></Row0><Row1><Sizes><Toolbar-0F081000><key>debuggergui.enu1</key></Toolbar-0F081000></Sizes></Row1><Row2><Sizes><Toolbar-0F0810C8><key>armjet.enu1</key></Toolbar-0F0810C8></Sizes></Row2></Top><Left><Row0><Sizes><Wnd3><Rect><Top>-2</Top><Left>-2</Left><Bottom>585</Bottom><Right>307</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>119048</sizeHorzCX><sizeHorzCY>203252</sizeHorzCY><sizeVertCX>183929</sizeVertCX><sizeVertCY>596545</sizeVertCY></Rect></Wnd3></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd1><Rect><Top>-2</Top><Left>-2</Left><Bottom>307</Bottom><Right>1682</Right><x>-2</x><y>-2</y><xscreen>1684</xscreen><yscreen>309</yscreen><sizeHorzCX>1002381</sizeHorzCX><sizeHorzCY>314024</sizeHorzCY><sizeVertCX>119048</sizeVertCX><sizeVertCY>203252</sizeVertCY></Rect></Wnd1></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
   </Desktop>
 </Project>
 
diff --git a/FreeRTOS/Demo/CORTEX_M4F_MSP432_LaunchPad_IAR_CCS_Keil/settings/RTOSDemo.dni b/FreeRTOS/Demo/CORTEX_M4F_MSP432_LaunchPad_IAR_CCS_Keil/settings/RTOSDemo.dni
index 4f6bf46..32d1b18 100644
--- a/FreeRTOS/Demo/CORTEX_M4F_MSP432_LaunchPad_IAR_CCS_Keil/settings/RTOSDemo.dni
+++ b/FreeRTOS/Demo/CORTEX_M4F_MSP432_LaunchPad_IAR_CCS_Keil/settings/RTOSDemo.dni
@@ -9,21 +9,8 @@
 LimitSize=0
 ByteLimit=50
 [PlDriver]
-MemConfigValue=
+MemConfigValue=C:\DevTools\IAR Systems\Embedded Workbench 7.2\arm\CONFIG\debugger\TexasInstruments\MSP432P401R.svd
 FirstRun=0
-[PlCacheRanges]
-CustomRanges0=0 0 536870912 1 0
-CustomRangesText0=Code
-CustomRanges1=0 536870912 33554432 0 0
-CustomRangesText1=SRAM
-CustomRanges2=0 570425344 33554432 0 0
-CustomRangesText2=bit-banding
-CustomRanges3=0 1073741824 33554432 2 0
-CustomRangesText3=Peripheral
-CustomRanges4=0 1107296256 33554432 2 0
-CustomRangesText4=bit-banding
-CustomRanges5=0 3758096384 536870912 2 0
-CustomRangesText5=Private peripheral
 [Jet]
 JetConnSerialNo=73866
 JetConnFoundProbes=
@@ -32,7 +19,7 @@
 OnlineReset=Software
 PrevWtdReset=System
 [DebugChecksum]
-Checksum=701872400
+Checksum=-1201177865
 [Exceptions]
 StopOnUncaught=_ 0
 StopOnThrow=_ 0
@@ -77,6 +64,19 @@
 ITMlogFile=$PROJ_DIR$\ITM.log
 [Breakpoints]
 Count=0
+[PlCacheRanges]
+CustomRanges0=0 0 536870912 1 0
+CustomRangesText0=Code
+CustomRanges1=0 536870912 33554432 0 0
+CustomRangesText1=SRAM
+CustomRanges2=0 570425344 33554432 0 0
+CustomRangesText2=bit-banding
+CustomRanges3=0 1073741824 33554432 2 0
+CustomRangesText3=Peripheral
+CustomRanges4=0 1107296256 33554432 2 0
+CustomRangesText4=bit-banding
+CustomRanges5=0 3758096384 536870912 2 0
+CustomRangesText5=Private peripheral
 [Trace2]
 Enabled=0
 ShowSource=0
@@ -90,36 +90,45 @@
 EventLSU=0
 EventSLEEP=0
 [PowerLog]
+Title_0=I0
+Symbol_0=0 4 1
 LogEnabled=0
 GraphEnabled=0
 ShowTimeLog=1
-ShowTimeSum=0
-Title_0=I0
-Symbol_0=0 4 1
 LiveEnabled=0
 LiveFile=PowerLogLive.log
 [DataLog]
 LogEnabled=0
-SumEnabled=0
 GraphEnabled=0
 ShowTimeLog=1
+SumEnabled=0
 ShowTimeSum=1
 [EventLog]
+Title_0=Ch3
+Symbol_0=0 4 1
+Title_1=Ch2
+Symbol_1=0 4 1
+Title_2=Ch1
+Symbol_2=0 4 1
+Title_3=Ch0
+Symbol_3=0 4 1
 LogEnabled=0
-SumEnabled=0
 GraphEnabled=0
 ShowTimeLog=1
+SumEnabled=0
 ShowTimeSum=1
 SumSortOrder=0
 [InterruptLog]
 LogEnabled=0
-SumEnabled=0
 GraphEnabled=0
 ShowTimeLog=1
+SumEnabled=0
 ShowTimeSum=1
 SumSortOrder=0
 [CallStackLog]
 Enabled=0
+[CallStackStripe]
+ShowTiming=1
 [DriverProfiling]
 Enabled=0
 Mode=3
diff --git a/FreeRTOS/Demo/CORTEX_M4F_MSP432_LaunchPad_IAR_CCS_Keil/settings/RTOSDemo.wsdt b/FreeRTOS/Demo/CORTEX_M4F_MSP432_LaunchPad_IAR_CCS_Keil/settings/RTOSDemo.wsdt
index 24a90c0..18cc65a 100644
--- a/FreeRTOS/Demo/CORTEX_M4F_MSP432_LaunchPad_IAR_CCS_Keil/settings/RTOSDemo.wsdt
+++ b/FreeRTOS/Demo/CORTEX_M4F_MSP432_LaunchPad_IAR_CCS_Keil/settings/RTOSDemo.wsdt
@@ -24,7 +24,7 @@
     <Windows>
       
       
-    <Wnd1>
+    <Wnd2>
         <Tabs>
           <Tab>
             <Identity>TabID-2476-27879</Identity>
@@ -32,11 +32,11 @@
             <Factory>Workspace</Factory>
             <Session>
               
-            <NodeDict><ExpandedNode>RTOSDemo</ExpandedNode></NodeDict></Session>
+            <NodeDict><ExpandedNode>RTOSDemo</ExpandedNode><ExpandedNode>RTOSDemo/FreeRTOS_Source</ExpandedNode><ExpandedNode>RTOSDemo/FreeRTOS_Source/tasks.c</ExpandedNode></NodeDict></Session>
           </Tab>
         </Tabs>
         
-      <SelectedTab>0</SelectedTab></Wnd1><Wnd3>
+      <SelectedTab>0</SelectedTab></Wnd2><Wnd3>
         <Tabs>
           <Tab>
             <Identity>TabID-28448-28006</Identity>
@@ -52,14 +52,14 @@
       
       
       
-    <Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\main.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>61</YPos2><SelStart2>5940</SelStart2><SelEnd2>5940</SelEnd2></Tab><ActiveTab>0</ActiveTab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
+    <Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\main.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>67</YPos2><SelStart2>5615</SelStart2><SelEnd2>5615</SelEnd2></Tab><ActiveTab>0</ActiveTab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
     <Positions>
       
       
       
       
       
-    <Top><Row0><Sizes><Toolbar-010D90F0><key>iaridepm.enu1</key></Toolbar-010D90F0></Sizes></Row0></Top><Left><Row0><Sizes><Wnd1><Rect><Top>-2</Top><Left>-2</Left><Bottom>587</Bottom><Right>381</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>119048</sizeHorzCX><sizeHorzCY>203252</sizeHorzCY><sizeVertCX>227976</sizeVertCX><sizeVertCY>598577</sizeVertCY></Rect></Wnd1></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd3><Rect><Top>-2</Top><Left>-2</Left><Bottom>353</Bottom><Right>1682</Right><x>-2</x><y>-2</y><xscreen>1684</xscreen><yscreen>355</yscreen><sizeHorzCX>1002381</sizeHorzCX><sizeHorzCY>360772</sizeHorzCY><sizeVertCX>119048</sizeVertCX><sizeVertCY>203252</sizeVertCY></Rect></Wnd3></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
+    <Top><Row0><Sizes><Toolbar-00C4A4B8><key>iaridepm.enu1</key></Toolbar-00C4A4B8></Sizes></Row0><Row1><Sizes/></Row1></Top><Left><Row0><Sizes><Wnd2><Rect><Top>-2</Top><Left>-2</Left><Bottom>587</Bottom><Right>381</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>119048</sizeHorzCX><sizeHorzCY>203252</sizeHorzCY><sizeVertCX>227976</sizeVertCX><sizeVertCY>598577</sizeVertCY></Rect></Wnd2></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd3><Rect><Top>-2</Top><Left>-2</Left><Bottom>353</Bottom><Right>1682</Right><x>-2</x><y>-2</y><xscreen>1684</xscreen><yscreen>355</yscreen><sizeHorzCX>1002381</sizeHorzCX><sizeHorzCY>360772</sizeHorzCY><sizeVertCX>119048</sizeVertCX><sizeVertCY>203252</sizeVertCY></Rect></Wnd3></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
   </Desktop>
 </Workspace>
 
diff --git a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR/ReadMe_Instructions.url b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR/ReadMe_Instructions.url
new file mode 100644
index 0000000..c7dc886
--- /dev/null
+++ b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR/ReadMe_Instructions.url
@@ -0,0 +1,5 @@
+[{000214A0-0000-0000-C000-000000000046}]
+Prop3=19,2
+[InternetShortcut]
+URL=http://www.freertos.org/Renesas_RZ-T_Cortex-R4F-RTOS.html
+IDList=
diff --git a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR/System/IAR/Interrupt_Entry_Stubs.asm b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR/System/IAR/Interrupt_Entry_Stubs.asm
index 2c85e50..c3819c5 100644
--- a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR/System/IAR/Interrupt_Entry_Stubs.asm
+++ b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR/System/IAR/Interrupt_Entry_Stubs.asm
@@ -67,7 +67,7 @@
     1 tab == 4 spaces!
 */
 	SECTION intvec:CODE:ROOT(2)
-    ARM
+	ARM
 
 	EXTERN pxISRFunction
 	EXTERN FreeRTOS_Tick_Handler
diff --git a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR/settings/RTOSDemo.wsdt b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR/settings/RTOSDemo.wsdt
index 319c4df..e4ce814 100644
--- a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR/settings/RTOSDemo.wsdt
+++ b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR/settings/RTOSDemo.wsdt
@@ -35,7 +35,7 @@
     <Windows>
       
       
-    <Wnd1>
+    <Wnd0>
         <Tabs>
           <Tab>
             <Identity>TabID-31096-4084</Identity>
@@ -47,7 +47,7 @@
           </Tab>
         </Tabs>
         
-      <SelectedTab>0</SelectedTab></Wnd1><Wnd3>
+      <SelectedTab>0</SelectedTab></Wnd0><Wnd2>
         <Tabs>
           <Tab>
             <Identity>TabID-12820-6268</Identity>
@@ -69,20 +69,20 @@
           </Tab>
         <Tab><Identity>TabID-6803-3328</Identity><TabName>Ambiguous Definitions</TabName><Factory>Select-Ambiguous-Definitions</Factory><Session/></Tab></Tabs>
         
-      <SelectedTab>1</SelectedTab></Wnd3></Windows>
+      <SelectedTab>1</SelectedTab></Wnd2></Windows>
     <Editor>
       
       
       
       
-    <Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\src\main.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>67</YPos2><SelStart2>6976</SelStart2><SelEnd2>6976</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\src\Full_Demo\main_full.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>69</YPos2><SelStart2>0</SelStart2><SelEnd2>0</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\src\Blinky_Demo\main_blinky.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>69</YPos2><SelStart2>0</SelStart2><SelEnd2>0</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\..\Source\portable\IAR\ARM_CRx_No_GIC\portASM.s</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>81</YPos2><SelStart2>4099</SelStart2><SelEnd2>4099</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\src\Full_Demo\reg_test_IAR.asm</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>101</YPos2><SelStart2>5250</SelStart2><SelEnd2>5250</SelEnd2></Tab><ActiveTab>4</ActiveTab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
+    <Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\src\main.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>67</YPos2><SelStart2>6976</SelStart2><SelEnd2>6976</SelEnd2></Tab><ActiveTab>0</ActiveTab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\src\Full_Demo\main_full.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>69</YPos2><SelStart2>0</SelStart2><SelEnd2>0</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\src\Blinky_Demo\main_blinky.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>69</YPos2><SelStart2>0</SelStart2><SelEnd2>0</SelEnd2></Tab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
     <Positions>
       
       
       
       
       
-    <Top><Row0><Sizes><Toolbar-00BB9AA0><key>iaridepm.enu1</key></Toolbar-00BB9AA0></Sizes></Row0></Top><Left><Row0><Sizes><Wnd1><Rect><Top>-2</Top><Left>-2</Left><Bottom>619</Bottom><Right>383</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>119048</sizeHorzCX><sizeHorzCY>203252</sizeHorzCY><sizeVertCX>229167</sizeVertCX><sizeVertCY>631098</sizeVertCY></Rect></Wnd1></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd3><Rect><Top>-2</Top><Left>-2</Left><Bottom>321</Bottom><Right>1682</Right><x>-2</x><y>-2</y><xscreen>1684</xscreen><yscreen>323</yscreen><sizeHorzCX>1002381</sizeHorzCX><sizeHorzCY>328252</sizeHorzCY><sizeVertCX>119048</sizeVertCX><sizeVertCY>203252</sizeVertCY></Rect></Wnd3></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
+    <Top><Row0><Sizes><Toolbar-00BC9AA0><key>iaridepm.enu1</key></Toolbar-00BC9AA0></Sizes></Row0></Top><Left><Row0><Sizes><Wnd0><Rect><Top>-2</Top><Left>-2</Left><Bottom>619</Bottom><Right>383</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>119048</sizeHorzCX><sizeHorzCY>203252</sizeHorzCY><sizeVertCX>229167</sizeVertCX><sizeVertCY>631098</sizeVertCY></Rect></Wnd0></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd2><Rect><Top>-2</Top><Left>-2</Left><Bottom>321</Bottom><Right>1682</Right><x>-2</x><y>-2</y><xscreen>1684</xscreen><yscreen>323</yscreen><sizeHorzCX>1002381</sizeHorzCX><sizeHorzCY>328252</sizeHorzCY><sizeVertCX>119048</sizeVertCX><sizeVertCY>203252</sizeVertCY></Rect></Wnd2></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
   </Desktop>
 </Workspace>
 
diff --git a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR/src/FreeRTOS_tick_config.c b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR/src/FreeRTOS_tick_config.c
index 4492742..8a4fad7 100644
--- a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR/src/FreeRTOS_tick_config.c
+++ b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR/src/FreeRTOS_tick_config.c
@@ -196,12 +196,12 @@
 	$PROJ_DIR$/System/IAR/Interrupt_Entry_Stubs.asm */
 	static void FreeRTOS_Tick_Handler_Entry( void )
 	{
-		__asm volatile (													 	\
-							"PUSH	{r0-r1}								\t\n"	\
-							"LDR	r0, =pxISRFunction					\t\n"	\
-							"LDR	R1, =FreeRTOS_Tick_Handler			\t\n"	\
-							"STR	R1, [r0]							\t\n"	\
-							"POP	{r0-r1}								\t\n"	\
+		__asm volatile (
+							"PUSH	{r0-r1}								\t\n"
+							"LDR	r0, =pxISRFunction					\t\n"
+							"LDR	R1, =FreeRTOS_Tick_Handler			\t\n"
+							"STR	R1, [r0]							\t\n"
+							"POP	{r0-r1}								\t\n"
 							"B		FreeRTOS_IRQ_Handler					"
 						);
 	}
diff --git a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR/src/Full_Demo/IntQueueTimer.c b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR/src/Full_Demo/IntQueueTimer.c
index 5aee68f..63ede63 100644
--- a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR/src/Full_Demo/IntQueueTimer.c
+++ b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR/src/Full_Demo/IntQueueTimer.c
@@ -202,18 +202,20 @@
  * interrupt entry (including interrupt nesting), before calling the C function
  * saved in the pxISRFunction variable.  NOTE:  The entry points are naked
  * functions - do not add C code to these functions.
+ *
+ * See http://www.freertos.org/Renesas_RZ-T_Cortex-R4F-RTOS.html
  */
 #ifdef __GNUC__
 	/* The IAR equivalent is implemented in
 	$PROJ_DIR$/System/IAR/Interrupt_Entry_Stubs.asm */
 	static void vCMT_1_Channel_0_ISR_Entry( void )
 	{
-		__asm volatile (													 	\
-							"PUSH	{r0-r1}								\t\n"	\
-							"LDR	r0, =pxISRFunction					\t\n"	\
-							"LDR	r1, =vCMT_1_Channel_0_ISR			\t\n"	\
-							"STR	r1, [r0]							\t\n"	\
-							"POP	{r0-r1}								\t\n"	\
+		__asm volatile (
+							"PUSH	{r0-r1}								\t\n"
+							"LDR	r0, =pxISRFunction					\t\n"
+							"LDR	r1, =vCMT_1_Channel_0_ISR			\t\n"
+							"STR	r1, [r0]							\t\n"
+							"POP	{r0-r1}								\t\n"
 							"B		FreeRTOS_IRQ_Handler					"
 						);
 	}
@@ -225,12 +227,12 @@
 	$PROJ_DIR$/System/IAR/Interrupt_Entry_Stubs.asm */
 	static void vCMT_1_Channel_1_ISR_Entry( void )
 	{
-		__asm volatile (													 	\
-							"PUSH	{r0-r1}								\t\n"	\
-							"LDR	r0, =pxISRFunction					\t\n"	\
-							"LDR	r1, =vCMT_1_Channel_1_ISR			\t\n"	\
-							"STR	r1, [r0]							\t\n"	\
-							"POP	{r0-r1}								\t\n"	\
+		__asm volatile (
+							"PUSH	{r0-r1}								\t\n"
+							"LDR	r0, =pxISRFunction					\t\n"
+							"LDR	r1, =vCMT_1_Channel_1_ISR			\t\n"
+							"STR	r1, [r0]							\t\n"
+							"POP	{r0-r1}								\t\n"
 							"B		FreeRTOS_IRQ_Handler					"
 						);
 	}
diff --git a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR/src/cg_src/r_cg_scifa_user.c b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR/src/cg_src/r_cg_scifa_user.c
index adde4d6..cd3e2be 100644
--- a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR/src/cg_src/r_cg_scifa_user.c
+++ b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR/src/cg_src/r_cg_scifa_user.c
@@ -375,7 +375,7 @@
 	( void ) pxPort;
 
 	/* Don't send the string unless the previous string has been sent. */
-	if( xSendingTask == NULL )
+	if( ( xSendingTask == NULL ) && ( usStringLength > 0 ) )
 	{
 		/* Ensure the calling task's notification state is not already
 		pending. */
@@ -433,12 +433,12 @@
 	$PROJ_DIR$/System/IAR/Interrupt_Entry_Stubs.asm */
 	void r_scifa2_txif2_interrupt_entry( void )
 	{
-		__asm volatile (													 	\
-							"PUSH	{r0-r1}								\t\n"	\
-							"LDR	r0, =pxISRFunction					\t\n"	\
-							"LDR	r1, =r_scifa2_txif2_interrupt		\t\n"	\
-							"STR	r1, [r0]							\t\n"	\
-							"POP	{r0-r1}								\t\n"	\
+		__asm volatile (
+							"PUSH	{r0-r1}								\t\n"
+							"LDR	r0, =pxISRFunction					\t\n"
+							"LDR	r1, =r_scifa2_txif2_interrupt		\t\n"
+							"STR	r1, [r0]							\t\n"
+							"POP	{r0-r1}								\t\n"
 							"B		FreeRTOS_IRQ_Handler					"
 						);
 	}
@@ -450,12 +450,12 @@
 	$PROJ_DIR$/System/IAR/Interrupt_Entry_Stubs.asm */
 	void r_scifa2_rxif2_interrupt_entry( void )
 	{
-		__asm volatile (													 	\
-							"PUSH	{r0-r1}								\t\n"	\
-							"LDR	r0, =pxISRFunction					\t\n"	\
-							"LDR	r1, =r_scifa2_rxif2_interrupt		\t\n"	\
-							"STR	r1, [r0]							\t\n"	\
-							"POP	{r0-r1}								\t\n"	\
+		__asm volatile (
+							"PUSH	{r0-r1}								\t\n"
+							"LDR	r0, =pxISRFunction					\t\n"
+							"LDR	r1, =r_scifa2_rxif2_interrupt		\t\n"
+							"STR	r1, [r0]							\t\n"
+							"POP	{r0-r1}								\t\n"
 							"B		FreeRTOS_IRQ_Handler					"
 						);
 	}
@@ -467,12 +467,12 @@
 	$PROJ_DIR$/System/IAR/Interrupt_Entry_Stubs.asm */
 	void r_scifa2_drif2_interrupt_entry( void )
 	{
-		__asm volatile (													 	\
-							"PUSH	{r0-r1}								\t\n"	\
-							"LDR	r0, =pxISRFunction					\t\n"	\
-							"LDR	r1, =r_scifa2_drif2_interrupt		\t\n"	\
-							"STR	r1, [r0]							\t\n"	\
-							"POP	{r0-r1}								\t\n"	\
+		__asm volatile (
+							"PUSH	{r0-r1}								\t\n"
+							"LDR	r0, =pxISRFunction					\t\n"
+							"LDR	r1, =r_scifa2_drif2_interrupt		\t\n"
+							"STR	r1, [r0]							\t\n"
+							"POP	{r0-r1}								\t\n"
 							"B		FreeRTOS_IRQ_Handler					"
 						);
 	}
@@ -484,12 +484,12 @@
 	$PROJ_DIR$/System/IAR/Interrupt_Entry_Stubs.asm */
 	void r_scifa2_brif2_interrupt_entry( void )
 	{
-		__asm volatile (													 	\
-							"PUSH	{r0-r1}								\t\n"	\
-							"LDR	r0, =pxISRFunction					\t\n"	\
-							"LDR	r1, =r_scifa2_brif2_interrupt		\t\n"	\
-							"STR	r1, [r0]							\t\n"	\
-							"POP	{r0-r1}								\t\n"	\
+		__asm volatile (
+							"PUSH	{r0-r1}								\t\n"
+							"LDR	r0, =pxISRFunction					\t\n"
+							"LDR	r1, =r_scifa2_brif2_interrupt		\t\n"
+							"STR	r1, [r0]							\t\n"
+							"POP	{r0-r1}								\t\n"
 							"B		FreeRTOS_IRQ_Handler					"
 						);
 	}
diff --git a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR/src/main.c b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR/src/main.c
index 9200638..fe8491a 100644
--- a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR/src/main.c
+++ b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR/src/main.c
@@ -83,6 +83,8 @@
  * THE http://www.FreeRTOS.org WEB SITE FOR FULL INFORMATION ON USING THIS DEMO
  * APPLICATION, AND ITS ASSOCIATE FreeRTOS ARCHITECTURE PORT!
  *
+ * http://www.freertos.org/Renesas_RZ-T_Cortex-R4F-RTOS.html
+ *
  */
 
 /* Standard includes. */
@@ -136,6 +138,7 @@
 
 /*-----------------------------------------------------------*/
 
+/* See http://www.freertos.org/Renesas_RZ-T_Cortex-R4F-RTOS.html */
 int main( void )
 {
 	/* The start up code does not include a routine to clear the BSS segment to
diff --git a/FreeRTOS/Demo/MSP430X_MSP430FR5969_LaunchPad_IAR_CCS/.settings/org.eclipse.core.resources.prefs b/FreeRTOS/Demo/MSP430X_MSP430FR5969_LaunchPad_IAR_CCS/.settings/org.eclipse.core.resources.prefs
index a3e220f..a9e5b95 100644
--- a/FreeRTOS/Demo/MSP430X_MSP430FR5969_LaunchPad_IAR_CCS/.settings/org.eclipse.core.resources.prefs
+++ b/FreeRTOS/Demo/MSP430X_MSP430FR5969_LaunchPad_IAR_CCS/.settings/org.eclipse.core.resources.prefs
@@ -22,3 +22,49 @@
 encoding//Debug/sources.mk=UTF-8
 encoding//Debug/subdir_rules.mk=UTF-8
 encoding//Debug/subdir_vars.mk=UTF-8
+encoding//Large_Data/Blinky_Demo/subdir_rules.mk=UTF-8
+encoding//Large_Data/Blinky_Demo/subdir_vars.mk=UTF-8
+encoding//Large_Data/CCS_Only/subdir_rules.mk=UTF-8
+encoding//Large_Data/CCS_Only/subdir_vars.mk=UTF-8
+encoding//Large_Data/FreeRTOS_Source/portable/CCS/MSP430X/subdir_rules.mk=UTF-8
+encoding//Large_Data/FreeRTOS_Source/portable/CCS/MSP430X/subdir_vars.mk=UTF-8
+encoding//Large_Data/FreeRTOS_Source/portable/MemMang/subdir_rules.mk=UTF-8
+encoding//Large_Data/FreeRTOS_Source/portable/MemMang/subdir_vars.mk=UTF-8
+encoding//Large_Data/FreeRTOS_Source/subdir_rules.mk=UTF-8
+encoding//Large_Data/FreeRTOS_Source/subdir_vars.mk=UTF-8
+encoding//Large_Data/Full_Demo/FreeRTOS+CLI/subdir_rules.mk=UTF-8
+encoding//Large_Data/Full_Demo/FreeRTOS+CLI/subdir_vars.mk=UTF-8
+encoding//Large_Data/Full_Demo/Standard_Demo_Tasks/subdir_rules.mk=UTF-8
+encoding//Large_Data/Full_Demo/Standard_Demo_Tasks/subdir_vars.mk=UTF-8
+encoding//Large_Data/Full_Demo/subdir_rules.mk=UTF-8
+encoding//Large_Data/Full_Demo/subdir_vars.mk=UTF-8
+encoding//Large_Data/driverlib/MSP430FR5xx_6xx/subdir_rules.mk=UTF-8
+encoding//Large_Data/driverlib/MSP430FR5xx_6xx/subdir_vars.mk=UTF-8
+encoding//Large_Data/makefile=UTF-8
+encoding//Large_Data/objects.mk=UTF-8
+encoding//Large_Data/sources.mk=UTF-8
+encoding//Large_Data/subdir_rules.mk=UTF-8
+encoding//Large_Data/subdir_vars.mk=UTF-8
+encoding//Small_Data/Blinky_Demo/subdir_rules.mk=UTF-8
+encoding//Small_Data/Blinky_Demo/subdir_vars.mk=UTF-8
+encoding//Small_Data/CCS_Only/subdir_rules.mk=UTF-8
+encoding//Small_Data/CCS_Only/subdir_vars.mk=UTF-8
+encoding//Small_Data/FreeRTOS_Source/portable/CCS/MSP430X/subdir_rules.mk=UTF-8
+encoding//Small_Data/FreeRTOS_Source/portable/CCS/MSP430X/subdir_vars.mk=UTF-8
+encoding//Small_Data/FreeRTOS_Source/portable/MemMang/subdir_rules.mk=UTF-8
+encoding//Small_Data/FreeRTOS_Source/portable/MemMang/subdir_vars.mk=UTF-8
+encoding//Small_Data/FreeRTOS_Source/subdir_rules.mk=UTF-8
+encoding//Small_Data/FreeRTOS_Source/subdir_vars.mk=UTF-8
+encoding//Small_Data/Full_Demo/FreeRTOS+CLI/subdir_rules.mk=UTF-8
+encoding//Small_Data/Full_Demo/FreeRTOS+CLI/subdir_vars.mk=UTF-8
+encoding//Small_Data/Full_Demo/Standard_Demo_Tasks/subdir_rules.mk=UTF-8
+encoding//Small_Data/Full_Demo/Standard_Demo_Tasks/subdir_vars.mk=UTF-8
+encoding//Small_Data/Full_Demo/subdir_rules.mk=UTF-8
+encoding//Small_Data/Full_Demo/subdir_vars.mk=UTF-8
+encoding//Small_Data/driverlib/MSP430FR5xx_6xx/subdir_rules.mk=UTF-8
+encoding//Small_Data/driverlib/MSP430FR5xx_6xx/subdir_vars.mk=UTF-8
+encoding//Small_Data/makefile=UTF-8
+encoding//Small_Data/objects.mk=UTF-8
+encoding//Small_Data/sources.mk=UTF-8
+encoding//Small_Data/subdir_rules.mk=UTF-8
+encoding//Small_Data/subdir_vars.mk=UTF-8
diff --git a/FreeRTOS/Demo/MSP430X_MSP430FR5969_LaunchPad_IAR_CCS/FreeRTOSConfig.h b/FreeRTOS/Demo/MSP430X_MSP430FR5969_LaunchPad_IAR_CCS/FreeRTOSConfig.h
index 2fedcc4..795cfd6 100644
--- a/FreeRTOS/Demo/MSP430X_MSP430FR5969_LaunchPad_IAR_CCS/FreeRTOSConfig.h
+++ b/FreeRTOS/Demo/MSP430X_MSP430FR5969_LaunchPad_IAR_CCS/FreeRTOSConfig.h
@@ -198,7 +198,7 @@
 #else
 	/* Using the CCS pre-processor constants. */
 	#ifdef __LARGE_DATA_MODEL__
-		#define configMINIMAL_STACK_SIZE		( ( unsigned short ) 80 )
+		#define configMINIMAL_STACK_SIZE		( ( unsigned short ) 85 )
 	#else
 		#define configMINIMAL_STACK_SIZE		( ( unsigned short ) 140 )
 	#endif
diff --git a/FreeRTOS/Demo/PIC24_MPLAB/FreeRTOSConfig.h b/FreeRTOS/Demo/PIC24_MPLAB/FreeRTOSConfig.h
index b67f777..c210f77 100644
--- a/FreeRTOS/Demo/PIC24_MPLAB/FreeRTOSConfig.h
+++ b/FreeRTOS/Demo/PIC24_MPLAB/FreeRTOSConfig.h
@@ -96,6 +96,7 @@
 #define configUSE_TRACE_FACILITY		0
 #define configUSE_16_BIT_TICKS			1
 #define configIDLE_SHOULD_YIELD			1
+#define configCHECK_FOR_STACK_OVERFLOW  2
 
 /* Co-routine definitions. */
 #define configUSE_CO_ROUTINES 		1
diff --git a/FreeRTOS/Demo/PIC24_MPLAB/main.c b/FreeRTOS/Demo/PIC24_MPLAB/main.c
index 8fdd1c8..faf9cd5 100644
--- a/FreeRTOS/Demo/PIC24_MPLAB/main.c
+++ b/FreeRTOS/Demo/PIC24_MPLAB/main.c
@@ -165,6 +165,10 @@
  */
 static void prvSetupHardware( void );
 
+/* Prototypes for the standard FreeRTOS callback/hook functions implemented
+within this file. */
+void vApplicationStackOverflowHook( TaskHandle_t pxTask, char *pcTaskName );
+
 /*-----------------------------------------------------------*/
 
 /* The queue used to send messages to the LCD task. */
@@ -290,3 +294,15 @@
 }
 /*-----------------------------------------------------------*/
 
+void vApplicationStackOverflowHook( TaskHandle_t pxTask, char *pcTaskName )
+{
+	( void ) pcTaskName;
+	( void ) pxTask;
+
+	/* Run time stack overflow checking is performed if
+	configCHECK_FOR_STACK_OVERFLOW is defined to 1 or 2.  This hook
+	function is called if a stack overflow is detected. */
+	taskDISABLE_INTERRUPTS();
+	for( ;; );
+}
+
diff --git a/FreeRTOS/Demo/PIC24_MPLAB/nbproject/Makefile-default.mk b/FreeRTOS/Demo/PIC24_MPLAB/nbproject/Makefile-default.mk
index 9dd5632..60fba52 100644
--- a/FreeRTOS/Demo/PIC24_MPLAB/nbproject/Makefile-default.mk
+++ b/FreeRTOS/Demo/PIC24_MPLAB/nbproject/Makefile-default.mk
@@ -44,6 +44,9 @@
 # Distribution Directory
 DISTDIR=dist/${CND_CONF}/${IMAGE_TYPE}
 
+# Source Files Quoted if spaced
+SOURCEFILES_QUOTED_IF_SPACED=../../Source/portable/MemMang/heap_1.c ../../Source/portable/MPLAB/PIC24_dsPIC/port.c ../../Source/portable/MPLAB/PIC24_dsPIC/portasm_PIC24.S ../../Source/list.c ../../Source/queue.c ../../Source/tasks.c ../../Source/timers.c ../../Source/croutine.c ../Common/Minimal/BlockQ.c ../Common/Minimal/blocktim.c ../Common/Minimal/comtest.c ../Common/Minimal/crflash.c ../Common/Minimal/integer.c timertest.c lcd.c main.c serial/serial.c ParTest/ParTest.c
+
 # Object Files Quoted if spaced
 OBJECTFILES_QUOTED_IF_SPACED=${OBJECTDIR}/_ext/897580706/heap_1.o ${OBJECTDIR}/_ext/410575107/port.o ${OBJECTDIR}/_ext/410575107/portasm_PIC24.o ${OBJECTDIR}/_ext/1787047461/list.o ${OBJECTDIR}/_ext/1787047461/queue.o ${OBJECTDIR}/_ext/1787047461/tasks.o ${OBJECTDIR}/_ext/1787047461/timers.o ${OBJECTDIR}/_ext/1787047461/croutine.o ${OBJECTDIR}/_ext/270959020/BlockQ.o ${OBJECTDIR}/_ext/270959020/blocktim.o ${OBJECTDIR}/_ext/270959020/comtest.o ${OBJECTDIR}/_ext/270959020/crflash.o ${OBJECTDIR}/_ext/270959020/integer.o ${OBJECTDIR}/timertest.o ${OBJECTDIR}/lcd.o ${OBJECTDIR}/main.o ${OBJECTDIR}/serial/serial.o ${OBJECTDIR}/ParTest/ParTest.o
 POSSIBLE_DEPFILES=${OBJECTDIR}/_ext/897580706/heap_1.o.d ${OBJECTDIR}/_ext/410575107/port.o.d ${OBJECTDIR}/_ext/410575107/portasm_PIC24.o.d ${OBJECTDIR}/_ext/1787047461/list.o.d ${OBJECTDIR}/_ext/1787047461/queue.o.d ${OBJECTDIR}/_ext/1787047461/tasks.o.d ${OBJECTDIR}/_ext/1787047461/timers.o.d ${OBJECTDIR}/_ext/1787047461/croutine.o.d ${OBJECTDIR}/_ext/270959020/BlockQ.o.d ${OBJECTDIR}/_ext/270959020/blocktim.o.d ${OBJECTDIR}/_ext/270959020/comtest.o.d ${OBJECTDIR}/_ext/270959020/crflash.o.d ${OBJECTDIR}/_ext/270959020/integer.o.d ${OBJECTDIR}/timertest.o.d ${OBJECTDIR}/lcd.o.d ${OBJECTDIR}/main.o.d ${OBJECTDIR}/serial/serial.o.d ${OBJECTDIR}/ParTest/ParTest.o.d
@@ -51,6 +54,9 @@
 # Object Files
 OBJECTFILES=${OBJECTDIR}/_ext/897580706/heap_1.o ${OBJECTDIR}/_ext/410575107/port.o ${OBJECTDIR}/_ext/410575107/portasm_PIC24.o ${OBJECTDIR}/_ext/1787047461/list.o ${OBJECTDIR}/_ext/1787047461/queue.o ${OBJECTDIR}/_ext/1787047461/tasks.o ${OBJECTDIR}/_ext/1787047461/timers.o ${OBJECTDIR}/_ext/1787047461/croutine.o ${OBJECTDIR}/_ext/270959020/BlockQ.o ${OBJECTDIR}/_ext/270959020/blocktim.o ${OBJECTDIR}/_ext/270959020/comtest.o ${OBJECTDIR}/_ext/270959020/crflash.o ${OBJECTDIR}/_ext/270959020/integer.o ${OBJECTDIR}/timertest.o ${OBJECTDIR}/lcd.o ${OBJECTDIR}/main.o ${OBJECTDIR}/serial/serial.o ${OBJECTDIR}/ParTest/ParTest.o
 
+# Source Files
+SOURCEFILES=../../Source/portable/MemMang/heap_1.c ../../Source/portable/MPLAB/PIC24_dsPIC/port.c ../../Source/portable/MPLAB/PIC24_dsPIC/portasm_PIC24.S ../../Source/list.c ../../Source/queue.c ../../Source/tasks.c ../../Source/timers.c ../../Source/croutine.c ../Common/Minimal/BlockQ.c ../Common/Minimal/blocktim.c ../Common/Minimal/comtest.c ../Common/Minimal/crflash.c ../Common/Minimal/integer.c timertest.c lcd.c main.c serial/serial.c ParTest/ParTest.c
+
 
 CFLAGS=
 ASFLAGS=
@@ -66,7 +72,10 @@
 FIXDEPS=fixDeps
 
 .build-conf:  ${BUILD_SUBPROJECTS}
-	${MAKE} ${MAKE_OPTIONS} -f nbproject/Makefile-default.mk dist/${CND_CONF}/${IMAGE_TYPE}/PIC24_MPLAB.${IMAGE_TYPE}.${OUTPUT_SUFFIX}
+ifneq ($(INFORMATION_MESSAGE), )
+	@echo $(INFORMATION_MESSAGE)
+endif
+	${MAKE}  -f nbproject/Makefile-default.mk dist/${CND_CONF}/${IMAGE_TYPE}/PIC24_MPLAB.${IMAGE_TYPE}.${OUTPUT_SUFFIX}
 
 MP_PROCESSOR_OPTION=24FJ128GA010
 MP_LINKER_FILE_OPTION=,--script=p24FJ128GA010.gld
@@ -74,208 +83,242 @@
 # Rules for buildStep: compile
 ifeq ($(TYPE_IMAGE), DEBUG_RUN)
 ${OBJECTDIR}/_ext/897580706/heap_1.o: ../../Source/portable/MemMang/heap_1.c  nbproject/Makefile-${CND_CONF}.mk
-	@${MKDIR} ${OBJECTDIR}/_ext/897580706 
+	@${MKDIR} "${OBJECTDIR}/_ext/897580706" 
 	@${RM} ${OBJECTDIR}/_ext/897580706/heap_1.o.d 
-	${MP_CC} $(MP_EXTRA_CC_PRE)  ../../Source/portable/MemMang/heap_1.c  -o ${OBJECTDIR}/_ext/897580706/heap_1.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF "${OBJECTDIR}/_ext/897580706/heap_1.o.d"      -g -D__DEBUG -D__MPLAB_DEBUGGER_ICD3=1  -omf=elf -ffunction-sections -fdata-sections -O0 -msmart-io=1 -Wall -msfr-warn=off -I ../../Source/include -I ../../Source/portable/MPLAB/PIC24_dsPIC -I ../Common/include -I . -Wextra
+	@${RM} ${OBJECTDIR}/_ext/897580706/heap_1.o 
+	${MP_CC} $(MP_EXTRA_CC_PRE)  ../../Source/portable/MemMang/heap_1.c  -o ${OBJECTDIR}/_ext/897580706/heap_1.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF "${OBJECTDIR}/_ext/897580706/heap_1.o.d"      -g -D__DEBUG -D__MPLAB_DEBUGGER_SIMULATOR=1    -omf=elf -ffunction-sections -fdata-sections -O0 -msmart-io=1 -Wall -msfr-warn=off -I ../../Source/include -I ../../Source/portable/MPLAB/PIC24_dsPIC -I ../Common/include -I . -Wextra
 	@${FIXDEPS} "${OBJECTDIR}/_ext/897580706/heap_1.o.d" $(SILENT)  -rsi ${MP_CC_DIR}../ 
 	
 ${OBJECTDIR}/_ext/410575107/port.o: ../../Source/portable/MPLAB/PIC24_dsPIC/port.c  nbproject/Makefile-${CND_CONF}.mk
-	@${MKDIR} ${OBJECTDIR}/_ext/410575107 
+	@${MKDIR} "${OBJECTDIR}/_ext/410575107" 
 	@${RM} ${OBJECTDIR}/_ext/410575107/port.o.d 
-	${MP_CC} $(MP_EXTRA_CC_PRE)  ../../Source/portable/MPLAB/PIC24_dsPIC/port.c  -o ${OBJECTDIR}/_ext/410575107/port.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF "${OBJECTDIR}/_ext/410575107/port.o.d"      -g -D__DEBUG -D__MPLAB_DEBUGGER_ICD3=1  -omf=elf -ffunction-sections -fdata-sections -O0 -msmart-io=1 -Wall -msfr-warn=off -I ../../Source/include -I ../../Source/portable/MPLAB/PIC24_dsPIC -I ../Common/include -I . -Wextra
+	@${RM} ${OBJECTDIR}/_ext/410575107/port.o 
+	${MP_CC} $(MP_EXTRA_CC_PRE)  ../../Source/portable/MPLAB/PIC24_dsPIC/port.c  -o ${OBJECTDIR}/_ext/410575107/port.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF "${OBJECTDIR}/_ext/410575107/port.o.d"      -g -D__DEBUG -D__MPLAB_DEBUGGER_SIMULATOR=1    -omf=elf -ffunction-sections -fdata-sections -O0 -msmart-io=1 -Wall -msfr-warn=off -I ../../Source/include -I ../../Source/portable/MPLAB/PIC24_dsPIC -I ../Common/include -I . -Wextra
 	@${FIXDEPS} "${OBJECTDIR}/_ext/410575107/port.o.d" $(SILENT)  -rsi ${MP_CC_DIR}../ 
 	
 ${OBJECTDIR}/_ext/1787047461/list.o: ../../Source/list.c  nbproject/Makefile-${CND_CONF}.mk
-	@${MKDIR} ${OBJECTDIR}/_ext/1787047461 
+	@${MKDIR} "${OBJECTDIR}/_ext/1787047461" 
 	@${RM} ${OBJECTDIR}/_ext/1787047461/list.o.d 
-	${MP_CC} $(MP_EXTRA_CC_PRE)  ../../Source/list.c  -o ${OBJECTDIR}/_ext/1787047461/list.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF "${OBJECTDIR}/_ext/1787047461/list.o.d"      -g -D__DEBUG -D__MPLAB_DEBUGGER_ICD3=1  -omf=elf -ffunction-sections -fdata-sections -O0 -msmart-io=1 -Wall -msfr-warn=off -I ../../Source/include -I ../../Source/portable/MPLAB/PIC24_dsPIC -I ../Common/include -I . -Wextra
+	@${RM} ${OBJECTDIR}/_ext/1787047461/list.o 
+	${MP_CC} $(MP_EXTRA_CC_PRE)  ../../Source/list.c  -o ${OBJECTDIR}/_ext/1787047461/list.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF "${OBJECTDIR}/_ext/1787047461/list.o.d"      -g -D__DEBUG -D__MPLAB_DEBUGGER_SIMULATOR=1    -omf=elf -ffunction-sections -fdata-sections -O0 -msmart-io=1 -Wall -msfr-warn=off -I ../../Source/include -I ../../Source/portable/MPLAB/PIC24_dsPIC -I ../Common/include -I . -Wextra
 	@${FIXDEPS} "${OBJECTDIR}/_ext/1787047461/list.o.d" $(SILENT)  -rsi ${MP_CC_DIR}../ 
 	
 ${OBJECTDIR}/_ext/1787047461/queue.o: ../../Source/queue.c  nbproject/Makefile-${CND_CONF}.mk
-	@${MKDIR} ${OBJECTDIR}/_ext/1787047461 
+	@${MKDIR} "${OBJECTDIR}/_ext/1787047461" 
 	@${RM} ${OBJECTDIR}/_ext/1787047461/queue.o.d 
-	${MP_CC} $(MP_EXTRA_CC_PRE)  ../../Source/queue.c  -o ${OBJECTDIR}/_ext/1787047461/queue.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF "${OBJECTDIR}/_ext/1787047461/queue.o.d"      -g -D__DEBUG -D__MPLAB_DEBUGGER_ICD3=1  -omf=elf -ffunction-sections -fdata-sections -O0 -msmart-io=1 -Wall -msfr-warn=off -I ../../Source/include -I ../../Source/portable/MPLAB/PIC24_dsPIC -I ../Common/include -I . -Wextra
+	@${RM} ${OBJECTDIR}/_ext/1787047461/queue.o 
+	${MP_CC} $(MP_EXTRA_CC_PRE)  ../../Source/queue.c  -o ${OBJECTDIR}/_ext/1787047461/queue.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF "${OBJECTDIR}/_ext/1787047461/queue.o.d"      -g -D__DEBUG -D__MPLAB_DEBUGGER_SIMULATOR=1    -omf=elf -ffunction-sections -fdata-sections -O0 -msmart-io=1 -Wall -msfr-warn=off -I ../../Source/include -I ../../Source/portable/MPLAB/PIC24_dsPIC -I ../Common/include -I . -Wextra
 	@${FIXDEPS} "${OBJECTDIR}/_ext/1787047461/queue.o.d" $(SILENT)  -rsi ${MP_CC_DIR}../ 
 	
 ${OBJECTDIR}/_ext/1787047461/tasks.o: ../../Source/tasks.c  nbproject/Makefile-${CND_CONF}.mk
-	@${MKDIR} ${OBJECTDIR}/_ext/1787047461 
+	@${MKDIR} "${OBJECTDIR}/_ext/1787047461" 
 	@${RM} ${OBJECTDIR}/_ext/1787047461/tasks.o.d 
-	${MP_CC} $(MP_EXTRA_CC_PRE)  ../../Source/tasks.c  -o ${OBJECTDIR}/_ext/1787047461/tasks.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF "${OBJECTDIR}/_ext/1787047461/tasks.o.d"      -g -D__DEBUG -D__MPLAB_DEBUGGER_ICD3=1  -omf=elf -ffunction-sections -fdata-sections -O0 -msmart-io=1 -Wall -msfr-warn=off -I ../../Source/include -I ../../Source/portable/MPLAB/PIC24_dsPIC -I ../Common/include -I . -Wextra
+	@${RM} ${OBJECTDIR}/_ext/1787047461/tasks.o 
+	${MP_CC} $(MP_EXTRA_CC_PRE)  ../../Source/tasks.c  -o ${OBJECTDIR}/_ext/1787047461/tasks.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF "${OBJECTDIR}/_ext/1787047461/tasks.o.d"      -g -D__DEBUG -D__MPLAB_DEBUGGER_SIMULATOR=1    -omf=elf -ffunction-sections -fdata-sections -O0 -msmart-io=1 -Wall -msfr-warn=off -I ../../Source/include -I ../../Source/portable/MPLAB/PIC24_dsPIC -I ../Common/include -I . -Wextra
 	@${FIXDEPS} "${OBJECTDIR}/_ext/1787047461/tasks.o.d" $(SILENT)  -rsi ${MP_CC_DIR}../ 
 	
 ${OBJECTDIR}/_ext/1787047461/timers.o: ../../Source/timers.c  nbproject/Makefile-${CND_CONF}.mk
-	@${MKDIR} ${OBJECTDIR}/_ext/1787047461 
+	@${MKDIR} "${OBJECTDIR}/_ext/1787047461" 
 	@${RM} ${OBJECTDIR}/_ext/1787047461/timers.o.d 
-	${MP_CC} $(MP_EXTRA_CC_PRE)  ../../Source/timers.c  -o ${OBJECTDIR}/_ext/1787047461/timers.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF "${OBJECTDIR}/_ext/1787047461/timers.o.d"      -g -D__DEBUG -D__MPLAB_DEBUGGER_ICD3=1  -omf=elf -ffunction-sections -fdata-sections -O0 -msmart-io=1 -Wall -msfr-warn=off -I ../../Source/include -I ../../Source/portable/MPLAB/PIC24_dsPIC -I ../Common/include -I . -Wextra
+	@${RM} ${OBJECTDIR}/_ext/1787047461/timers.o 
+	${MP_CC} $(MP_EXTRA_CC_PRE)  ../../Source/timers.c  -o ${OBJECTDIR}/_ext/1787047461/timers.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF "${OBJECTDIR}/_ext/1787047461/timers.o.d"      -g -D__DEBUG -D__MPLAB_DEBUGGER_SIMULATOR=1    -omf=elf -ffunction-sections -fdata-sections -O0 -msmart-io=1 -Wall -msfr-warn=off -I ../../Source/include -I ../../Source/portable/MPLAB/PIC24_dsPIC -I ../Common/include -I . -Wextra
 	@${FIXDEPS} "${OBJECTDIR}/_ext/1787047461/timers.o.d" $(SILENT)  -rsi ${MP_CC_DIR}../ 
 	
 ${OBJECTDIR}/_ext/1787047461/croutine.o: ../../Source/croutine.c  nbproject/Makefile-${CND_CONF}.mk
-	@${MKDIR} ${OBJECTDIR}/_ext/1787047461 
+	@${MKDIR} "${OBJECTDIR}/_ext/1787047461" 
 	@${RM} ${OBJECTDIR}/_ext/1787047461/croutine.o.d 
-	${MP_CC} $(MP_EXTRA_CC_PRE)  ../../Source/croutine.c  -o ${OBJECTDIR}/_ext/1787047461/croutine.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF "${OBJECTDIR}/_ext/1787047461/croutine.o.d"      -g -D__DEBUG -D__MPLAB_DEBUGGER_ICD3=1  -omf=elf -ffunction-sections -fdata-sections -O0 -msmart-io=1 -Wall -msfr-warn=off -I ../../Source/include -I ../../Source/portable/MPLAB/PIC24_dsPIC -I ../Common/include -I . -Wextra
+	@${RM} ${OBJECTDIR}/_ext/1787047461/croutine.o 
+	${MP_CC} $(MP_EXTRA_CC_PRE)  ../../Source/croutine.c  -o ${OBJECTDIR}/_ext/1787047461/croutine.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF "${OBJECTDIR}/_ext/1787047461/croutine.o.d"      -g -D__DEBUG -D__MPLAB_DEBUGGER_SIMULATOR=1    -omf=elf -ffunction-sections -fdata-sections -O0 -msmart-io=1 -Wall -msfr-warn=off -I ../../Source/include -I ../../Source/portable/MPLAB/PIC24_dsPIC -I ../Common/include -I . -Wextra
 	@${FIXDEPS} "${OBJECTDIR}/_ext/1787047461/croutine.o.d" $(SILENT)  -rsi ${MP_CC_DIR}../ 
 	
 ${OBJECTDIR}/_ext/270959020/BlockQ.o: ../Common/Minimal/BlockQ.c  nbproject/Makefile-${CND_CONF}.mk
-	@${MKDIR} ${OBJECTDIR}/_ext/270959020 
+	@${MKDIR} "${OBJECTDIR}/_ext/270959020" 
 	@${RM} ${OBJECTDIR}/_ext/270959020/BlockQ.o.d 
-	${MP_CC} $(MP_EXTRA_CC_PRE)  ../Common/Minimal/BlockQ.c  -o ${OBJECTDIR}/_ext/270959020/BlockQ.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF "${OBJECTDIR}/_ext/270959020/BlockQ.o.d"      -g -D__DEBUG -D__MPLAB_DEBUGGER_ICD3=1  -omf=elf -ffunction-sections -fdata-sections -O0 -msmart-io=1 -Wall -msfr-warn=off -I ../../Source/include -I ../../Source/portable/MPLAB/PIC24_dsPIC -I ../Common/include -I . -Wextra
+	@${RM} ${OBJECTDIR}/_ext/270959020/BlockQ.o 
+	${MP_CC} $(MP_EXTRA_CC_PRE)  ../Common/Minimal/BlockQ.c  -o ${OBJECTDIR}/_ext/270959020/BlockQ.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF "${OBJECTDIR}/_ext/270959020/BlockQ.o.d"      -g -D__DEBUG -D__MPLAB_DEBUGGER_SIMULATOR=1    -omf=elf -ffunction-sections -fdata-sections -O0 -msmart-io=1 -Wall -msfr-warn=off -I ../../Source/include -I ../../Source/portable/MPLAB/PIC24_dsPIC -I ../Common/include -I . -Wextra
 	@${FIXDEPS} "${OBJECTDIR}/_ext/270959020/BlockQ.o.d" $(SILENT)  -rsi ${MP_CC_DIR}../ 
 	
 ${OBJECTDIR}/_ext/270959020/blocktim.o: ../Common/Minimal/blocktim.c  nbproject/Makefile-${CND_CONF}.mk
-	@${MKDIR} ${OBJECTDIR}/_ext/270959020 
+	@${MKDIR} "${OBJECTDIR}/_ext/270959020" 
 	@${RM} ${OBJECTDIR}/_ext/270959020/blocktim.o.d 
-	${MP_CC} $(MP_EXTRA_CC_PRE)  ../Common/Minimal/blocktim.c  -o ${OBJECTDIR}/_ext/270959020/blocktim.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF "${OBJECTDIR}/_ext/270959020/blocktim.o.d"      -g -D__DEBUG -D__MPLAB_DEBUGGER_ICD3=1  -omf=elf -ffunction-sections -fdata-sections -O0 -msmart-io=1 -Wall -msfr-warn=off -I ../../Source/include -I ../../Source/portable/MPLAB/PIC24_dsPIC -I ../Common/include -I . -Wextra
+	@${RM} ${OBJECTDIR}/_ext/270959020/blocktim.o 
+	${MP_CC} $(MP_EXTRA_CC_PRE)  ../Common/Minimal/blocktim.c  -o ${OBJECTDIR}/_ext/270959020/blocktim.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF "${OBJECTDIR}/_ext/270959020/blocktim.o.d"      -g -D__DEBUG -D__MPLAB_DEBUGGER_SIMULATOR=1    -omf=elf -ffunction-sections -fdata-sections -O0 -msmart-io=1 -Wall -msfr-warn=off -I ../../Source/include -I ../../Source/portable/MPLAB/PIC24_dsPIC -I ../Common/include -I . -Wextra
 	@${FIXDEPS} "${OBJECTDIR}/_ext/270959020/blocktim.o.d" $(SILENT)  -rsi ${MP_CC_DIR}../ 
 	
 ${OBJECTDIR}/_ext/270959020/comtest.o: ../Common/Minimal/comtest.c  nbproject/Makefile-${CND_CONF}.mk
-	@${MKDIR} ${OBJECTDIR}/_ext/270959020 
+	@${MKDIR} "${OBJECTDIR}/_ext/270959020" 
 	@${RM} ${OBJECTDIR}/_ext/270959020/comtest.o.d 
-	${MP_CC} $(MP_EXTRA_CC_PRE)  ../Common/Minimal/comtest.c  -o ${OBJECTDIR}/_ext/270959020/comtest.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF "${OBJECTDIR}/_ext/270959020/comtest.o.d"      -g -D__DEBUG -D__MPLAB_DEBUGGER_ICD3=1  -omf=elf -ffunction-sections -fdata-sections -O0 -msmart-io=1 -Wall -msfr-warn=off -I ../../Source/include -I ../../Source/portable/MPLAB/PIC24_dsPIC -I ../Common/include -I . -Wextra
+	@${RM} ${OBJECTDIR}/_ext/270959020/comtest.o 
+	${MP_CC} $(MP_EXTRA_CC_PRE)  ../Common/Minimal/comtest.c  -o ${OBJECTDIR}/_ext/270959020/comtest.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF "${OBJECTDIR}/_ext/270959020/comtest.o.d"      -g -D__DEBUG -D__MPLAB_DEBUGGER_SIMULATOR=1    -omf=elf -ffunction-sections -fdata-sections -O0 -msmart-io=1 -Wall -msfr-warn=off -I ../../Source/include -I ../../Source/portable/MPLAB/PIC24_dsPIC -I ../Common/include -I . -Wextra
 	@${FIXDEPS} "${OBJECTDIR}/_ext/270959020/comtest.o.d" $(SILENT)  -rsi ${MP_CC_DIR}../ 
 	
 ${OBJECTDIR}/_ext/270959020/crflash.o: ../Common/Minimal/crflash.c  nbproject/Makefile-${CND_CONF}.mk
-	@${MKDIR} ${OBJECTDIR}/_ext/270959020 
+	@${MKDIR} "${OBJECTDIR}/_ext/270959020" 
 	@${RM} ${OBJECTDIR}/_ext/270959020/crflash.o.d 
-	${MP_CC} $(MP_EXTRA_CC_PRE)  ../Common/Minimal/crflash.c  -o ${OBJECTDIR}/_ext/270959020/crflash.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF "${OBJECTDIR}/_ext/270959020/crflash.o.d"      -g -D__DEBUG -D__MPLAB_DEBUGGER_ICD3=1  -omf=elf -ffunction-sections -fdata-sections -O0 -msmart-io=1 -Wall -msfr-warn=off -I ../../Source/include -I ../../Source/portable/MPLAB/PIC24_dsPIC -I ../Common/include -I . -Wextra
+	@${RM} ${OBJECTDIR}/_ext/270959020/crflash.o 
+	${MP_CC} $(MP_EXTRA_CC_PRE)  ../Common/Minimal/crflash.c  -o ${OBJECTDIR}/_ext/270959020/crflash.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF "${OBJECTDIR}/_ext/270959020/crflash.o.d"      -g -D__DEBUG -D__MPLAB_DEBUGGER_SIMULATOR=1    -omf=elf -ffunction-sections -fdata-sections -O0 -msmart-io=1 -Wall -msfr-warn=off -I ../../Source/include -I ../../Source/portable/MPLAB/PIC24_dsPIC -I ../Common/include -I . -Wextra
 	@${FIXDEPS} "${OBJECTDIR}/_ext/270959020/crflash.o.d" $(SILENT)  -rsi ${MP_CC_DIR}../ 
 	
 ${OBJECTDIR}/_ext/270959020/integer.o: ../Common/Minimal/integer.c  nbproject/Makefile-${CND_CONF}.mk
-	@${MKDIR} ${OBJECTDIR}/_ext/270959020 
+	@${MKDIR} "${OBJECTDIR}/_ext/270959020" 
 	@${RM} ${OBJECTDIR}/_ext/270959020/integer.o.d 
-	${MP_CC} $(MP_EXTRA_CC_PRE)  ../Common/Minimal/integer.c  -o ${OBJECTDIR}/_ext/270959020/integer.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF "${OBJECTDIR}/_ext/270959020/integer.o.d"      -g -D__DEBUG -D__MPLAB_DEBUGGER_ICD3=1  -omf=elf -ffunction-sections -fdata-sections -O0 -msmart-io=1 -Wall -msfr-warn=off -I ../../Source/include -I ../../Source/portable/MPLAB/PIC24_dsPIC -I ../Common/include -I . -Wextra
+	@${RM} ${OBJECTDIR}/_ext/270959020/integer.o 
+	${MP_CC} $(MP_EXTRA_CC_PRE)  ../Common/Minimal/integer.c  -o ${OBJECTDIR}/_ext/270959020/integer.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF "${OBJECTDIR}/_ext/270959020/integer.o.d"      -g -D__DEBUG -D__MPLAB_DEBUGGER_SIMULATOR=1    -omf=elf -ffunction-sections -fdata-sections -O0 -msmart-io=1 -Wall -msfr-warn=off -I ../../Source/include -I ../../Source/portable/MPLAB/PIC24_dsPIC -I ../Common/include -I . -Wextra
 	@${FIXDEPS} "${OBJECTDIR}/_ext/270959020/integer.o.d" $(SILENT)  -rsi ${MP_CC_DIR}../ 
 	
 ${OBJECTDIR}/timertest.o: timertest.c  nbproject/Makefile-${CND_CONF}.mk
-	@${MKDIR} ${OBJECTDIR} 
+	@${MKDIR} "${OBJECTDIR}" 
 	@${RM} ${OBJECTDIR}/timertest.o.d 
-	${MP_CC} $(MP_EXTRA_CC_PRE)  timertest.c  -o ${OBJECTDIR}/timertest.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF "${OBJECTDIR}/timertest.o.d"      -g -D__DEBUG -D__MPLAB_DEBUGGER_ICD3=1  -omf=elf -ffunction-sections -fdata-sections -O0 -msmart-io=1 -Wall -msfr-warn=off -I ../../Source/include -I ../../Source/portable/MPLAB/PIC24_dsPIC -I ../Common/include -I . -Wextra
+	@${RM} ${OBJECTDIR}/timertest.o 
+	${MP_CC} $(MP_EXTRA_CC_PRE)  timertest.c  -o ${OBJECTDIR}/timertest.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF "${OBJECTDIR}/timertest.o.d"      -g -D__DEBUG -D__MPLAB_DEBUGGER_SIMULATOR=1    -omf=elf -ffunction-sections -fdata-sections -O0 -msmart-io=1 -Wall -msfr-warn=off -I ../../Source/include -I ../../Source/portable/MPLAB/PIC24_dsPIC -I ../Common/include -I . -Wextra
 	@${FIXDEPS} "${OBJECTDIR}/timertest.o.d" $(SILENT)  -rsi ${MP_CC_DIR}../ 
 	
 ${OBJECTDIR}/lcd.o: lcd.c  nbproject/Makefile-${CND_CONF}.mk
-	@${MKDIR} ${OBJECTDIR} 
+	@${MKDIR} "${OBJECTDIR}" 
 	@${RM} ${OBJECTDIR}/lcd.o.d 
-	${MP_CC} $(MP_EXTRA_CC_PRE)  lcd.c  -o ${OBJECTDIR}/lcd.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF "${OBJECTDIR}/lcd.o.d"      -g -D__DEBUG -D__MPLAB_DEBUGGER_ICD3=1  -omf=elf -ffunction-sections -fdata-sections -O0 -msmart-io=1 -Wall -msfr-warn=off -I ../../Source/include -I ../../Source/portable/MPLAB/PIC24_dsPIC -I ../Common/include -I . -Wextra
+	@${RM} ${OBJECTDIR}/lcd.o 
+	${MP_CC} $(MP_EXTRA_CC_PRE)  lcd.c  -o ${OBJECTDIR}/lcd.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF "${OBJECTDIR}/lcd.o.d"      -g -D__DEBUG -D__MPLAB_DEBUGGER_SIMULATOR=1    -omf=elf -ffunction-sections -fdata-sections -O0 -msmart-io=1 -Wall -msfr-warn=off -I ../../Source/include -I ../../Source/portable/MPLAB/PIC24_dsPIC -I ../Common/include -I . -Wextra
 	@${FIXDEPS} "${OBJECTDIR}/lcd.o.d" $(SILENT)  -rsi ${MP_CC_DIR}../ 
 	
 ${OBJECTDIR}/main.o: main.c  nbproject/Makefile-${CND_CONF}.mk
-	@${MKDIR} ${OBJECTDIR} 
+	@${MKDIR} "${OBJECTDIR}" 
 	@${RM} ${OBJECTDIR}/main.o.d 
-	${MP_CC} $(MP_EXTRA_CC_PRE)  main.c  -o ${OBJECTDIR}/main.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF "${OBJECTDIR}/main.o.d"      -g -D__DEBUG -D__MPLAB_DEBUGGER_ICD3=1  -omf=elf -ffunction-sections -fdata-sections -O0 -msmart-io=1 -Wall -msfr-warn=off -I ../../Source/include -I ../../Source/portable/MPLAB/PIC24_dsPIC -I ../Common/include -I . -Wextra
+	@${RM} ${OBJECTDIR}/main.o 
+	${MP_CC} $(MP_EXTRA_CC_PRE)  main.c  -o ${OBJECTDIR}/main.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF "${OBJECTDIR}/main.o.d"      -g -D__DEBUG -D__MPLAB_DEBUGGER_SIMULATOR=1    -omf=elf -ffunction-sections -fdata-sections -O0 -msmart-io=1 -Wall -msfr-warn=off -I ../../Source/include -I ../../Source/portable/MPLAB/PIC24_dsPIC -I ../Common/include -I . -Wextra
 	@${FIXDEPS} "${OBJECTDIR}/main.o.d" $(SILENT)  -rsi ${MP_CC_DIR}../ 
 	
 ${OBJECTDIR}/serial/serial.o: serial/serial.c  nbproject/Makefile-${CND_CONF}.mk
-	@${MKDIR} ${OBJECTDIR}/serial 
+	@${MKDIR} "${OBJECTDIR}/serial" 
 	@${RM} ${OBJECTDIR}/serial/serial.o.d 
-	${MP_CC} $(MP_EXTRA_CC_PRE)  serial/serial.c  -o ${OBJECTDIR}/serial/serial.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF "${OBJECTDIR}/serial/serial.o.d"      -g -D__DEBUG -D__MPLAB_DEBUGGER_ICD3=1  -omf=elf -ffunction-sections -fdata-sections -O0 -msmart-io=1 -Wall -msfr-warn=off -I ../../Source/include -I ../../Source/portable/MPLAB/PIC24_dsPIC -I ../Common/include -I . -Wextra
+	@${RM} ${OBJECTDIR}/serial/serial.o 
+	${MP_CC} $(MP_EXTRA_CC_PRE)  serial/serial.c  -o ${OBJECTDIR}/serial/serial.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF "${OBJECTDIR}/serial/serial.o.d"      -g -D__DEBUG -D__MPLAB_DEBUGGER_SIMULATOR=1    -omf=elf -ffunction-sections -fdata-sections -O0 -msmart-io=1 -Wall -msfr-warn=off -I ../../Source/include -I ../../Source/portable/MPLAB/PIC24_dsPIC -I ../Common/include -I . -Wextra
 	@${FIXDEPS} "${OBJECTDIR}/serial/serial.o.d" $(SILENT)  -rsi ${MP_CC_DIR}../ 
 	
 ${OBJECTDIR}/ParTest/ParTest.o: ParTest/ParTest.c  nbproject/Makefile-${CND_CONF}.mk
-	@${MKDIR} ${OBJECTDIR}/ParTest 
+	@${MKDIR} "${OBJECTDIR}/ParTest" 
 	@${RM} ${OBJECTDIR}/ParTest/ParTest.o.d 
-	${MP_CC} $(MP_EXTRA_CC_PRE)  ParTest/ParTest.c  -o ${OBJECTDIR}/ParTest/ParTest.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF "${OBJECTDIR}/ParTest/ParTest.o.d"      -g -D__DEBUG -D__MPLAB_DEBUGGER_ICD3=1  -omf=elf -ffunction-sections -fdata-sections -O0 -msmart-io=1 -Wall -msfr-warn=off -I ../../Source/include -I ../../Source/portable/MPLAB/PIC24_dsPIC -I ../Common/include -I . -Wextra
+	@${RM} ${OBJECTDIR}/ParTest/ParTest.o 
+	${MP_CC} $(MP_EXTRA_CC_PRE)  ParTest/ParTest.c  -o ${OBJECTDIR}/ParTest/ParTest.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF "${OBJECTDIR}/ParTest/ParTest.o.d"      -g -D__DEBUG -D__MPLAB_DEBUGGER_SIMULATOR=1    -omf=elf -ffunction-sections -fdata-sections -O0 -msmart-io=1 -Wall -msfr-warn=off -I ../../Source/include -I ../../Source/portable/MPLAB/PIC24_dsPIC -I ../Common/include -I . -Wextra
 	@${FIXDEPS} "${OBJECTDIR}/ParTest/ParTest.o.d" $(SILENT)  -rsi ${MP_CC_DIR}../ 
 	
 else
 ${OBJECTDIR}/_ext/897580706/heap_1.o: ../../Source/portable/MemMang/heap_1.c  nbproject/Makefile-${CND_CONF}.mk
-	@${MKDIR} ${OBJECTDIR}/_ext/897580706 
+	@${MKDIR} "${OBJECTDIR}/_ext/897580706" 
 	@${RM} ${OBJECTDIR}/_ext/897580706/heap_1.o.d 
-	${MP_CC} $(MP_EXTRA_CC_PRE)  ../../Source/portable/MemMang/heap_1.c  -o ${OBJECTDIR}/_ext/897580706/heap_1.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF "${OBJECTDIR}/_ext/897580706/heap_1.o.d"      -g -omf=elf -ffunction-sections -fdata-sections -O0 -msmart-io=1 -Wall -msfr-warn=off -I ../../Source/include -I ../../Source/portable/MPLAB/PIC24_dsPIC -I ../Common/include -I . -Wextra
+	@${RM} ${OBJECTDIR}/_ext/897580706/heap_1.o 
+	${MP_CC} $(MP_EXTRA_CC_PRE)  ../../Source/portable/MemMang/heap_1.c  -o ${OBJECTDIR}/_ext/897580706/heap_1.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF "${OBJECTDIR}/_ext/897580706/heap_1.o.d"        -g -omf=elf -ffunction-sections -fdata-sections -O0 -msmart-io=1 -Wall -msfr-warn=off -I ../../Source/include -I ../../Source/portable/MPLAB/PIC24_dsPIC -I ../Common/include -I . -Wextra
 	@${FIXDEPS} "${OBJECTDIR}/_ext/897580706/heap_1.o.d" $(SILENT)  -rsi ${MP_CC_DIR}../ 
 	
 ${OBJECTDIR}/_ext/410575107/port.o: ../../Source/portable/MPLAB/PIC24_dsPIC/port.c  nbproject/Makefile-${CND_CONF}.mk
-	@${MKDIR} ${OBJECTDIR}/_ext/410575107 
+	@${MKDIR} "${OBJECTDIR}/_ext/410575107" 
 	@${RM} ${OBJECTDIR}/_ext/410575107/port.o.d 
-	${MP_CC} $(MP_EXTRA_CC_PRE)  ../../Source/portable/MPLAB/PIC24_dsPIC/port.c  -o ${OBJECTDIR}/_ext/410575107/port.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF "${OBJECTDIR}/_ext/410575107/port.o.d"      -g -omf=elf -ffunction-sections -fdata-sections -O0 -msmart-io=1 -Wall -msfr-warn=off -I ../../Source/include -I ../../Source/portable/MPLAB/PIC24_dsPIC -I ../Common/include -I . -Wextra
+	@${RM} ${OBJECTDIR}/_ext/410575107/port.o 
+	${MP_CC} $(MP_EXTRA_CC_PRE)  ../../Source/portable/MPLAB/PIC24_dsPIC/port.c  -o ${OBJECTDIR}/_ext/410575107/port.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF "${OBJECTDIR}/_ext/410575107/port.o.d"        -g -omf=elf -ffunction-sections -fdata-sections -O0 -msmart-io=1 -Wall -msfr-warn=off -I ../../Source/include -I ../../Source/portable/MPLAB/PIC24_dsPIC -I ../Common/include -I . -Wextra
 	@${FIXDEPS} "${OBJECTDIR}/_ext/410575107/port.o.d" $(SILENT)  -rsi ${MP_CC_DIR}../ 
 	
 ${OBJECTDIR}/_ext/1787047461/list.o: ../../Source/list.c  nbproject/Makefile-${CND_CONF}.mk
-	@${MKDIR} ${OBJECTDIR}/_ext/1787047461 
+	@${MKDIR} "${OBJECTDIR}/_ext/1787047461" 
 	@${RM} ${OBJECTDIR}/_ext/1787047461/list.o.d 
-	${MP_CC} $(MP_EXTRA_CC_PRE)  ../../Source/list.c  -o ${OBJECTDIR}/_ext/1787047461/list.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF "${OBJECTDIR}/_ext/1787047461/list.o.d"      -g -omf=elf -ffunction-sections -fdata-sections -O0 -msmart-io=1 -Wall -msfr-warn=off -I ../../Source/include -I ../../Source/portable/MPLAB/PIC24_dsPIC -I ../Common/include -I . -Wextra
+	@${RM} ${OBJECTDIR}/_ext/1787047461/list.o 
+	${MP_CC} $(MP_EXTRA_CC_PRE)  ../../Source/list.c  -o ${OBJECTDIR}/_ext/1787047461/list.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF "${OBJECTDIR}/_ext/1787047461/list.o.d"        -g -omf=elf -ffunction-sections -fdata-sections -O0 -msmart-io=1 -Wall -msfr-warn=off -I ../../Source/include -I ../../Source/portable/MPLAB/PIC24_dsPIC -I ../Common/include -I . -Wextra
 	@${FIXDEPS} "${OBJECTDIR}/_ext/1787047461/list.o.d" $(SILENT)  -rsi ${MP_CC_DIR}../ 
 	
 ${OBJECTDIR}/_ext/1787047461/queue.o: ../../Source/queue.c  nbproject/Makefile-${CND_CONF}.mk
-	@${MKDIR} ${OBJECTDIR}/_ext/1787047461 
+	@${MKDIR} "${OBJECTDIR}/_ext/1787047461" 
 	@${RM} ${OBJECTDIR}/_ext/1787047461/queue.o.d 
-	${MP_CC} $(MP_EXTRA_CC_PRE)  ../../Source/queue.c  -o ${OBJECTDIR}/_ext/1787047461/queue.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF "${OBJECTDIR}/_ext/1787047461/queue.o.d"      -g -omf=elf -ffunction-sections -fdata-sections -O0 -msmart-io=1 -Wall -msfr-warn=off -I ../../Source/include -I ../../Source/portable/MPLAB/PIC24_dsPIC -I ../Common/include -I . -Wextra
+	@${RM} ${OBJECTDIR}/_ext/1787047461/queue.o 
+	${MP_CC} $(MP_EXTRA_CC_PRE)  ../../Source/queue.c  -o ${OBJECTDIR}/_ext/1787047461/queue.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF "${OBJECTDIR}/_ext/1787047461/queue.o.d"        -g -omf=elf -ffunction-sections -fdata-sections -O0 -msmart-io=1 -Wall -msfr-warn=off -I ../../Source/include -I ../../Source/portable/MPLAB/PIC24_dsPIC -I ../Common/include -I . -Wextra
 	@${FIXDEPS} "${OBJECTDIR}/_ext/1787047461/queue.o.d" $(SILENT)  -rsi ${MP_CC_DIR}../ 
 	
 ${OBJECTDIR}/_ext/1787047461/tasks.o: ../../Source/tasks.c  nbproject/Makefile-${CND_CONF}.mk
-	@${MKDIR} ${OBJECTDIR}/_ext/1787047461 
+	@${MKDIR} "${OBJECTDIR}/_ext/1787047461" 
 	@${RM} ${OBJECTDIR}/_ext/1787047461/tasks.o.d 
-	${MP_CC} $(MP_EXTRA_CC_PRE)  ../../Source/tasks.c  -o ${OBJECTDIR}/_ext/1787047461/tasks.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF "${OBJECTDIR}/_ext/1787047461/tasks.o.d"      -g -omf=elf -ffunction-sections -fdata-sections -O0 -msmart-io=1 -Wall -msfr-warn=off -I ../../Source/include -I ../../Source/portable/MPLAB/PIC24_dsPIC -I ../Common/include -I . -Wextra
+	@${RM} ${OBJECTDIR}/_ext/1787047461/tasks.o 
+	${MP_CC} $(MP_EXTRA_CC_PRE)  ../../Source/tasks.c  -o ${OBJECTDIR}/_ext/1787047461/tasks.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF "${OBJECTDIR}/_ext/1787047461/tasks.o.d"        -g -omf=elf -ffunction-sections -fdata-sections -O0 -msmart-io=1 -Wall -msfr-warn=off -I ../../Source/include -I ../../Source/portable/MPLAB/PIC24_dsPIC -I ../Common/include -I . -Wextra
 	@${FIXDEPS} "${OBJECTDIR}/_ext/1787047461/tasks.o.d" $(SILENT)  -rsi ${MP_CC_DIR}../ 
 	
 ${OBJECTDIR}/_ext/1787047461/timers.o: ../../Source/timers.c  nbproject/Makefile-${CND_CONF}.mk
-	@${MKDIR} ${OBJECTDIR}/_ext/1787047461 
+	@${MKDIR} "${OBJECTDIR}/_ext/1787047461" 
 	@${RM} ${OBJECTDIR}/_ext/1787047461/timers.o.d 
-	${MP_CC} $(MP_EXTRA_CC_PRE)  ../../Source/timers.c  -o ${OBJECTDIR}/_ext/1787047461/timers.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF "${OBJECTDIR}/_ext/1787047461/timers.o.d"      -g -omf=elf -ffunction-sections -fdata-sections -O0 -msmart-io=1 -Wall -msfr-warn=off -I ../../Source/include -I ../../Source/portable/MPLAB/PIC24_dsPIC -I ../Common/include -I . -Wextra
+	@${RM} ${OBJECTDIR}/_ext/1787047461/timers.o 
+	${MP_CC} $(MP_EXTRA_CC_PRE)  ../../Source/timers.c  -o ${OBJECTDIR}/_ext/1787047461/timers.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF "${OBJECTDIR}/_ext/1787047461/timers.o.d"        -g -omf=elf -ffunction-sections -fdata-sections -O0 -msmart-io=1 -Wall -msfr-warn=off -I ../../Source/include -I ../../Source/portable/MPLAB/PIC24_dsPIC -I ../Common/include -I . -Wextra
 	@${FIXDEPS} "${OBJECTDIR}/_ext/1787047461/timers.o.d" $(SILENT)  -rsi ${MP_CC_DIR}../ 
 	
 ${OBJECTDIR}/_ext/1787047461/croutine.o: ../../Source/croutine.c  nbproject/Makefile-${CND_CONF}.mk
-	@${MKDIR} ${OBJECTDIR}/_ext/1787047461 
+	@${MKDIR} "${OBJECTDIR}/_ext/1787047461" 
 	@${RM} ${OBJECTDIR}/_ext/1787047461/croutine.o.d 
-	${MP_CC} $(MP_EXTRA_CC_PRE)  ../../Source/croutine.c  -o ${OBJECTDIR}/_ext/1787047461/croutine.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF "${OBJECTDIR}/_ext/1787047461/croutine.o.d"      -g -omf=elf -ffunction-sections -fdata-sections -O0 -msmart-io=1 -Wall -msfr-warn=off -I ../../Source/include -I ../../Source/portable/MPLAB/PIC24_dsPIC -I ../Common/include -I . -Wextra
+	@${RM} ${OBJECTDIR}/_ext/1787047461/croutine.o 
+	${MP_CC} $(MP_EXTRA_CC_PRE)  ../../Source/croutine.c  -o ${OBJECTDIR}/_ext/1787047461/croutine.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF "${OBJECTDIR}/_ext/1787047461/croutine.o.d"        -g -omf=elf -ffunction-sections -fdata-sections -O0 -msmart-io=1 -Wall -msfr-warn=off -I ../../Source/include -I ../../Source/portable/MPLAB/PIC24_dsPIC -I ../Common/include -I . -Wextra
 	@${FIXDEPS} "${OBJECTDIR}/_ext/1787047461/croutine.o.d" $(SILENT)  -rsi ${MP_CC_DIR}../ 
 	
 ${OBJECTDIR}/_ext/270959020/BlockQ.o: ../Common/Minimal/BlockQ.c  nbproject/Makefile-${CND_CONF}.mk
-	@${MKDIR} ${OBJECTDIR}/_ext/270959020 
+	@${MKDIR} "${OBJECTDIR}/_ext/270959020" 
 	@${RM} ${OBJECTDIR}/_ext/270959020/BlockQ.o.d 
-	${MP_CC} $(MP_EXTRA_CC_PRE)  ../Common/Minimal/BlockQ.c  -o ${OBJECTDIR}/_ext/270959020/BlockQ.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF "${OBJECTDIR}/_ext/270959020/BlockQ.o.d"      -g -omf=elf -ffunction-sections -fdata-sections -O0 -msmart-io=1 -Wall -msfr-warn=off -I ../../Source/include -I ../../Source/portable/MPLAB/PIC24_dsPIC -I ../Common/include -I . -Wextra
+	@${RM} ${OBJECTDIR}/_ext/270959020/BlockQ.o 
+	${MP_CC} $(MP_EXTRA_CC_PRE)  ../Common/Minimal/BlockQ.c  -o ${OBJECTDIR}/_ext/270959020/BlockQ.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF "${OBJECTDIR}/_ext/270959020/BlockQ.o.d"        -g -omf=elf -ffunction-sections -fdata-sections -O0 -msmart-io=1 -Wall -msfr-warn=off -I ../../Source/include -I ../../Source/portable/MPLAB/PIC24_dsPIC -I ../Common/include -I . -Wextra
 	@${FIXDEPS} "${OBJECTDIR}/_ext/270959020/BlockQ.o.d" $(SILENT)  -rsi ${MP_CC_DIR}../ 
 	
 ${OBJECTDIR}/_ext/270959020/blocktim.o: ../Common/Minimal/blocktim.c  nbproject/Makefile-${CND_CONF}.mk
-	@${MKDIR} ${OBJECTDIR}/_ext/270959020 
+	@${MKDIR} "${OBJECTDIR}/_ext/270959020" 
 	@${RM} ${OBJECTDIR}/_ext/270959020/blocktim.o.d 
-	${MP_CC} $(MP_EXTRA_CC_PRE)  ../Common/Minimal/blocktim.c  -o ${OBJECTDIR}/_ext/270959020/blocktim.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF "${OBJECTDIR}/_ext/270959020/blocktim.o.d"      -g -omf=elf -ffunction-sections -fdata-sections -O0 -msmart-io=1 -Wall -msfr-warn=off -I ../../Source/include -I ../../Source/portable/MPLAB/PIC24_dsPIC -I ../Common/include -I . -Wextra
+	@${RM} ${OBJECTDIR}/_ext/270959020/blocktim.o 
+	${MP_CC} $(MP_EXTRA_CC_PRE)  ../Common/Minimal/blocktim.c  -o ${OBJECTDIR}/_ext/270959020/blocktim.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF "${OBJECTDIR}/_ext/270959020/blocktim.o.d"        -g -omf=elf -ffunction-sections -fdata-sections -O0 -msmart-io=1 -Wall -msfr-warn=off -I ../../Source/include -I ../../Source/portable/MPLAB/PIC24_dsPIC -I ../Common/include -I . -Wextra
 	@${FIXDEPS} "${OBJECTDIR}/_ext/270959020/blocktim.o.d" $(SILENT)  -rsi ${MP_CC_DIR}../ 
 	
 ${OBJECTDIR}/_ext/270959020/comtest.o: ../Common/Minimal/comtest.c  nbproject/Makefile-${CND_CONF}.mk
-	@${MKDIR} ${OBJECTDIR}/_ext/270959020 
+	@${MKDIR} "${OBJECTDIR}/_ext/270959020" 
 	@${RM} ${OBJECTDIR}/_ext/270959020/comtest.o.d 
-	${MP_CC} $(MP_EXTRA_CC_PRE)  ../Common/Minimal/comtest.c  -o ${OBJECTDIR}/_ext/270959020/comtest.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF "${OBJECTDIR}/_ext/270959020/comtest.o.d"      -g -omf=elf -ffunction-sections -fdata-sections -O0 -msmart-io=1 -Wall -msfr-warn=off -I ../../Source/include -I ../../Source/portable/MPLAB/PIC24_dsPIC -I ../Common/include -I . -Wextra
+	@${RM} ${OBJECTDIR}/_ext/270959020/comtest.o 
+	${MP_CC} $(MP_EXTRA_CC_PRE)  ../Common/Minimal/comtest.c  -o ${OBJECTDIR}/_ext/270959020/comtest.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF "${OBJECTDIR}/_ext/270959020/comtest.o.d"        -g -omf=elf -ffunction-sections -fdata-sections -O0 -msmart-io=1 -Wall -msfr-warn=off -I ../../Source/include -I ../../Source/portable/MPLAB/PIC24_dsPIC -I ../Common/include -I . -Wextra
 	@${FIXDEPS} "${OBJECTDIR}/_ext/270959020/comtest.o.d" $(SILENT)  -rsi ${MP_CC_DIR}../ 
 	
 ${OBJECTDIR}/_ext/270959020/crflash.o: ../Common/Minimal/crflash.c  nbproject/Makefile-${CND_CONF}.mk
-	@${MKDIR} ${OBJECTDIR}/_ext/270959020 
+	@${MKDIR} "${OBJECTDIR}/_ext/270959020" 
 	@${RM} ${OBJECTDIR}/_ext/270959020/crflash.o.d 
-	${MP_CC} $(MP_EXTRA_CC_PRE)  ../Common/Minimal/crflash.c  -o ${OBJECTDIR}/_ext/270959020/crflash.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF "${OBJECTDIR}/_ext/270959020/crflash.o.d"      -g -omf=elf -ffunction-sections -fdata-sections -O0 -msmart-io=1 -Wall -msfr-warn=off -I ../../Source/include -I ../../Source/portable/MPLAB/PIC24_dsPIC -I ../Common/include -I . -Wextra
+	@${RM} ${OBJECTDIR}/_ext/270959020/crflash.o 
+	${MP_CC} $(MP_EXTRA_CC_PRE)  ../Common/Minimal/crflash.c  -o ${OBJECTDIR}/_ext/270959020/crflash.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF "${OBJECTDIR}/_ext/270959020/crflash.o.d"        -g -omf=elf -ffunction-sections -fdata-sections -O0 -msmart-io=1 -Wall -msfr-warn=off -I ../../Source/include -I ../../Source/portable/MPLAB/PIC24_dsPIC -I ../Common/include -I . -Wextra
 	@${FIXDEPS} "${OBJECTDIR}/_ext/270959020/crflash.o.d" $(SILENT)  -rsi ${MP_CC_DIR}../ 
 	
 ${OBJECTDIR}/_ext/270959020/integer.o: ../Common/Minimal/integer.c  nbproject/Makefile-${CND_CONF}.mk
-	@${MKDIR} ${OBJECTDIR}/_ext/270959020 
+	@${MKDIR} "${OBJECTDIR}/_ext/270959020" 
 	@${RM} ${OBJECTDIR}/_ext/270959020/integer.o.d 
-	${MP_CC} $(MP_EXTRA_CC_PRE)  ../Common/Minimal/integer.c  -o ${OBJECTDIR}/_ext/270959020/integer.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF "${OBJECTDIR}/_ext/270959020/integer.o.d"      -g -omf=elf -ffunction-sections -fdata-sections -O0 -msmart-io=1 -Wall -msfr-warn=off -I ../../Source/include -I ../../Source/portable/MPLAB/PIC24_dsPIC -I ../Common/include -I . -Wextra
+	@${RM} ${OBJECTDIR}/_ext/270959020/integer.o 
+	${MP_CC} $(MP_EXTRA_CC_PRE)  ../Common/Minimal/integer.c  -o ${OBJECTDIR}/_ext/270959020/integer.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF "${OBJECTDIR}/_ext/270959020/integer.o.d"        -g -omf=elf -ffunction-sections -fdata-sections -O0 -msmart-io=1 -Wall -msfr-warn=off -I ../../Source/include -I ../../Source/portable/MPLAB/PIC24_dsPIC -I ../Common/include -I . -Wextra
 	@${FIXDEPS} "${OBJECTDIR}/_ext/270959020/integer.o.d" $(SILENT)  -rsi ${MP_CC_DIR}../ 
 	
 ${OBJECTDIR}/timertest.o: timertest.c  nbproject/Makefile-${CND_CONF}.mk
-	@${MKDIR} ${OBJECTDIR} 
+	@${MKDIR} "${OBJECTDIR}" 
 	@${RM} ${OBJECTDIR}/timertest.o.d 
-	${MP_CC} $(MP_EXTRA_CC_PRE)  timertest.c  -o ${OBJECTDIR}/timertest.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF "${OBJECTDIR}/timertest.o.d"      -g -omf=elf -ffunction-sections -fdata-sections -O0 -msmart-io=1 -Wall -msfr-warn=off -I ../../Source/include -I ../../Source/portable/MPLAB/PIC24_dsPIC -I ../Common/include -I . -Wextra
+	@${RM} ${OBJECTDIR}/timertest.o 
+	${MP_CC} $(MP_EXTRA_CC_PRE)  timertest.c  -o ${OBJECTDIR}/timertest.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF "${OBJECTDIR}/timertest.o.d"        -g -omf=elf -ffunction-sections -fdata-sections -O0 -msmart-io=1 -Wall -msfr-warn=off -I ../../Source/include -I ../../Source/portable/MPLAB/PIC24_dsPIC -I ../Common/include -I . -Wextra
 	@${FIXDEPS} "${OBJECTDIR}/timertest.o.d" $(SILENT)  -rsi ${MP_CC_DIR}../ 
 	
 ${OBJECTDIR}/lcd.o: lcd.c  nbproject/Makefile-${CND_CONF}.mk
-	@${MKDIR} ${OBJECTDIR} 
+	@${MKDIR} "${OBJECTDIR}" 
 	@${RM} ${OBJECTDIR}/lcd.o.d 
-	${MP_CC} $(MP_EXTRA_CC_PRE)  lcd.c  -o ${OBJECTDIR}/lcd.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF "${OBJECTDIR}/lcd.o.d"      -g -omf=elf -ffunction-sections -fdata-sections -O0 -msmart-io=1 -Wall -msfr-warn=off -I ../../Source/include -I ../../Source/portable/MPLAB/PIC24_dsPIC -I ../Common/include -I . -Wextra
+	@${RM} ${OBJECTDIR}/lcd.o 
+	${MP_CC} $(MP_EXTRA_CC_PRE)  lcd.c  -o ${OBJECTDIR}/lcd.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF "${OBJECTDIR}/lcd.o.d"        -g -omf=elf -ffunction-sections -fdata-sections -O0 -msmart-io=1 -Wall -msfr-warn=off -I ../../Source/include -I ../../Source/portable/MPLAB/PIC24_dsPIC -I ../Common/include -I . -Wextra
 	@${FIXDEPS} "${OBJECTDIR}/lcd.o.d" $(SILENT)  -rsi ${MP_CC_DIR}../ 
 	
 ${OBJECTDIR}/main.o: main.c  nbproject/Makefile-${CND_CONF}.mk
-	@${MKDIR} ${OBJECTDIR} 
+	@${MKDIR} "${OBJECTDIR}" 
 	@${RM} ${OBJECTDIR}/main.o.d 
-	${MP_CC} $(MP_EXTRA_CC_PRE)  main.c  -o ${OBJECTDIR}/main.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF "${OBJECTDIR}/main.o.d"      -g -omf=elf -ffunction-sections -fdata-sections -O0 -msmart-io=1 -Wall -msfr-warn=off -I ../../Source/include -I ../../Source/portable/MPLAB/PIC24_dsPIC -I ../Common/include -I . -Wextra
+	@${RM} ${OBJECTDIR}/main.o 
+	${MP_CC} $(MP_EXTRA_CC_PRE)  main.c  -o ${OBJECTDIR}/main.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF "${OBJECTDIR}/main.o.d"        -g -omf=elf -ffunction-sections -fdata-sections -O0 -msmart-io=1 -Wall -msfr-warn=off -I ../../Source/include -I ../../Source/portable/MPLAB/PIC24_dsPIC -I ../Common/include -I . -Wextra
 	@${FIXDEPS} "${OBJECTDIR}/main.o.d" $(SILENT)  -rsi ${MP_CC_DIR}../ 
 	
 ${OBJECTDIR}/serial/serial.o: serial/serial.c  nbproject/Makefile-${CND_CONF}.mk
-	@${MKDIR} ${OBJECTDIR}/serial 
+	@${MKDIR} "${OBJECTDIR}/serial" 
 	@${RM} ${OBJECTDIR}/serial/serial.o.d 
-	${MP_CC} $(MP_EXTRA_CC_PRE)  serial/serial.c  -o ${OBJECTDIR}/serial/serial.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF "${OBJECTDIR}/serial/serial.o.d"      -g -omf=elf -ffunction-sections -fdata-sections -O0 -msmart-io=1 -Wall -msfr-warn=off -I ../../Source/include -I ../../Source/portable/MPLAB/PIC24_dsPIC -I ../Common/include -I . -Wextra
+	@${RM} ${OBJECTDIR}/serial/serial.o 
+	${MP_CC} $(MP_EXTRA_CC_PRE)  serial/serial.c  -o ${OBJECTDIR}/serial/serial.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF "${OBJECTDIR}/serial/serial.o.d"        -g -omf=elf -ffunction-sections -fdata-sections -O0 -msmart-io=1 -Wall -msfr-warn=off -I ../../Source/include -I ../../Source/portable/MPLAB/PIC24_dsPIC -I ../Common/include -I . -Wextra
 	@${FIXDEPS} "${OBJECTDIR}/serial/serial.o.d" $(SILENT)  -rsi ${MP_CC_DIR}../ 
 	
 ${OBJECTDIR}/ParTest/ParTest.o: ParTest/ParTest.c  nbproject/Makefile-${CND_CONF}.mk
-	@${MKDIR} ${OBJECTDIR}/ParTest 
+	@${MKDIR} "${OBJECTDIR}/ParTest" 
 	@${RM} ${OBJECTDIR}/ParTest/ParTest.o.d 
-	${MP_CC} $(MP_EXTRA_CC_PRE)  ParTest/ParTest.c  -o ${OBJECTDIR}/ParTest/ParTest.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF "${OBJECTDIR}/ParTest/ParTest.o.d"      -g -omf=elf -ffunction-sections -fdata-sections -O0 -msmart-io=1 -Wall -msfr-warn=off -I ../../Source/include -I ../../Source/portable/MPLAB/PIC24_dsPIC -I ../Common/include -I . -Wextra
+	@${RM} ${OBJECTDIR}/ParTest/ParTest.o 
+	${MP_CC} $(MP_EXTRA_CC_PRE)  ParTest/ParTest.c  -o ${OBJECTDIR}/ParTest/ParTest.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF "${OBJECTDIR}/ParTest/ParTest.o.d"        -g -omf=elf -ffunction-sections -fdata-sections -O0 -msmart-io=1 -Wall -msfr-warn=off -I ../../Source/include -I ../../Source/portable/MPLAB/PIC24_dsPIC -I ../Common/include -I . -Wextra
 	@${FIXDEPS} "${OBJECTDIR}/ParTest/ParTest.o.d" $(SILENT)  -rsi ${MP_CC_DIR}../ 
 	
 endif
@@ -290,15 +333,17 @@
 # Rules for buildStep: assemblePreproc
 ifeq ($(TYPE_IMAGE), DEBUG_RUN)
 ${OBJECTDIR}/_ext/410575107/portasm_PIC24.o: ../../Source/portable/MPLAB/PIC24_dsPIC/portasm_PIC24.S  nbproject/Makefile-${CND_CONF}.mk
-	@${MKDIR} ${OBJECTDIR}/_ext/410575107 
+	@${MKDIR} "${OBJECTDIR}/_ext/410575107" 
 	@${RM} ${OBJECTDIR}/_ext/410575107/portasm_PIC24.o.d 
-	${MP_CC} $(MP_EXTRA_AS_PRE)  ../../Source/portable/MPLAB/PIC24_dsPIC/portasm_PIC24.S  -o ${OBJECTDIR}/_ext/410575107/portasm_PIC24.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF "${OBJECTDIR}/_ext/410575107/portasm_PIC24.o.d"  -D__DEBUG -D__MPLAB_DEBUGGER_ICD3=1  -omf=elf -Wa,-MD,"${OBJECTDIR}/_ext/410575107/portasm_PIC24.o.asm.d",--defsym=__MPLAB_BUILD=1,--defsym=__ICD2RAM=1,--defsym=__MPLAB_DEBUG=1,--defsym=__DEBUG=1,--defsym=__MPLAB_DEBUGGER_ICD3=1,-g,--no-relax$(MP_EXTRA_AS_POST)
+	@${RM} ${OBJECTDIR}/_ext/410575107/portasm_PIC24.o 
+	${MP_CC} $(MP_EXTRA_AS_PRE)  ../../Source/portable/MPLAB/PIC24_dsPIC/portasm_PIC24.S  -o ${OBJECTDIR}/_ext/410575107/portasm_PIC24.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF "${OBJECTDIR}/_ext/410575107/portasm_PIC24.o.d"  -D__DEBUG -D__MPLAB_DEBUGGER_SIMULATOR=1  -omf=elf -Wa,-MD,"${OBJECTDIR}/_ext/410575107/portasm_PIC24.o.asm.d",--defsym=__MPLAB_BUILD=1,--defsym=__MPLAB_DEBUG=1,--defsym=__DEBUG=1,--defsym=__MPLAB_DEBUGGER_SIMULATOR=1,-g,--no-relax$(MP_EXTRA_AS_POST)
 	@${FIXDEPS} "${OBJECTDIR}/_ext/410575107/portasm_PIC24.o.d" "${OBJECTDIR}/_ext/410575107/portasm_PIC24.o.asm.d"  -t $(SILENT)  -rsi ${MP_CC_DIR}../  
 	
 else
 ${OBJECTDIR}/_ext/410575107/portasm_PIC24.o: ../../Source/portable/MPLAB/PIC24_dsPIC/portasm_PIC24.S  nbproject/Makefile-${CND_CONF}.mk
-	@${MKDIR} ${OBJECTDIR}/_ext/410575107 
+	@${MKDIR} "${OBJECTDIR}/_ext/410575107" 
 	@${RM} ${OBJECTDIR}/_ext/410575107/portasm_PIC24.o.d 
+	@${RM} ${OBJECTDIR}/_ext/410575107/portasm_PIC24.o 
 	${MP_CC} $(MP_EXTRA_AS_PRE)  ../../Source/portable/MPLAB/PIC24_dsPIC/portasm_PIC24.S  -o ${OBJECTDIR}/_ext/410575107/portasm_PIC24.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF "${OBJECTDIR}/_ext/410575107/portasm_PIC24.o.d"  -omf=elf -Wa,-MD,"${OBJECTDIR}/_ext/410575107/portasm_PIC24.o.asm.d",--defsym=__MPLAB_BUILD=1,-g,--no-relax$(MP_EXTRA_AS_POST)
 	@${FIXDEPS} "${OBJECTDIR}/_ext/410575107/portasm_PIC24.o.d" "${OBJECTDIR}/_ext/410575107/portasm_PIC24.o.asm.d"  -t $(SILENT)  -rsi ${MP_CC_DIR}../  
 	
@@ -309,13 +354,13 @@
 ifeq ($(TYPE_IMAGE), DEBUG_RUN)
 dist/${CND_CONF}/${IMAGE_TYPE}/PIC24_MPLAB.${IMAGE_TYPE}.${OUTPUT_SUFFIX}: ${OBJECTFILES}  nbproject/Makefile-${CND_CONF}.mk    
 	@${MKDIR} dist/${CND_CONF}/${IMAGE_TYPE} 
-	${MP_CC} $(MP_EXTRA_LD_PRE)  -o dist/${CND_CONF}/${IMAGE_TYPE}/PIC24_MPLAB.${IMAGE_TYPE}.${OUTPUT_SUFFIX}  ${OBJECTFILES_QUOTED_IF_SPACED}      -mcpu=$(MP_PROCESSOR_OPTION)        -D__DEBUG -D__MPLAB_DEBUGGER_ICD3=1  -omf=elf -Wl,--defsym=__MPLAB_BUILD=1,--defsym=__ICD2RAM=1,--defsym=__MPLAB_DEBUG=1,--defsym=__DEBUG=1,--defsym=__MPLAB_DEBUGGER_ICD3=1,$(MP_LINKER_FILE_OPTION),--stack=16,--check-sections,--data-init,--pack-data,--handles,--isr,--no-gc-sections,--fill-upper=0,--stackguard=16,--no-force-link,--smart-io,--report-mem$(MP_EXTRA_LD_POST) 
+	${MP_CC} $(MP_EXTRA_LD_PRE)  -o dist/${CND_CONF}/${IMAGE_TYPE}/PIC24_MPLAB.${IMAGE_TYPE}.${OUTPUT_SUFFIX}  ${OBJECTFILES_QUOTED_IF_SPACED}      -mcpu=$(MP_PROCESSOR_OPTION)        -D__DEBUG -D__MPLAB_DEBUGGER_SIMULATOR=1  -omf=elf     -Wl,,--defsym=__MPLAB_BUILD=1,--defsym=__MPLAB_DEBUG=1,--defsym=__DEBUG=1,--defsym=__MPLAB_DEBUGGER_SIMULATOR=1,$(MP_LINKER_FILE_OPTION),--stack=16,--check-sections,--data-init,--pack-data,--handles,--isr,--no-gc-sections,--fill-upper=0,--stackguard=16,--no-force-link,--smart-io,-Map="${DISTDIR}/${PROJECTNAME}.${IMAGE_TYPE}.map",--report-mem,--memorysummary,dist/${CND_CONF}/${IMAGE_TYPE}/memoryfile.xml$(MP_EXTRA_LD_POST) 
 	
 else
 dist/${CND_CONF}/${IMAGE_TYPE}/PIC24_MPLAB.${IMAGE_TYPE}.${OUTPUT_SUFFIX}: ${OBJECTFILES}  nbproject/Makefile-${CND_CONF}.mk   
 	@${MKDIR} dist/${CND_CONF}/${IMAGE_TYPE} 
-	${MP_CC} $(MP_EXTRA_LD_PRE)  -o dist/${CND_CONF}/${IMAGE_TYPE}/PIC24_MPLAB.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX}  ${OBJECTFILES_QUOTED_IF_SPACED}      -mcpu=$(MP_PROCESSOR_OPTION)        -omf=elf -Wl,--defsym=__MPLAB_BUILD=1,$(MP_LINKER_FILE_OPTION),--stack=16,--check-sections,--data-init,--pack-data,--handles,--isr,--no-gc-sections,--fill-upper=0,--stackguard=16,--no-force-link,--smart-io,--report-mem$(MP_EXTRA_LD_POST) 
-	${MP_CC_DIR}\\xc16-bin2hex dist/${CND_CONF}/${IMAGE_TYPE}/PIC24_MPLAB.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX} -a  -omf=elf 
+	${MP_CC} $(MP_EXTRA_LD_PRE)  -o dist/${CND_CONF}/${IMAGE_TYPE}/PIC24_MPLAB.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX}  ${OBJECTFILES_QUOTED_IF_SPACED}      -mcpu=$(MP_PROCESSOR_OPTION)        -omf=elf -Wl,,--defsym=__MPLAB_BUILD=1,$(MP_LINKER_FILE_OPTION),--stack=16,--check-sections,--data-init,--pack-data,--handles,--isr,--no-gc-sections,--fill-upper=0,--stackguard=16,--no-force-link,--smart-io,-Map="${DISTDIR}/${PROJECTNAME}.${IMAGE_TYPE}.map",--report-mem,--memorysummary,dist/${CND_CONF}/${IMAGE_TYPE}/memoryfile.xml$(MP_EXTRA_LD_POST) 
+	${MP_CC_DIR}\\xc16-bin2hex dist/${CND_CONF}/${IMAGE_TYPE}/PIC24_MPLAB.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX} -a  -omf=elf  
 	
 endif
 
diff --git a/FreeRTOS/Demo/PIC24_MPLAB/nbproject/Makefile-genesis.properties b/FreeRTOS/Demo/PIC24_MPLAB/nbproject/Makefile-genesis.properties
index 0a71547..e2c8284 100644
--- a/FreeRTOS/Demo/PIC24_MPLAB/nbproject/Makefile-genesis.properties
+++ b/FreeRTOS/Demo/PIC24_MPLAB/nbproject/Makefile-genesis.properties
@@ -1,8 +1,9 @@
 #
-#Sat Jun 08 17:32:26 BST 2013
-default.com-microchip-mplab-nbide-toolchainXC16-XC16LanguageToolchain.md5=654ec2e9d4aec452652bf33d59c2beac
-default.languagetoolchain.dir=C\:\\devtools\\Microchip\\xc16\\v1.11\\bin
-com-microchip-mplab-nbide-embedded-makeproject-MakeProject.md5=8fe1589514540343a5279c082104bce0
-default.languagetoolchain.version=1.11
+#Thu Oct 15 21:03:35 BST 2015
+default.com-microchip-mplab-nbide-toolchainXC16-XC16LanguageToolchain.md5=7b5555b9f3fac10bdeeaa71fff22c072
+default.languagetoolchain.dir=C\:\\DevTools\\Microchip\\xc16\\v1.25\\bin
+configurations-xml=e1668378027c43cfe57bea932c980e61
+com-microchip-mplab-nbide-embedded-makeproject-MakeProject.md5=17a71d03e7d3823160f3e8681fc226e8
+default.languagetoolchain.version=1.25
 host.platform=windows
 conf.ids=default
diff --git a/FreeRTOS/Demo/PIC24_MPLAB/nbproject/Makefile-local-default.mk b/FreeRTOS/Demo/PIC24_MPLAB/nbproject/Makefile-local-default.mk
index a4936b4..bde41e5 100644
--- a/FreeRTOS/Demo/PIC24_MPLAB/nbproject/Makefile-local-default.mk
+++ b/FreeRTOS/Demo/PIC24_MPLAB/nbproject/Makefile-local-default.mk
@@ -15,23 +15,23 @@
 # $ makeMP_CC="/opt/microchip/mplabc30/v3.30c/bin/pic30-gcc" ...  
 #
 SHELL=cmd.exe
-PATH_TO_IDE_BIN=C:/devtools/Microchip/MPLABX/mplab_ide/mplab_ide/modules/../../bin/
+PATH_TO_IDE_BIN=C:/DevTools/Microchip/MPLABX/v3.10/mplab_ide/mplab_ide/modules/../../bin/
 # Adding MPLAB X bin directory to path.
-PATH:=C:/devtools/Microchip/MPLABX/mplab_ide/mplab_ide/modules/../../bin/:$(PATH)
+PATH:=C:/DevTools/Microchip/MPLABX/v3.10/mplab_ide/mplab_ide/modules/../../bin/:$(PATH)
 # Path to java used to run MPLAB X when this makefile was created
-MP_JAVA_PATH="C:\devtools\Microchip\MPLABX\sys\java\jre1.7.0_17/bin/"
+MP_JAVA_PATH="C:\DevTools\Microchip\MPLABX\v3.10\sys\java\jre1.7.0_79/bin/"
 OS_CURRENT="$(shell uname -s)"
-MP_CC="C:\devtools\Microchip\xc16\v1.11\bin\xc16-gcc.exe"
+MP_CC="C:\DevTools\Microchip\xc16\v1.25\bin\xc16-gcc.exe"
 # MP_CPPC is not defined
 # MP_BC is not defined
-# MP_AS is not defined
+MP_AS="C:\DevTools\Microchip\xc16\v1.25\bin\xc16-as.exe"
 # MP_LD is not defined
-MP_AR="C:\devtools\Microchip\xc16\v1.11\bin\xc16-ar.exe"
-DEP_GEN=${MP_JAVA_PATH}java -jar "C:/devtools/Microchip/MPLABX/mplab_ide/mplab_ide/modules/../../bin/extractobjectdependencies.jar" 
-MP_CC_DIR="C:\devtools\Microchip\xc16\v1.11\bin"
+MP_AR="C:\DevTools\Microchip\xc16\v1.25\bin\xc16-ar.exe"
+DEP_GEN=${MP_JAVA_PATH}java -jar "C:/DevTools/Microchip/MPLABX/v3.10/mplab_ide/mplab_ide/modules/../../bin/extractobjectdependencies.jar"
+MP_CC_DIR="C:\DevTools\Microchip\xc16\v1.25\bin"
 # MP_CPPC_DIR is not defined
 # MP_BC_DIR is not defined
-# MP_AS_DIR is not defined
+MP_AS_DIR="C:\DevTools\Microchip\xc16\v1.25\bin"
 # MP_LD_DIR is not defined
-MP_AR_DIR="C:\devtools\Microchip\xc16\v1.11\bin"
+MP_AR_DIR="C:\DevTools\Microchip\xc16\v1.25\bin"
 # MP_BC_DIR is not defined
diff --git a/FreeRTOS/Demo/PIC24_MPLAB/nbproject/configurations.xml b/FreeRTOS/Demo/PIC24_MPLAB/nbproject/configurations.xml
index fa5f3dd..88bc67c 100644
--- a/FreeRTOS/Demo/PIC24_MPLAB/nbproject/configurations.xml
+++ b/FreeRTOS/Demo/PIC24_MPLAB/nbproject/configurations.xml
@@ -63,9 +63,9 @@
         <targetDevice>PIC24FJ128GA010</targetDevice>
         <targetHeader></targetHeader>
         <targetPluginBoard></targetPluginBoard>
-        <platformTool>ICD3PlatformTool</platformTool>
+        <platformTool>Simulator</platformTool>
         <languageToolchain>XC16</languageToolchain>
-        <languageToolchainVersion>1.11</languageToolchainVersion>
+        <languageToolchainVersion>1.25</languageToolchainVersion>
         <platform>3</platform>
       </toolsSet>
       <compileType>
@@ -73,8 +73,11 @@
           <linkerLibItems>
           </linkerLibItems>
         </linkerTool>
+        <archiverTool>
+        </archiverTool>
         <loading>
           <useAlternateLoadableFile>false</useAlternateLoadableFile>
+          <parseOnProdLoad>false</parseOnProdLoad>
           <alternateLoadableFile></alternateLoadableFile>
         </loading>
       </compileType>
@@ -91,6 +94,7 @@
         <property key="code-model" value="default"/>
         <property key="const-model" value="default"/>
         <property key="data-model" value="default"/>
+        <property key="disable-instruction-scheduling" value="false"/>
         <property key="enable-all-warnings" value="true"/>
         <property key="enable-ansi-std" value="false"/>
         <property key="enable-ansi-warnings" value="false"/>
@@ -124,16 +128,350 @@
         <property key="preprocessor-macros" value=""/>
         <property key="scalar-model" value="default"/>
         <property key="use-cci" value="false"/>
+        <property key="use-iar" value="false"/>
         <appendMe value="-I ../../Source/include -I ../../Source/portable/MPLAB/PIC24_dsPIC -I ../Common/include -I . -Wextra"/>
       </C30>
+      <C30-AR>
+        <property key="additional-options-chop-files" value="false"/>
+      </C30-AR>
       <C30-AS>
+        <property key="assembler-symbols" value=""/>
+        <property key="expand-macros" value="false"/>
+        <property key="extra-include-directories-for-assembler" value=""/>
+        <property key="extra-include-directories-for-preprocessor" value=""/>
+        <property key="false-conditionals" value="false"/>
+        <property key="keep-locals" value="false"/>
+        <property key="list-assembly" value="false"/>
+        <property key="list-section-info" value="false"/>
+        <property key="list-source" value="false"/>
+        <property key="list-symbols" value="false"/>
+        <property key="oXC16asm-extra-opts" value=""/>
+        <property key="oXC16asm-list-to-file" value="false"/>
+        <property key="omit-debug-dirs" value="false"/>
+        <property key="omit-forms" value="false"/>
+        <property key="preprocessor-macros" value=""/>
+        <property key="relax" value="false"/>
+        <property key="warning-level" value="emit-warnings"/>
       </C30-AS>
       <C30-LD>
+        <property key="additional-options-use-response-files" value="false"/>
+        <property key="boot-eeprom" value="no_eeprom"/>
+        <property key="boot-flash" value="no_flash"/>
+        <property key="boot-ram" value="no_ram"/>
+        <property key="boot-write-protect" value="no_write_protect"/>
+        <property key="enable-check-sections" value="false"/>
+        <property key="enable-data-init" value="true"/>
+        <property key="enable-default-isr" value="true"/>
+        <property key="enable-handles" value="true"/>
+        <property key="enable-pack-data" value="true"/>
+        <property key="extra-lib-directories" value=""/>
+        <property key="fill-flash-options-addr" value=""/>
+        <property key="fill-flash-options-const" value=""/>
+        <property key="fill-flash-options-how" value="0"/>
+        <property key="fill-flash-options-inc-const" value="1"/>
+        <property key="fill-flash-options-increment" value=""/>
+        <property key="fill-flash-options-seq" value=""/>
+        <property key="fill-flash-options-what" value="0"/>
+        <property key="general-code-protect" value="no_code_protect"/>
+        <property key="general-write-protect" value="no_write_protect"/>
+        <property key="generate-cross-reference-file" value="false"/>
+        <property key="heap-size" value=""/>
+        <property key="input-libraries" value=""/>
+        <property key="linker-stack" value="true"/>
+        <property key="linker-symbols" value=""/>
+        <property key="map-file" value="${DISTDIR}/${PROJECTNAME}.${IMAGE_TYPE}.map"/>
+        <property key="oXC16ld-extra-opts" value=""/>
+        <property key="oXC16ld-fill-upper" value="0"/>
+        <property key="oXC16ld-force-link" value="false"/>
+        <property key="oXC16ld-no-smart-io" value="false"/>
+        <property key="oXC16ld-nostdlib" value="false"/>
+        <property key="oXC16ld-stackguard" value="16"/>
+        <property key="preprocessor-macros" value=""/>
+        <property key="remove-unused-sections" value="false"/>
+        <property key="report-memory-usage" value="true"/>
+        <property key="secure-eeprom" value="no_eeprom"/>
+        <property key="secure-flash" value="no_flash"/>
+        <property key="secure-ram" value="no_ram"/>
+        <property key="secure-write-protect" value="no_write_protect"/>
+        <property key="stack-size" value="16"/>
+        <property key="symbol-stripping" value=""/>
+        <property key="trace-symbols" value=""/>
+        <property key="warn-section-align" value="false"/>
       </C30-LD>
       <C30Global>
+        <property key="common-include-directories" value=""/>
+        <property key="dual-boot-partition" value="0"/>
+        <property key="fast-math" value="false"/>
+        <property key="generic-16-bit" value="false"/>
+        <property key="legacy-libc" value="false"/>
+        <property key="oXC16glb-macros" value=""/>
+        <property key="output-file-format" value="elf"/>
+        <property key="relaxed-math" value="false"/>
+        <property key="save-temps" value="false"/>
       </C30Global>
       <ICD3PlatformTool>
+        <property key="ADC 1" value="true"/>
+        <property key="AutoSelectMemRanges" value="auto"/>
+        <property key="CRC" value="true"/>
+        <property key="Freeze All Other Peripherals" value="true"/>
+        <property key="I2C1" value="true"/>
+        <property key="I2C2" value="true"/>
+        <property key="INPUT CAPTURE 1" value="true"/>
+        <property key="INPUT CAPTURE 2" value="true"/>
+        <property key="INPUT CAPTURE 3" value="true"/>
+        <property key="INPUT CAPTURE 4" value="true"/>
+        <property key="INPUT CAPTURE 5" value="true"/>
+        <property key="OUTPUT COMPARE 1" value="true"/>
+        <property key="OUTPUT COMPARE 2" value="true"/>
+        <property key="OUTPUT COMPARE 3" value="true"/>
+        <property key="OUTPUT COMPARE 4" value="true"/>
+        <property key="OUTPUT COMPARE 5" value="true"/>
+        <property key="SPI 1" value="true"/>
+        <property key="SPI 2" value="true"/>
+        <property key="SecureSegment.SegmentProgramming" value="FullChipProgramming"/>
+        <property key="TIMER1" value="true"/>
+        <property key="TIMER2" value="true"/>
+        <property key="TIMER3" value="true"/>
+        <property key="TIMER4" value="true"/>
+        <property key="TIMER5" value="true"/>
+        <property key="ToolFirmwareFilePath"
+                  value="Press to browse for a specific firmware version"/>
+        <property key="ToolFirmwareOption.UseLatestFirmware" value="true"/>
+        <property key="UART 1" value="true"/>
+        <property key="UART 2" value="true"/>
+        <property key="debugoptions.useswbreakpoints" value="false"/>
+        <property key="hwtoolclock.frcindebug" value="false"/>
+        <property key="memories.aux" value="false"/>
+        <property key="memories.bootflash" value="false"/>
+        <property key="memories.configurationmemory" value="true"/>
+        <property key="memories.configurationmemory2" value="true"/>
+        <property key="memories.dataflash" value="true"/>
+        <property key="memories.eeprom" value="true"/>
+        <property key="memories.flashdata" value="true"/>
+        <property key="memories.id" value="true"/>
+        <property key="memories.programmemory" value="true"/>
+        <property key="memories.programmemory.end" value="0x157fb"/>
+        <property key="memories.programmemory.partition2" value="true"/>
+        <property key="memories.programmemory.partition2.end"
+                  value="${memories.programmemory.partition2.end.value}"/>
+        <property key="memories.programmemory.partition2.start"
+                  value="${memories.programmemory.partition2.start.value}"/>
+        <property key="memories.programmemory.start" value="0x0"/>
+        <property key="poweroptions.powerenable" value="false"/>
+        <property key="programoptions.donoteraseauxmem" value="false"/>
+        <property key="programoptions.eraseb4program" value="true"/>
+        <property key="programoptions.preservedataflash" value="false"/>
+        <property key="programoptions.preserveeeprom" value="false"/>
+        <property key="programoptions.preserveprogramrange" value="false"/>
+        <property key="programoptions.preserveprogramrange.end" value="0x157fb"/>
+        <property key="programoptions.preserveprogramrange.start" value="0x0"/>
+        <property key="programoptions.preserveuserid" value="false"/>
+        <property key="programoptions.programcalmem" value="false"/>
+        <property key="programoptions.programuserotp" value="false"/>
+        <property key="programoptions.testmodeentrymethod" value="VDDFirst"/>
+        <property key="programoptions.usehighvoltageonmclr" value="false"/>
+        <property key="programoptions.uselvpprogramming" value="false"/>
+        <property key="voltagevalue" value="3.25"/>
       </ICD3PlatformTool>
+      <Simulator>
+        <property key="codecoverage.enabled" value="Disable"/>
+        <property key="codecoverage.enableoutputtofile" value="false"/>
+        <property key="codecoverage.outputfile" value=""/>
+        <property key="oscillator.auxfrequency" value="120"/>
+        <property key="oscillator.auxfrequencyunit" value="Mega"/>
+        <property key="oscillator.frequency" value="1"/>
+        <property key="oscillator.frequencyunit" value="Mega"/>
+        <property key="oscillator.rcfrequency" value="250"/>
+        <property key="oscillator.rcfrequencyunit" value="Kilo"/>
+        <property key="performancedata.show" value="false"/>
+        <property key="periphADC1.altscl" value="false"/>
+        <property key="periphADC1.minTacq" value=""/>
+        <property key="periphADC1.tacqunits" value="microseconds"/>
+        <property key="periphADC2.altscl" value="false"/>
+        <property key="periphADC2.minTacq" value=""/>
+        <property key="periphADC2.tacqunits" value="microseconds"/>
+        <property key="periphComp1.gte" value="gt"/>
+        <property key="periphComp2.gte" value="gt"/>
+        <property key="periphComp3.gte" value="gt"/>
+        <property key="periphComp4.gte" value="gt"/>
+        <property key="periphComp5.gte" value="gt"/>
+        <property key="periphComp6.gte" value="gt"/>
+        <property key="uart10io.output" value="window"/>
+        <property key="uart10io.outputfile" value=""/>
+        <property key="uart10io.uartioenabled" value="false"/>
+        <property key="uart1io.output" value="window"/>
+        <property key="uart1io.outputfile" value=""/>
+        <property key="uart1io.uartioenabled" value="false"/>
+        <property key="uart2io.output" value="window"/>
+        <property key="uart2io.outputfile" value=""/>
+        <property key="uart2io.uartioenabled" value="false"/>
+        <property key="uart3io.output" value="window"/>
+        <property key="uart3io.outputfile" value=""/>
+        <property key="uart3io.uartioenabled" value="false"/>
+        <property key="uart4io.output" value="window"/>
+        <property key="uart4io.outputfile" value=""/>
+        <property key="uart4io.uartioenabled" value="false"/>
+        <property key="uart5io.output" value="window"/>
+        <property key="uart5io.outputfile" value=""/>
+        <property key="uart5io.uartioenabled" value="false"/>
+        <property key="uart6io.output" value="window"/>
+        <property key="uart6io.outputfile" value=""/>
+        <property key="uart6io.uartioenabled" value="false"/>
+        <property key="uart7io.output" value="window"/>
+        <property key="uart7io.outputfile" value=""/>
+        <property key="uart7io.uartioenabled" value="false"/>
+        <property key="uart8io.output" value="window"/>
+        <property key="uart8io.outputfile" value=""/>
+        <property key="uart8io.uartioenabled" value="false"/>
+        <property key="uart9io.output" value="window"/>
+        <property key="uart9io.outputfile" value=""/>
+        <property key="uart9io.uartioenabled" value="false"/>
+        <property key="warningmessagebreakoptions.W0001_CORE_BITREV_MODULO_EN"
+                  value="report"/>
+        <property key="warningmessagebreakoptions.W0002_CORE_SECURE_MEMORYACCESS"
+                  value="report"/>
+        <property key="warningmessagebreakoptions.W0003_CORE_SW_RESET" value="report"/>
+        <property key="warningmessagebreakoptions.W0004_CORE_WDT_RESET" value="report"/>
+        <property key="warningmessagebreakoptions.W0005_CORE_IOPUW_RESET"
+                  value="report"/>
+        <property key="warningmessagebreakoptions.W0006_CORE_CODE_GUARD_PFC_RESET"
+                  value="report"/>
+        <property key="warningmessagebreakoptions.W0007_CORE_DO_LOOP_STACK_UNDERFLOW"
+                  value="report"/>
+        <property key="warningmessagebreakoptions.W0008_CORE_DO_LOOP_STACK_OVERFLOW"
+                  value="report"/>
+        <property key="warningmessagebreakoptions.W0009_CORE_NESTED_DO_LOOP_RANGE"
+                  value="report"/>
+        <property key="warningmessagebreakoptions.W0010_CORE_SIM32_ODD_WORDACCESS"
+                  value="report"/>
+        <property key="warningmessagebreakoptions.W0011_CORE_SIM32_UNIMPLEMENTED_RAMACCESS"
+                  value="report"/>
+        <property key="warningmessagebreakoptions.W0012_CORE_STACK_OVERFLOW_RESET"
+                  value="report"/>
+        <property key="warningmessagebreakoptions.W0013_CORE_STACK_UNDERFLOW_RESET"
+                  value="report"/>
+        <property key="warningmessagebreakoptions.W0101_SIM_UPDATE_FAILED"
+                  value="report"/>
+        <property key="warningmessagebreakoptions.W0102_SIM_PERIPH_MISSING"
+                  value="report"/>
+        <property key="warningmessagebreakoptions.W0103_SIM_PERIPH_FAILED"
+                  value="report"/>
+        <property key="warningmessagebreakoptions.W0104_SIM_FAILED_TO_INIT_TOOL"
+                  value="report"/>
+        <property key="warningmessagebreakoptions.W0105_SIM_INVALID_FIELD"
+                  value="report"/>
+        <property key="warningmessagebreakoptions.W0201_ADC_NO_STIMULUS_FILE"
+                  value="report"/>
+        <property key="warningmessagebreakoptions.W0202_ADC_GO_DONE_BIT" value="report"/>
+        <property key="warningmessagebreakoptions.W0203_ADC_MINIMUM_2_TAD"
+                  value="report"/>
+        <property key="warningmessagebreakoptions.W0204_ADC_TAD_TOO_SMALL"
+                  value="report"/>
+        <property key="warningmessagebreakoptions.W0205_ADC_UNEXPECTED_TRANSITION"
+                  value="report"/>
+        <property key="warningmessagebreakoptions.W0206_ADC_SAMP_TIME_TOO_SHORT"
+                  value="report"/>
+        <property key="warningmessagebreakoptions.W0207_ADC_NO_PINS_SCANNED"
+                  value="report"/>
+        <property key="warningmessagebreakoptions.W0208_ADC_UNSUPPORTED_CLOCK_SOURCE"
+                  value="report"/>
+        <property key="warningmessagebreakoptions.W0209_ADC_ANALOG_CHANNEL_DIGITAL"
+                  value="report"/>
+        <property key="warningmessagebreakoptions.W0210_ADC_ANALOG_CHANNEL_OUTPUT"
+                  value="report"/>
+        <property key="warningmessagebreakoptions.W0211_ADC_PIN_INVALID_CHANNEL"
+                  value="report"/>
+        <property key="warningmessagebreakoptions.W0212_ADC_BAND_GAP_NOT_SUPPORTED"
+                  value="report"/>
+        <property key="warningmessagebreakoptions.W0213_ADC_RESERVED_SSRC"
+                  value="report"/>
+        <property key="warningmessagebreakoptions.W0214_ADC_POSITIVE_INPUT_DIGITAL"
+                  value="report"/>
+        <property key="warningmessagebreakoptions.W0215_ADC_POSITIVE_INPUT_OUTPUT"
+                  value="report"/>
+        <property key="warningmessagebreakoptions.W0216_ADC_NEGATIVE_INPUT_DIGITAL"
+                  value="report"/>
+        <property key="warningmessagebreakoptions.W0217_ADC_NEGATIVE_INPUT_OUTPUT"
+                  value="report"/>
+        <property key="warningmessagebreakoptions.W0218_ADC_REFERENCE_HIGH_DIGITAL"
+                  value="report"/>
+        <property key="warningmessagebreakoptions.W0219_ADC_REFERENCE_HIGH_OUTPUT"
+                  value="report"/>
+        <property key="warningmessagebreakoptions.W0220_ADC_REFERENCE_LOW_DIGITAL"
+                  value="report"/>
+        <property key="warningmessagebreakoptions.W0221_ADC_REFERENCE_LOW_OUTPUT"
+                  value="report"/>
+        <property key="warningmessagebreakoptions.W0222_ADC_OVERFLOW" value="report"/>
+        <property key="warningmessagebreakoptions.W0223_ADC_UNDERFLOW" value="report"/>
+        <property key="warningmessagebreakoptions.W0224_ADC_CTMU_NOT_SUPPORTED"
+                  value="report"/>
+        <property key="warningmessagebreakoptions.W0225_ADC_INVALID_CH0S"
+                  value="report"/>
+        <property key="warningmessagebreakoptions.W0226_ADC_VBAT_NOT_SUPPORTED"
+                  value="report"/>
+        <property key="warningmessagebreakoptions.W0227_ADC_INVALID_ADCS"
+                  value="report"/>
+        <property key="warningmessagebreakoptions.W0228_ADC_INVALID_ADCS"
+                  value="report"/>
+        <property key="warningmessagebreakoptions.W0229_ADC_INVALID_ADCS"
+                  value="report"/>
+        <property key="warningmessagebreakoptions.W1201_DATAFLASH_MEM_OUTSIDE_RANGE"
+                  value="report"/>
+        <property key="warningmessagebreakoptions.W1202_DATAFLASH_ERASE_WHILE_LOCKED"
+                  value="report"/>
+        <property key="warningmessagebreakoptions.W1203_DATAFLASH_WRITE_WHILE_LOCKED"
+                  value="report"/>
+        <property key="warningmessagebreakoptions.W1401_DMA_PERIPH_NOT_AVAIL"
+                  value="report"/>
+        <property key="warningmessagebreakoptions.W1402_DMA_INVALID_IRQ" value="report"/>
+        <property key="warningmessagebreakoptions.W1403_DMA_INVALID_SFR" value="report"/>
+        <property key="warningmessagebreakoptions.W1404_DMA_INVALID_DMA_ADDR"
+                  value="report"/>
+        <property key="warningmessagebreakoptions.W1405_DMA_IRQ_DIR_MISMATCH"
+                  value="report"/>
+        <property key="warningmessagebreakoptions.W2001_INPUTCAPTURE_TMR3_UNAVAILABLE"
+                  value="report"/>
+        <property key="warningmessagebreakoptions.W2002_INPUTCAPTURE_CAPTURE_EMPTY"
+                  value="report"/>
+        <property key="warningmessagebreakoptions.W2003_INPUTCAPTURE_SYNCSEL_NOT_AVIALABLE"
+                  value="report"/>
+        <property key="warningmessagebreakoptions.W2004_INPUTCAPTURE_BAD_SYNC_SOURCE"
+                  value="report"/>
+        <property key="warningmessagebreakoptions.W2501_OUTPUTCOMPARE_SYNCSEL_NOT_AVIALABLE"
+                  value="report"/>
+        <property key="warningmessagebreakoptions.W2502_OUTPUTCOMPARE_BAD_SYNC_SOURCE"
+                  value="report"/>
+        <property key="warningmessagebreakoptions.W2503_OUTPUTCOMPARE_BAD_TRIGGER_SOURCE"
+                  value="report"/>
+        <property key="warningmessagebreakoptions.W9001_TMR_GATE_AND_EXTCLOCK_ENABLED"
+                  value="report"/>
+        <property key="warningmessagebreakoptions.W9002_TMR_NO_PIN_AVAILABLE"
+                  value="report"/>
+        <property key="warningmessagebreakoptions.W9003_TMR_INVALID_CLOCK_SOURCE"
+                  value="report"/>
+        <property key="warningmessagebreakoptions.W9201_UART_TX_OVERFLOW"
+                  value="report"/>
+        <property key="warningmessagebreakoptions.W9202_UART_TX_CAPTUREFILE"
+                  value="report"/>
+        <property key="warningmessagebreakoptions.W9203_UART_TX_INVALIDINTERRUPTMODE"
+                  value="report"/>
+        <property key="warningmessagebreakoptions.W9204_UART_RX_EMPTY_QUEUE"
+                  value="report"/>
+        <property key="warningmessagebreakoptions.W9205_UART_TX_BADFILE" value="report"/>
+        <property key="warningmessagebreakoptions.W9801_SCL_BAD_SUBTYPE_INDICATION"
+                  value="report"/>
+        <property key="warningmessagebreakoptions.W9802_SCL_FILE_NOT_FOUND"
+                  value="report"/>
+        <property key="warningmessagebreakoptions.W9803_SCL_FAILED_TO_READ_FILE"
+                  value="report"/>
+        <property key="warningmessagebreakoptions.W9804_SCL_UNRECOGNIZED_LABEL"
+                  value="report"/>
+        <property key="warningmessagebreakoptions.W9805_SCL_UNRECOGNIZED_VAR"
+                  value="report"/>
+        <property key="warningmessagebreakoptions.displaywarningmessagesoption"
+                  value=""/>
+        <property key="warningmessagebreakoptions.warningmessages" value="holdstate"/>
+      </Simulator>
     </conf>
   </confs>
 </configurationDescriptor>
diff --git a/FreeRTOS/Demo/PIC24_MPLAB/nbproject/private/configurations.xml b/FreeRTOS/Demo/PIC24_MPLAB/nbproject/private/configurations.xml
index a3d6ca8..8d3f9b9 100644
--- a/FreeRTOS/Demo/PIC24_MPLAB/nbproject/private/configurations.xml
+++ b/FreeRTOS/Demo/PIC24_MPLAB/nbproject/private/configurations.xml
@@ -5,7 +5,7 @@
   <confs>
     <conf name="default" type="2">
       <platformToolSN></platformToolSN>
-      <languageToolchainDir>C:\devtools\Microchip\xc16\v1.11\bin</languageToolchainDir>
+      <languageToolchainDir>C:\DevTools\Microchip\xc16\v1.25\bin</languageToolchainDir>
       <mdbdebugger version="1">
         <placeholder1>place holder 1</placeholder1>
         <placeholder2>place holder 2</placeholder2>
diff --git a/FreeRTOS/Demo/PIC24_MPLAB/nbproject/private/private.xml b/FreeRTOS/Demo/PIC24_MPLAB/nbproject/private/private.xml
index 778e32b..8b05f08 100644
--- a/FreeRTOS/Demo/PIC24_MPLAB/nbproject/private/private.xml
+++ b/FreeRTOS/Demo/PIC24_MPLAB/nbproject/private/private.xml
@@ -1,3 +1,10 @@
-<?xml version="1.0" encoding="UTF-8"?><project-private xmlns="http://www.netbeans.org/ns/project-private/1">
+<?xml version="1.0" encoding="UTF-8"?>
+<project-private xmlns="http://www.netbeans.org/ns/project-private/1">
     <editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/1"/>
+    <editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/2" lastBookmarkId="0"/>
+    <open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2">
+        <group name="Masters19024">
+            <file>file:/C:/E/Dev/FreeRTOS/WorkingCopy/FreeRTOS/Demo/PIC24_MPLAB/main.c</file>
+        </group>
+    </open-files>
 </project-private>
diff --git a/FreeRTOS/Demo/PIC24_MPLAB/nbproject/project.xml b/FreeRTOS/Demo/PIC24_MPLAB/nbproject/project.xml
index 5e4d477..d23b9e3 100644
--- a/FreeRTOS/Demo/PIC24_MPLAB/nbproject/project.xml
+++ b/FreeRTOS/Demo/PIC24_MPLAB/nbproject/project.xml
@@ -1,4 +1,5 @@
-<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://www.netbeans.org/ns/project/1">
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://www.netbeans.org/ns/project/1">
     <type>com.microchip.mplab.nbide.embedded.makeproject</type>
     <configuration>
         <data xmlns="http://www.netbeans.org/ns/make-project/1">
@@ -9,6 +10,7 @@
             <cpp-extensions/>
             <header-extensions>h</header-extensions>
             <sourceEncoding>ISO-8859-1</sourceEncoding>
+            <asminc-extensions/>
             <make-dep-projects/>
         </data>
     </configuration>
diff --git a/FreeRTOS/Demo/PIC32MZ_MPLAB/FreeRTOSConfig.h b/FreeRTOS/Demo/PIC32MZ_MPLAB/FreeRTOSConfig.h
index 894321b..d0e403b 100644
--- a/FreeRTOS/Demo/PIC32MZ_MPLAB/FreeRTOSConfig.h
+++ b/FreeRTOS/Demo/PIC32MZ_MPLAB/FreeRTOSConfig.h
@@ -94,14 +94,14 @@
 #define configPERIPHERAL_CLOCK_HZ				( 40000000UL )
 #define configMAX_PRIORITIES					( 5UL )
 #define configMINIMAL_STACK_SIZE				( 190 )
-#define configISR_STACK_SIZE					( 300 )
-#define configTOTAL_HEAP_SIZE					( ( size_t ) 56000 )
+#define configISR_STACK_SIZE					( 400 )
+#define configTOTAL_HEAP_SIZE					( ( size_t ) 60000 )
 #define configMAX_TASK_NAME_LEN					( 8 )
 #define configUSE_TRACE_FACILITY				0
 #define configUSE_16_BIT_TICKS					0
 #define configIDLE_SHOULD_YIELD					1
 #define configUSE_MUTEXES						1
-#define configCHECK_FOR_STACK_OVERFLOW			3
+#define configCHECK_FOR_STACK_OVERFLOW			3 /* Three also checks the system/interrupt stack. */
 #define configQUEUE_REGISTRY_SIZE				0
 #define configUSE_RECURSIVE_MUTEXES				1
 #define configUSE_MALLOC_FAILED_HOOK			1
@@ -109,6 +109,13 @@
 #define configUSE_COUNTING_SEMAPHORES			1
 #define configGENERATE_RUN_TIME_STATS			0
 
+/* Enable support for Task based FPU operations. This will enable support for
+FPU context saving during switches only on architectures with hardware FPU.
+
+NOTE: This constant is defined in the project options as configurations are 
+provided that both enable and disable floating point support. 
+#define configUSE_TASK_FPU_SUPPORT				0 */
+
 /* Co-routine definitions. */
 #define configUSE_CO_ROUTINES					0
 #define configMAX_CO_ROUTINE_PRIORITIES			( 2 )
@@ -147,5 +154,5 @@
 	extern void vAssertCalled( const char * pcFile, unsigned long ulLine );
 	#define configASSERT( x ) if( ( x ) == 0  ) vAssertCalled( __FILE__, __LINE__ )
 #endif
-
+    
 #endif /* FREERTOS_CONFIG_H */
diff --git a/FreeRTOS/Demo/PIC32MZ_MPLAB/RTOSDemo.X/nbproject/Makefile-PIC32MZ2048_SK.mk b/FreeRTOS/Demo/PIC32MZ_MPLAB/RTOSDemo.X/nbproject/Makefile-PIC32MZ2048_SK.mk
index 44af099..6f00e67 100644
--- a/FreeRTOS/Demo/PIC32MZ_MPLAB/RTOSDemo.X/nbproject/Makefile-PIC32MZ2048_SK.mk
+++ b/FreeRTOS/Demo/PIC32MZ_MPLAB/RTOSDemo.X/nbproject/Makefile-PIC32MZ2048_SK.mk
@@ -45,17 +45,17 @@
 DISTDIR=dist/${CND_CONF}/${IMAGE_TYPE}
 
 # Source Files Quoted if spaced
-SOURCEFILES_QUOTED_IF_SPACED=../../Common/Minimal/GenQTest.c ../../Common/Minimal/QPeek.c ../../Common/Minimal/blocktim.c ../../Common/Minimal/flash_timer.c ../../Common/Minimal/semtest.c ../../Common/Minimal/IntQueue.c ../../Common/Minimal/QueueOverwrite.c ../../Common/Minimal/QueueSet.c ../../Common/Minimal/countsem.c ../../Common/Minimal/dynamic.c ../../Common/Minimal/recmutex.c ../../Common/Minimal/EventGroupsDemo.c ../../../Source/queue.c ../../../Source/tasks.c ../../../Source/list.c ../../../Source/timers.c ../../../Source/portable/MPLAB/PIC32MZ/port.c ../../../Source/portable/MPLAB/PIC32MZ/port_asm.S ../../../Source/portable/MemMang/heap_4.c ../../../Source/event_groups.c ../main.c ../ParTest/ParTest.c ../main_blinky.c ../ConfigPerformance.c ../main_full.c ../RegisterTestTasks.S ../IntQueueTimer.c ../IntQueueTimer_isr.S ../timertest.c ../timertest_isr.S ../ISRTriggeredTask.c ../ISRTriggeredTask_isr.S
+SOURCEFILES_QUOTED_IF_SPACED=../../Common/Minimal/GenQTest.c ../../Common/Minimal/QPeek.c ../../Common/Minimal/blocktim.c ../../Common/Minimal/flash_timer.c ../../Common/Minimal/semtest.c ../../Common/Minimal/IntQueue.c ../../Common/Minimal/QueueOverwrite.c ../../Common/Minimal/QueueSet.c ../../Common/Minimal/countsem.c ../../Common/Minimal/dynamic.c ../../Common/Minimal/recmutex.c ../../Common/Minimal/EventGroupsDemo.c ../../../Source/queue.c ../../../Source/tasks.c ../../../Source/list.c ../../../Source/timers.c ../../../Source/portable/MPLAB/PIC32MZ/port.c ../../../Source/portable/MPLAB/PIC32MZ/port_asm.S ../../../Source/portable/MemMang/heap_4.c ../../../Source/event_groups.c ../main.c ../ParTest/ParTest.c ../main_blinky.c ../ConfigPerformance.c ../main_full.c ../RegisterTestTasks.S ../IntQueueTimer.c ../IntQueueTimer_isr.S ../timertest.c ../timertest_isr.S ../ISRTriggeredTask.c ../ISRTriggeredTask_isr.S ../flop_mz.c
 
 # Object Files Quoted if spaced
-OBJECTFILES_QUOTED_IF_SPACED=${OBJECTDIR}/_ext/1163846883/GenQTest.o ${OBJECTDIR}/_ext/1163846883/QPeek.o ${OBJECTDIR}/_ext/1163846883/blocktim.o ${OBJECTDIR}/_ext/1163846883/flash_timer.o ${OBJECTDIR}/_ext/1163846883/semtest.o ${OBJECTDIR}/_ext/1163846883/IntQueue.o ${OBJECTDIR}/_ext/1163846883/QueueOverwrite.o ${OBJECTDIR}/_ext/1163846883/QueueSet.o ${OBJECTDIR}/_ext/1163846883/countsem.o ${OBJECTDIR}/_ext/1163846883/dynamic.o ${OBJECTDIR}/_ext/1163846883/recmutex.o ${OBJECTDIR}/_ext/1163846883/EventGroupsDemo.o ${OBJECTDIR}/_ext/449926602/queue.o ${OBJECTDIR}/_ext/449926602/tasks.o ${OBJECTDIR}/_ext/449926602/list.o ${OBJECTDIR}/_ext/449926602/timers.o ${OBJECTDIR}/_ext/332309698/port.o ${OBJECTDIR}/_ext/332309698/port_asm.o ${OBJECTDIR}/_ext/1884096877/heap_4.o ${OBJECTDIR}/_ext/449926602/event_groups.o ${OBJECTDIR}/_ext/1472/main.o ${OBJECTDIR}/_ext/809743516/ParTest.o ${OBJECTDIR}/_ext/1472/main_blinky.o ${OBJECTDIR}/_ext/1472/ConfigPerformance.o ${OBJECTDIR}/_ext/1472/main_full.o ${OBJECTDIR}/_ext/1472/RegisterTestTasks.o ${OBJECTDIR}/_ext/1472/IntQueueTimer.o ${OBJECTDIR}/_ext/1472/IntQueueTimer_isr.o ${OBJECTDIR}/_ext/1472/timertest.o ${OBJECTDIR}/_ext/1472/timertest_isr.o ${OBJECTDIR}/_ext/1472/ISRTriggeredTask.o ${OBJECTDIR}/_ext/1472/ISRTriggeredTask_isr.o
-POSSIBLE_DEPFILES=${OBJECTDIR}/_ext/1163846883/GenQTest.o.d ${OBJECTDIR}/_ext/1163846883/QPeek.o.d ${OBJECTDIR}/_ext/1163846883/blocktim.o.d ${OBJECTDIR}/_ext/1163846883/flash_timer.o.d ${OBJECTDIR}/_ext/1163846883/semtest.o.d ${OBJECTDIR}/_ext/1163846883/IntQueue.o.d ${OBJECTDIR}/_ext/1163846883/QueueOverwrite.o.d ${OBJECTDIR}/_ext/1163846883/QueueSet.o.d ${OBJECTDIR}/_ext/1163846883/countsem.o.d ${OBJECTDIR}/_ext/1163846883/dynamic.o.d ${OBJECTDIR}/_ext/1163846883/recmutex.o.d ${OBJECTDIR}/_ext/1163846883/EventGroupsDemo.o.d ${OBJECTDIR}/_ext/449926602/queue.o.d ${OBJECTDIR}/_ext/449926602/tasks.o.d ${OBJECTDIR}/_ext/449926602/list.o.d ${OBJECTDIR}/_ext/449926602/timers.o.d ${OBJECTDIR}/_ext/332309698/port.o.d ${OBJECTDIR}/_ext/332309698/port_asm.o.d ${OBJECTDIR}/_ext/1884096877/heap_4.o.d ${OBJECTDIR}/_ext/449926602/event_groups.o.d ${OBJECTDIR}/_ext/1472/main.o.d ${OBJECTDIR}/_ext/809743516/ParTest.o.d ${OBJECTDIR}/_ext/1472/main_blinky.o.d ${OBJECTDIR}/_ext/1472/ConfigPerformance.o.d ${OBJECTDIR}/_ext/1472/main_full.o.d ${OBJECTDIR}/_ext/1472/RegisterTestTasks.o.d ${OBJECTDIR}/_ext/1472/IntQueueTimer.o.d ${OBJECTDIR}/_ext/1472/IntQueueTimer_isr.o.d ${OBJECTDIR}/_ext/1472/timertest.o.d ${OBJECTDIR}/_ext/1472/timertest_isr.o.d ${OBJECTDIR}/_ext/1472/ISRTriggeredTask.o.d ${OBJECTDIR}/_ext/1472/ISRTriggeredTask_isr.o.d
+OBJECTFILES_QUOTED_IF_SPACED=${OBJECTDIR}/_ext/1163846883/GenQTest.o ${OBJECTDIR}/_ext/1163846883/QPeek.o ${OBJECTDIR}/_ext/1163846883/blocktim.o ${OBJECTDIR}/_ext/1163846883/flash_timer.o ${OBJECTDIR}/_ext/1163846883/semtest.o ${OBJECTDIR}/_ext/1163846883/IntQueue.o ${OBJECTDIR}/_ext/1163846883/QueueOverwrite.o ${OBJECTDIR}/_ext/1163846883/QueueSet.o ${OBJECTDIR}/_ext/1163846883/countsem.o ${OBJECTDIR}/_ext/1163846883/dynamic.o ${OBJECTDIR}/_ext/1163846883/recmutex.o ${OBJECTDIR}/_ext/1163846883/EventGroupsDemo.o ${OBJECTDIR}/_ext/449926602/queue.o ${OBJECTDIR}/_ext/449926602/tasks.o ${OBJECTDIR}/_ext/449926602/list.o ${OBJECTDIR}/_ext/449926602/timers.o ${OBJECTDIR}/_ext/332309698/port.o ${OBJECTDIR}/_ext/332309698/port_asm.o ${OBJECTDIR}/_ext/1884096877/heap_4.o ${OBJECTDIR}/_ext/449926602/event_groups.o ${OBJECTDIR}/_ext/1472/main.o ${OBJECTDIR}/_ext/809743516/ParTest.o ${OBJECTDIR}/_ext/1472/main_blinky.o ${OBJECTDIR}/_ext/1472/ConfigPerformance.o ${OBJECTDIR}/_ext/1472/main_full.o ${OBJECTDIR}/_ext/1472/RegisterTestTasks.o ${OBJECTDIR}/_ext/1472/IntQueueTimer.o ${OBJECTDIR}/_ext/1472/IntQueueTimer_isr.o ${OBJECTDIR}/_ext/1472/timertest.o ${OBJECTDIR}/_ext/1472/timertest_isr.o ${OBJECTDIR}/_ext/1472/ISRTriggeredTask.o ${OBJECTDIR}/_ext/1472/ISRTriggeredTask_isr.o ${OBJECTDIR}/_ext/1472/flop_mz.o
+POSSIBLE_DEPFILES=${OBJECTDIR}/_ext/1163846883/GenQTest.o.d ${OBJECTDIR}/_ext/1163846883/QPeek.o.d ${OBJECTDIR}/_ext/1163846883/blocktim.o.d ${OBJECTDIR}/_ext/1163846883/flash_timer.o.d ${OBJECTDIR}/_ext/1163846883/semtest.o.d ${OBJECTDIR}/_ext/1163846883/IntQueue.o.d ${OBJECTDIR}/_ext/1163846883/QueueOverwrite.o.d ${OBJECTDIR}/_ext/1163846883/QueueSet.o.d ${OBJECTDIR}/_ext/1163846883/countsem.o.d ${OBJECTDIR}/_ext/1163846883/dynamic.o.d ${OBJECTDIR}/_ext/1163846883/recmutex.o.d ${OBJECTDIR}/_ext/1163846883/EventGroupsDemo.o.d ${OBJECTDIR}/_ext/449926602/queue.o.d ${OBJECTDIR}/_ext/449926602/tasks.o.d ${OBJECTDIR}/_ext/449926602/list.o.d ${OBJECTDIR}/_ext/449926602/timers.o.d ${OBJECTDIR}/_ext/332309698/port.o.d ${OBJECTDIR}/_ext/332309698/port_asm.o.d ${OBJECTDIR}/_ext/1884096877/heap_4.o.d ${OBJECTDIR}/_ext/449926602/event_groups.o.d ${OBJECTDIR}/_ext/1472/main.o.d ${OBJECTDIR}/_ext/809743516/ParTest.o.d ${OBJECTDIR}/_ext/1472/main_blinky.o.d ${OBJECTDIR}/_ext/1472/ConfigPerformance.o.d ${OBJECTDIR}/_ext/1472/main_full.o.d ${OBJECTDIR}/_ext/1472/RegisterTestTasks.o.d ${OBJECTDIR}/_ext/1472/IntQueueTimer.o.d ${OBJECTDIR}/_ext/1472/IntQueueTimer_isr.o.d ${OBJECTDIR}/_ext/1472/timertest.o.d ${OBJECTDIR}/_ext/1472/timertest_isr.o.d ${OBJECTDIR}/_ext/1472/ISRTriggeredTask.o.d ${OBJECTDIR}/_ext/1472/ISRTriggeredTask_isr.o.d ${OBJECTDIR}/_ext/1472/flop_mz.o.d
 
 # Object Files
-OBJECTFILES=${OBJECTDIR}/_ext/1163846883/GenQTest.o ${OBJECTDIR}/_ext/1163846883/QPeek.o ${OBJECTDIR}/_ext/1163846883/blocktim.o ${OBJECTDIR}/_ext/1163846883/flash_timer.o ${OBJECTDIR}/_ext/1163846883/semtest.o ${OBJECTDIR}/_ext/1163846883/IntQueue.o ${OBJECTDIR}/_ext/1163846883/QueueOverwrite.o ${OBJECTDIR}/_ext/1163846883/QueueSet.o ${OBJECTDIR}/_ext/1163846883/countsem.o ${OBJECTDIR}/_ext/1163846883/dynamic.o ${OBJECTDIR}/_ext/1163846883/recmutex.o ${OBJECTDIR}/_ext/1163846883/EventGroupsDemo.o ${OBJECTDIR}/_ext/449926602/queue.o ${OBJECTDIR}/_ext/449926602/tasks.o ${OBJECTDIR}/_ext/449926602/list.o ${OBJECTDIR}/_ext/449926602/timers.o ${OBJECTDIR}/_ext/332309698/port.o ${OBJECTDIR}/_ext/332309698/port_asm.o ${OBJECTDIR}/_ext/1884096877/heap_4.o ${OBJECTDIR}/_ext/449926602/event_groups.o ${OBJECTDIR}/_ext/1472/main.o ${OBJECTDIR}/_ext/809743516/ParTest.o ${OBJECTDIR}/_ext/1472/main_blinky.o ${OBJECTDIR}/_ext/1472/ConfigPerformance.o ${OBJECTDIR}/_ext/1472/main_full.o ${OBJECTDIR}/_ext/1472/RegisterTestTasks.o ${OBJECTDIR}/_ext/1472/IntQueueTimer.o ${OBJECTDIR}/_ext/1472/IntQueueTimer_isr.o ${OBJECTDIR}/_ext/1472/timertest.o ${OBJECTDIR}/_ext/1472/timertest_isr.o ${OBJECTDIR}/_ext/1472/ISRTriggeredTask.o ${OBJECTDIR}/_ext/1472/ISRTriggeredTask_isr.o
+OBJECTFILES=${OBJECTDIR}/_ext/1163846883/GenQTest.o ${OBJECTDIR}/_ext/1163846883/QPeek.o ${OBJECTDIR}/_ext/1163846883/blocktim.o ${OBJECTDIR}/_ext/1163846883/flash_timer.o ${OBJECTDIR}/_ext/1163846883/semtest.o ${OBJECTDIR}/_ext/1163846883/IntQueue.o ${OBJECTDIR}/_ext/1163846883/QueueOverwrite.o ${OBJECTDIR}/_ext/1163846883/QueueSet.o ${OBJECTDIR}/_ext/1163846883/countsem.o ${OBJECTDIR}/_ext/1163846883/dynamic.o ${OBJECTDIR}/_ext/1163846883/recmutex.o ${OBJECTDIR}/_ext/1163846883/EventGroupsDemo.o ${OBJECTDIR}/_ext/449926602/queue.o ${OBJECTDIR}/_ext/449926602/tasks.o ${OBJECTDIR}/_ext/449926602/list.o ${OBJECTDIR}/_ext/449926602/timers.o ${OBJECTDIR}/_ext/332309698/port.o ${OBJECTDIR}/_ext/332309698/port_asm.o ${OBJECTDIR}/_ext/1884096877/heap_4.o ${OBJECTDIR}/_ext/449926602/event_groups.o ${OBJECTDIR}/_ext/1472/main.o ${OBJECTDIR}/_ext/809743516/ParTest.o ${OBJECTDIR}/_ext/1472/main_blinky.o ${OBJECTDIR}/_ext/1472/ConfigPerformance.o ${OBJECTDIR}/_ext/1472/main_full.o ${OBJECTDIR}/_ext/1472/RegisterTestTasks.o ${OBJECTDIR}/_ext/1472/IntQueueTimer.o ${OBJECTDIR}/_ext/1472/IntQueueTimer_isr.o ${OBJECTDIR}/_ext/1472/timertest.o ${OBJECTDIR}/_ext/1472/timertest_isr.o ${OBJECTDIR}/_ext/1472/ISRTriggeredTask.o ${OBJECTDIR}/_ext/1472/ISRTriggeredTask_isr.o ${OBJECTDIR}/_ext/1472/flop_mz.o
 
 # Source Files
-SOURCEFILES=../../Common/Minimal/GenQTest.c ../../Common/Minimal/QPeek.c ../../Common/Minimal/blocktim.c ../../Common/Minimal/flash_timer.c ../../Common/Minimal/semtest.c ../../Common/Minimal/IntQueue.c ../../Common/Minimal/QueueOverwrite.c ../../Common/Minimal/QueueSet.c ../../Common/Minimal/countsem.c ../../Common/Minimal/dynamic.c ../../Common/Minimal/recmutex.c ../../Common/Minimal/EventGroupsDemo.c ../../../Source/queue.c ../../../Source/tasks.c ../../../Source/list.c ../../../Source/timers.c ../../../Source/portable/MPLAB/PIC32MZ/port.c ../../../Source/portable/MPLAB/PIC32MZ/port_asm.S ../../../Source/portable/MemMang/heap_4.c ../../../Source/event_groups.c ../main.c ../ParTest/ParTest.c ../main_blinky.c ../ConfigPerformance.c ../main_full.c ../RegisterTestTasks.S ../IntQueueTimer.c ../IntQueueTimer_isr.S ../timertest.c ../timertest_isr.S ../ISRTriggeredTask.c ../ISRTriggeredTask_isr.S
+SOURCEFILES=../../Common/Minimal/GenQTest.c ../../Common/Minimal/QPeek.c ../../Common/Minimal/blocktim.c ../../Common/Minimal/flash_timer.c ../../Common/Minimal/semtest.c ../../Common/Minimal/IntQueue.c ../../Common/Minimal/QueueOverwrite.c ../../Common/Minimal/QueueSet.c ../../Common/Minimal/countsem.c ../../Common/Minimal/dynamic.c ../../Common/Minimal/recmutex.c ../../Common/Minimal/EventGroupsDemo.c ../../../Source/queue.c ../../../Source/tasks.c ../../../Source/list.c ../../../Source/timers.c ../../../Source/portable/MPLAB/PIC32MZ/port.c ../../../Source/portable/MPLAB/PIC32MZ/port_asm.S ../../../Source/portable/MemMang/heap_4.c ../../../Source/event_groups.c ../main.c ../ParTest/ParTest.c ../main_blinky.c ../ConfigPerformance.c ../main_full.c ../RegisterTestTasks.S ../IntQueueTimer.c ../IntQueueTimer_isr.S ../timertest.c ../timertest_isr.S ../ISRTriggeredTask.c ../ISRTriggeredTask_isr.S ../flop_mz.c
 
 
 CFLAGS=
@@ -326,6 +326,12 @@
 	@${RM} ${OBJECTDIR}/_ext/1472/ISRTriggeredTask.o 
 	@${FIXDEPS} "${OBJECTDIR}/_ext/1472/ISRTriggeredTask.o.d" $(SILENT) -rsi ${MP_CC_DIR}../  -c ${MP_CC}  $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1 -fframe-base-loclist  -x c -c -mprocessor=$(MP_PROCESSOR_OPTION)  -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MZ" -I"../../Common/include" -I"../" -Wall -MMD -MF "${OBJECTDIR}/_ext/1472/ISRTriggeredTask.o.d" -o ${OBJECTDIR}/_ext/1472/ISRTriggeredTask.o ../ISRTriggeredTask.c    -Wall -Wextra
 	
+${OBJECTDIR}/_ext/1472/flop_mz.o: ../flop_mz.c  nbproject/Makefile-${CND_CONF}.mk
+	@${MKDIR} "${OBJECTDIR}/_ext/1472" 
+	@${RM} ${OBJECTDIR}/_ext/1472/flop_mz.o.d 
+	@${RM} ${OBJECTDIR}/_ext/1472/flop_mz.o 
+	@${FIXDEPS} "${OBJECTDIR}/_ext/1472/flop_mz.o.d" $(SILENT) -rsi ${MP_CC_DIR}../  -c ${MP_CC}  $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1 -fframe-base-loclist  -x c -c -mprocessor=$(MP_PROCESSOR_OPTION)  -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MZ" -I"../../Common/include" -I"../" -Wall -MMD -MF "${OBJECTDIR}/_ext/1472/flop_mz.o.d" -o ${OBJECTDIR}/_ext/1472/flop_mz.o ../flop_mz.c    -Wall -Wextra
+	
 else
 ${OBJECTDIR}/_ext/1163846883/GenQTest.o: ../../Common/Minimal/GenQTest.c  nbproject/Makefile-${CND_CONF}.mk
 	@${MKDIR} "${OBJECTDIR}/_ext/1163846883" 
@@ -489,6 +495,12 @@
 	@${RM} ${OBJECTDIR}/_ext/1472/ISRTriggeredTask.o 
 	@${FIXDEPS} "${OBJECTDIR}/_ext/1472/ISRTriggeredTask.o.d" $(SILENT) -rsi ${MP_CC_DIR}../  -c ${MP_CC}  $(MP_EXTRA_CC_PRE)  -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION)  -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MZ" -I"../../Common/include" -I"../" -Wall -MMD -MF "${OBJECTDIR}/_ext/1472/ISRTriggeredTask.o.d" -o ${OBJECTDIR}/_ext/1472/ISRTriggeredTask.o ../ISRTriggeredTask.c    -Wall -Wextra
 	
+${OBJECTDIR}/_ext/1472/flop_mz.o: ../flop_mz.c  nbproject/Makefile-${CND_CONF}.mk
+	@${MKDIR} "${OBJECTDIR}/_ext/1472" 
+	@${RM} ${OBJECTDIR}/_ext/1472/flop_mz.o.d 
+	@${RM} ${OBJECTDIR}/_ext/1472/flop_mz.o 
+	@${FIXDEPS} "${OBJECTDIR}/_ext/1472/flop_mz.o.d" $(SILENT) -rsi ${MP_CC_DIR}../  -c ${MP_CC}  $(MP_EXTRA_CC_PRE)  -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION)  -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MZ" -I"../../Common/include" -I"../" -Wall -MMD -MF "${OBJECTDIR}/_ext/1472/flop_mz.o.d" -o ${OBJECTDIR}/_ext/1472/flop_mz.o ../flop_mz.c    -Wall -Wextra
+	
 endif
 
 # ------------------------------------------------------------------------------------
@@ -502,12 +514,12 @@
 ifeq ($(TYPE_IMAGE), DEBUG_RUN)
 dist/${CND_CONF}/${IMAGE_TYPE}/RTOSDemo.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX}: ${OBJECTFILES}  nbproject/Makefile-${CND_CONF}.mk    
 	@${MKDIR} dist/${CND_CONF}/${IMAGE_TYPE} 
-	${MP_CC} $(MP_EXTRA_LD_PRE)  -mdebugger -D__MPLAB_DEBUGGER_PK3=1 -mprocessor=$(MP_PROCESSOR_OPTION)  -o dist/${CND_CONF}/${IMAGE_TYPE}/RTOSDemo.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} ${OBJECTFILES_QUOTED_IF_SPACED}           -mreserve=data@0x0:0x27F   -Wl,--defsym=__MPLAB_BUILD=1$(MP_EXTRA_LD_POST)$(MP_LINKER_FILE_OPTION),--defsym=__MPLAB_DEBUG=1,--defsym=__DEBUG=1,--defsym=__MPLAB_DEBUGGER_PK3=1,--defsym=_min_heap_size=0,-Map="${DISTDIR}/${PROJECTNAME}.${IMAGE_TYPE}.map"
+	${MP_CC} $(MP_EXTRA_LD_PRE)  -mdebugger -D__MPLAB_DEBUGGER_PK3=1 -mprocessor=$(MP_PROCESSOR_OPTION)  -o dist/${CND_CONF}/${IMAGE_TYPE}/RTOSDemo.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} ${OBJECTFILES_QUOTED_IF_SPACED}           -mreserve=data@0x0:0x27F   -Wl,--defsym=__MPLAB_BUILD=1$(MP_EXTRA_LD_POST)$(MP_LINKER_FILE_OPTION),--defsym=__MPLAB_DEBUG=1,--defsym=__DEBUG=1,--defsym=__MPLAB_DEBUGGER_PK3=1,--defsym=_min_heap_size=0,-Map="${DISTDIR}/${PROJECTNAME}.${IMAGE_TYPE}.map",--memorysummary,dist/${CND_CONF}/${IMAGE_TYPE}/memoryfile.xml
 	
 else
 dist/${CND_CONF}/${IMAGE_TYPE}/RTOSDemo.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX}: ${OBJECTFILES}  nbproject/Makefile-${CND_CONF}.mk   
 	@${MKDIR} dist/${CND_CONF}/${IMAGE_TYPE} 
-	${MP_CC} $(MP_EXTRA_LD_PRE)  -mprocessor=$(MP_PROCESSOR_OPTION)  -o dist/${CND_CONF}/${IMAGE_TYPE}/RTOSDemo.X.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX} ${OBJECTFILES_QUOTED_IF_SPACED}          -Wl,--defsym=__MPLAB_BUILD=1$(MP_EXTRA_LD_POST)$(MP_LINKER_FILE_OPTION),--defsym=_min_heap_size=0,-Map="${DISTDIR}/${PROJECTNAME}.${IMAGE_TYPE}.map"
+	${MP_CC} $(MP_EXTRA_LD_PRE)  -mprocessor=$(MP_PROCESSOR_OPTION)  -o dist/${CND_CONF}/${IMAGE_TYPE}/RTOSDemo.X.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX} ${OBJECTFILES_QUOTED_IF_SPACED}          -Wl,--defsym=__MPLAB_BUILD=1$(MP_EXTRA_LD_POST)$(MP_LINKER_FILE_OPTION),--defsym=_min_heap_size=0,-Map="${DISTDIR}/${PROJECTNAME}.${IMAGE_TYPE}.map",--memorysummary,dist/${CND_CONF}/${IMAGE_TYPE}/memoryfile.xml
 	${MP_CC_DIR}\\xc32-bin2hex dist/${CND_CONF}/${IMAGE_TYPE}/RTOSDemo.X.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX} 
 endif
 
diff --git a/FreeRTOS/Demo/PIC32MZ_MPLAB/RTOSDemo.X/nbproject/Makefile-genesis.properties b/FreeRTOS/Demo/PIC32MZ_MPLAB/RTOSDemo.X/nbproject/Makefile-genesis.properties
index e13ccd1..f03ec51 100644
--- a/FreeRTOS/Demo/PIC32MZ_MPLAB/RTOSDemo.X/nbproject/Makefile-genesis.properties
+++ b/FreeRTOS/Demo/PIC32MZ_MPLAB/RTOSDemo.X/nbproject/Makefile-genesis.properties
@@ -1,9 +1,15 @@
 #
-#Wed Jun 24 18:51:30 BST 2015
-PIC32MZ2048_SK.languagetoolchain.dir=C\:\\DevTools\\Microchip\\xc32\\v1.34\\bin
-PIC32MZ2048_SK.languagetoolchain.version=1.34
-configurations-xml=68562b6839a3ad04af65579a10c3115b
-com-microchip-mplab-nbide-embedded-makeproject-MakeProject.md5=47805b5596804b87cda41e61096929be
+#Thu Oct 15 18:30:50 BST 2015
+PIC32MZ2048_SK.com-microchip-mplab-nbide-toolchainXC32-XC32LanguageToolchain.md5=dcb36c7e6928d5535e26dd359786192b
+PIC32MZ2048EF_SK_SOFT_FLOAT.languagetoolchain.dir=C\:\\DevTools\\Microchip\\xc32\\v1.40\\bin
+conf.ids=PIC32MZ2048_SK,PIC32MZ2048EF_SK_SOFT_FLOAT,PIC32MZ2048EF_SK_HARD_FLOAT
+configurations-xml=b89c82494ccd01c641a679d02e4a20c2
+PIC32MZ2048EF_SK_HARD_FLOAT.languagetoolchain.dir=C\:\\DevTools\\Microchip\\xc32\\v1.40\\bin
+PIC32MZ2048EF_SK_SOFT_FLOAT.com-microchip-mplab-nbide-toolchainXC32-XC32LanguageToolchain.md5=dcb36c7e6928d5535e26dd359786192b
+PIC32MZ2048EF_SK_HARD_FLOAT.languagetoolchain.version=1.40
+com-microchip-mplab-nbide-embedded-makeproject-MakeProject.md5=17a71d03e7d3823160f3e8681fc226e8
+PIC32MZ2048_SK.languagetoolchain.version=1.40
+PIC32MZ2048_SK.languagetoolchain.dir=C\:\\DevTools\\Microchip\\xc32\\v1.40\\bin
+PIC32MZ2048EF_SK_HARD_FLOAT.com-microchip-mplab-nbide-toolchainXC32-XC32LanguageToolchain.md5=dcb36c7e6928d5535e26dd359786192b
+PIC32MZ2048EF_SK_SOFT_FLOAT.languagetoolchain.version=1.40
 host.platform=windows
-conf.ids=PIC32MZ2048_SK
-PIC32MZ2048_SK.com-microchip-mplab-nbide-toolchainXC32-XC32LanguageToolchain.md5=a29d9df60dd9a7849837c8f5ca17a004
diff --git a/FreeRTOS/Demo/PIC32MZ_MPLAB/RTOSDemo.X/nbproject/Makefile-impl.mk b/FreeRTOS/Demo/PIC32MZ_MPLAB/RTOSDemo.X/nbproject/Makefile-impl.mk
index da02e68..37740d5 100644
--- a/FreeRTOS/Demo/PIC32MZ_MPLAB/RTOSDemo.X/nbproject/Makefile-impl.mk
+++ b/FreeRTOS/Demo/PIC32MZ_MPLAB/RTOSDemo.X/nbproject/Makefile-impl.mk
@@ -27,11 +27,11 @@
 PROJECTNAME=RTOSDemo.X
 
 # Active Configuration
-DEFAULTCONF=PIC32MZ2048_SK
+DEFAULTCONF=PIC32MZ2048EF_SK_HARD_FLOAT
 CONF=${DEFAULTCONF}
 
 # All Configurations
-ALLCONFS=PIC32MZ2048_SK 
+ALLCONFS=PIC32MZ2048_SK PIC32MZ2048EF_SK_SOFT_FLOAT PIC32MZ2048EF_SK_HARD_FLOAT 
 
 
 # build
@@ -46,12 +46,16 @@
 # clobber
 .clobber-impl: .clobber-pre .depcheck-impl
 	    ${MAKE} SUBPROJECTS=${SUBPROJECTS} CONF=PIC32MZ2048_SK clean
+	    ${MAKE} SUBPROJECTS=${SUBPROJECTS} CONF=PIC32MZ2048EF_SK_SOFT_FLOAT clean
+	    ${MAKE} SUBPROJECTS=${SUBPROJECTS} CONF=PIC32MZ2048EF_SK_HARD_FLOAT clean
 
 
 
 # all
 .all-impl: .all-pre .depcheck-impl
 	    ${MAKE} SUBPROJECTS=${SUBPROJECTS} CONF=PIC32MZ2048_SK build
+	    ${MAKE} SUBPROJECTS=${SUBPROJECTS} CONF=PIC32MZ2048EF_SK_SOFT_FLOAT build
+	    ${MAKE} SUBPROJECTS=${SUBPROJECTS} CONF=PIC32MZ2048EF_SK_HARD_FLOAT build
 
 
 
diff --git a/FreeRTOS/Demo/PIC32MZ_MPLAB/RTOSDemo.X/nbproject/Makefile-local-PIC32MZ2048_SK.mk b/FreeRTOS/Demo/PIC32MZ_MPLAB/RTOSDemo.X/nbproject/Makefile-local-PIC32MZ2048_SK.mk
index 82bb366..3a71c0b 100644
--- a/FreeRTOS/Demo/PIC32MZ_MPLAB/RTOSDemo.X/nbproject/Makefile-local-PIC32MZ2048_SK.mk
+++ b/FreeRTOS/Demo/PIC32MZ_MPLAB/RTOSDemo.X/nbproject/Makefile-local-PIC32MZ2048_SK.mk
@@ -15,23 +15,23 @@
 # $ makeMP_CC="/opt/microchip/mplabc30/v3.30c/bin/pic30-gcc" ...  
 #
 SHELL=cmd.exe
-PATH_TO_IDE_BIN=C:/DevTools/Microchip/MPLABX/v3.05/mplab_ide/mplab_ide/modules/../../bin/
+PATH_TO_IDE_BIN=C:/DevTools/Microchip/MPLABX/v3.10/mplab_ide/mplab_ide/modules/../../bin/
 # Adding MPLAB X bin directory to path.
-PATH:=C:/DevTools/Microchip/MPLABX/v3.05/mplab_ide/mplab_ide/modules/../../bin/:$(PATH)
+PATH:=C:/DevTools/Microchip/MPLABX/v3.10/mplab_ide/mplab_ide/modules/../../bin/:$(PATH)
 # Path to java used to run MPLAB X when this makefile was created
-MP_JAVA_PATH="C:\DevTools\Microchip\MPLABX\v3.05\sys\java\jre1.7.0_67/bin/"
+MP_JAVA_PATH="C:\DevTools\Microchip\MPLABX\v3.10\sys\java\jre1.7.0_79/bin/"
 OS_CURRENT="$(shell uname -s)"
-MP_CC="C:\DevTools\Microchip\xc32\v1.34\bin\xc32-gcc.exe"
-MP_CPPC="C:\DevTools\Microchip\xc32\v1.34\bin\xc32-g++.exe"
+MP_CC="C:\DevTools\Microchip\xc32\v1.40\bin\xc32-gcc.exe"
+MP_CPPC="C:\DevTools\Microchip\xc32\v1.40\bin\xc32-g++.exe"
 # MP_BC is not defined
-MP_AS="C:\DevTools\Microchip\xc32\v1.34\bin\xc32-as.exe"
-MP_LD="C:\DevTools\Microchip\xc32\v1.34\bin\xc32-ld.exe"
-MP_AR="C:\DevTools\Microchip\xc32\v1.34\bin\xc32-ar.exe"
-DEP_GEN=${MP_JAVA_PATH}java -jar "C:/DevTools/Microchip/MPLABX/v3.05/mplab_ide/mplab_ide/modules/../../bin/extractobjectdependencies.jar"
-MP_CC_DIR="C:\DevTools\Microchip\xc32\v1.34\bin"
-MP_CPPC_DIR="C:\DevTools\Microchip\xc32\v1.34\bin"
+MP_AS="C:\DevTools\Microchip\xc32\v1.40\bin\xc32-as.exe"
+MP_LD="C:\DevTools\Microchip\xc32\v1.40\bin\xc32-ld.exe"
+MP_AR="C:\DevTools\Microchip\xc32\v1.40\bin\xc32-ar.exe"
+DEP_GEN=${MP_JAVA_PATH}java -jar "C:/DevTools/Microchip/MPLABX/v3.10/mplab_ide/mplab_ide/modules/../../bin/extractobjectdependencies.jar"
+MP_CC_DIR="C:\DevTools\Microchip\xc32\v1.40\bin"
+MP_CPPC_DIR="C:\DevTools\Microchip\xc32\v1.40\bin"
 # MP_BC_DIR is not defined
-MP_AS_DIR="C:\DevTools\Microchip\xc32\v1.34\bin"
-MP_LD_DIR="C:\DevTools\Microchip\xc32\v1.34\bin"
-MP_AR_DIR="C:\DevTools\Microchip\xc32\v1.34\bin"
+MP_AS_DIR="C:\DevTools\Microchip\xc32\v1.40\bin"
+MP_LD_DIR="C:\DevTools\Microchip\xc32\v1.40\bin"
+MP_AR_DIR="C:\DevTools\Microchip\xc32\v1.40\bin"
 # MP_BC_DIR is not defined
diff --git a/FreeRTOS/Demo/PIC32MZ_MPLAB/RTOSDemo.X/nbproject/Makefile-variables.mk b/FreeRTOS/Demo/PIC32MZ_MPLAB/RTOSDemo.X/nbproject/Makefile-variables.mk
index 571e551..b0f26fb 100644
--- a/FreeRTOS/Demo/PIC32MZ_MPLAB/RTOSDemo.X/nbproject/Makefile-variables.mk
+++ b/FreeRTOS/Demo/PIC32MZ_MPLAB/RTOSDemo.X/nbproject/Makefile-variables.mk
@@ -11,3 +11,17 @@
 CND_PACKAGE_DIR_PIC32MZ2048_SK=${CND_DISTDIR}/PIC32MZ2048_SK/package
 CND_PACKAGE_NAME_PIC32MZ2048_SK=rtosdemo.x.tar
 CND_PACKAGE_PATH_PIC32MZ2048_SK=${CND_DISTDIR}/PIC32MZ2048_SK/package/rtosdemo.x.tar
+# PIC32MZ2048EF_SK_SOFT_FLOAT configuration
+CND_ARTIFACT_DIR_PIC32MZ2048EF_SK_SOFT_FLOAT=dist/PIC32MZ2048EF_SK_SOFT_FLOAT/production
+CND_ARTIFACT_NAME_PIC32MZ2048EF_SK_SOFT_FLOAT=RTOSDemo.X.production.hex
+CND_ARTIFACT_PATH_PIC32MZ2048EF_SK_SOFT_FLOAT=dist/PIC32MZ2048EF_SK_SOFT_FLOAT/production/RTOSDemo.X.production.hex
+CND_PACKAGE_DIR_PIC32MZ2048EF_SK_SOFT_FLOAT=${CND_DISTDIR}/PIC32MZ2048EF_SK_SOFT_FLOAT/package
+CND_PACKAGE_NAME_PIC32MZ2048EF_SK_SOFT_FLOAT=rtosdemo.x.tar
+CND_PACKAGE_PATH_PIC32MZ2048EF_SK_SOFT_FLOAT=${CND_DISTDIR}/PIC32MZ2048EF_SK_SOFT_FLOAT/package/rtosdemo.x.tar
+# PIC32MZ2048EF_SK_HARD_FLOAT configuration
+CND_ARTIFACT_DIR_PIC32MZ2048EF_SK_HARD_FLOAT=dist/PIC32MZ2048EF_SK_HARD_FLOAT/production
+CND_ARTIFACT_NAME_PIC32MZ2048EF_SK_HARD_FLOAT=RTOSDemo.X.production.hex
+CND_ARTIFACT_PATH_PIC32MZ2048EF_SK_HARD_FLOAT=dist/PIC32MZ2048EF_SK_HARD_FLOAT/production/RTOSDemo.X.production.hex
+CND_PACKAGE_DIR_PIC32MZ2048EF_SK_HARD_FLOAT=${CND_DISTDIR}/PIC32MZ2048EF_SK_HARD_FLOAT/package
+CND_PACKAGE_NAME_PIC32MZ2048EF_SK_HARD_FLOAT=rtosdemo.x.tar
+CND_PACKAGE_PATH_PIC32MZ2048EF_SK_HARD_FLOAT=${CND_DISTDIR}/PIC32MZ2048EF_SK_HARD_FLOAT/package/rtosdemo.x.tar
diff --git a/FreeRTOS/Demo/PIC32MZ_MPLAB/RTOSDemo.X/nbproject/configurations.xml b/FreeRTOS/Demo/PIC32MZ_MPLAB/RTOSDemo.X/nbproject/configurations.xml
index 011383d..43fc1c1 100644
--- a/FreeRTOS/Demo/PIC32MZ_MPLAB/RTOSDemo.X/nbproject/configurations.xml
+++ b/FreeRTOS/Demo/PIC32MZ_MPLAB/RTOSDemo.X/nbproject/configurations.xml
@@ -63,6 +63,7 @@
       <itemPath>../timertest_isr.S</itemPath>
       <itemPath>../ISRTriggeredTask.c</itemPath>
       <itemPath>../ISRTriggeredTask_isr.S</itemPath>
+      <itemPath>../flop_mz.c</itemPath>
     </logicalFolder>
     <logicalFolder name="ExternalFiles"
                    displayName="Important Files"
@@ -74,6 +75,9 @@
     <Elem>../</Elem>
     <Elem>../../Common/Minimal</Elem>
     <Elem>../../../Source</Elem>
+    <Elem>../../Common/Full</Elem>
+    <Elem>../../../../FreeRTOS-MPLAB_X-PIC32MZ/GenericRecorderLibSrc</Elem>
+    <Elem>../../FreeRTOS-Plus-Trace</Elem>
   </sourceRootList>
   <projectmakefile>Makefile</projectmakefile>
   <confs>
@@ -85,7 +89,7 @@
         <targetPluginBoard></targetPluginBoard>
         <platformTool>PKOBSKDEPlatformTool</platformTool>
         <languageToolchain>XC32</languageToolchain>
-        <languageToolchainVersion>1.34</languageToolchainVersion>
+        <languageToolchainVersion>1.40</languageToolchainVersion>
         <platform>3</platform>
       </toolsSet>
       <compileType>
@@ -236,7 +240,6 @@
         <property key="memories.programmemory.end" value="0x1d1fffff"/>
         <property key="memories.programmemory.start" value="0x1d000000"/>
         <property key="memories.userotp" value="true"/>
-        <property key="poweroptions.powerenable" value="false"/>
         <property key="programoptions.donoteraseauxmem" value="false"/>
         <property key="programoptions.eraseb4program" value="true"/>
         <property key="programoptions.preservedataflash" value="false"/>
@@ -246,8 +249,903 @@
         <property key="programoptions.preserveprogramrange.start" value="0x1d000000"/>
         <property key="programoptions.usehighvoltageonmclr" value="false"/>
         <property key="programoptions.uselvpprogramming" value="false"/>
-        <property key="voltagevalue" value="3.25"/>
       </PKOBSKDEPlatformTool>
+      <RealICEPlatformTool>
+        <property key="AutoSelectMemRanges" value="auto"/>
+        <property key="CAN1" value="true"/>
+        <property key="CAN2" value="true"/>
+        <property key="CHANGE NOTICE A" value="true"/>
+        <property key="CHANGE NOTICE B" value="true"/>
+        <property key="CHANGE NOTICE C" value="true"/>
+        <property key="CHANGE NOTICE D" value="true"/>
+        <property key="CHANGE NOTICE E" value="true"/>
+        <property key="CHANGE NOTICE F" value="true"/>
+        <property key="CHANGE NOTICE G" value="true"/>
+        <property key="CHANGE NOTICE H" value="true"/>
+        <property key="CHANGE NOTICE J" value="true"/>
+        <property key="CHANGE NOTICE K" value="true"/>
+        <property key="COMPARATOR" value="true"/>
+        <property key="DMA" value="true"/>
+        <property key="ETHERNET CONTROLLER" value="true"/>
+        <property key="INPUT CAPTURE 1" value="true"/>
+        <property key="INPUT CAPTURE 2" value="true"/>
+        <property key="INPUT CAPTURE 3" value="true"/>
+        <property key="INPUT CAPTURE 4" value="true"/>
+        <property key="INPUT CAPTURE 5" value="true"/>
+        <property key="INPUT CAPTURE 6" value="true"/>
+        <property key="INPUT CAPTURE 7" value="true"/>
+        <property key="INPUT CAPTURE 8" value="true"/>
+        <property key="INPUT CAPTURE 9" value="true"/>
+        <property key="INTERRUPT CONTROL" value="true"/>
+        <property key="OUTPUT COMPARE 1" value="true"/>
+        <property key="OUTPUT COMPARE 2" value="true"/>
+        <property key="OUTPUT COMPARE 3" value="true"/>
+        <property key="OUTPUT COMPARE 4" value="true"/>
+        <property key="OUTPUT COMPARE 5" value="true"/>
+        <property key="OUTPUT COMPARE 6" value="true"/>
+        <property key="OUTPUT COMPARE 7" value="true"/>
+        <property key="OUTPUT COMPARE 8" value="true"/>
+        <property key="OUTPUT COMPARE 9" value="true"/>
+        <property key="PARALLEL MASTER/SLAVE PORT" value="true"/>
+        <property key="REAL TIME CLOCK" value="true"/>
+        <property key="REFERENCE CLOCK1" value="true"/>
+        <property key="REFERENCE CLOCK2" value="true"/>
+        <property key="REFERENCE CLOCK3" value="true"/>
+        <property key="REFERENCE CLOCK4" value="true"/>
+        <property key="RIExTrigs.Five" value="OFF"/>
+        <property key="RIExTrigs.Four" value="OFF"/>
+        <property key="RIExTrigs.One" value="OFF"/>
+        <property key="RIExTrigs.Seven" value="OFF"/>
+        <property key="RIExTrigs.Six" value="OFF"/>
+        <property key="RIExTrigs.Three" value="OFF"/>
+        <property key="RIExTrigs.Two" value="OFF"/>
+        <property key="RIExTrigs.Zero" value="OFF"/>
+        <property key="SPI/I2S 1" value="true"/>
+        <property key="SPI/I2S 2" value="true"/>
+        <property key="SPI/I2S 3" value="true"/>
+        <property key="SPI/I2S 4" value="true"/>
+        <property key="SPI/I2S 5" value="true"/>
+        <property key="SPI/I2S 6" value="true"/>
+        <property key="SecureSegment.SegmentProgramming" value="FullChipProgramming"/>
+        <property key="TIMER1" value="true"/>
+        <property key="TIMER2" value="true"/>
+        <property key="TIMER3" value="true"/>
+        <property key="TIMER4" value="true"/>
+        <property key="TIMER5" value="true"/>
+        <property key="TIMER6" value="true"/>
+        <property key="TIMER7" value="true"/>
+        <property key="TIMER8" value="true"/>
+        <property key="TIMER9" value="true"/>
+        <property key="ToolFirmwareFilePath"
+                  value="Press to browse for a specific firmware version"/>
+        <property key="ToolFirmwareOption.UseLatestFirmware" value="true"/>
+        <property key="UART1" value="true"/>
+        <property key="UART2" value="true"/>
+        <property key="UART3" value="true"/>
+        <property key="UART4" value="true"/>
+        <property key="UART5" value="true"/>
+        <property key="UART6" value="true"/>
+        <property key="debugoptions.useswbreakpoints" value="false"/>
+        <property key="hwtoolclock.frcindebug" value="false"/>
+        <property key="hwtoolclock.instructionspeed" value="4"/>
+        <property key="hwtoolclock.units" value="mips"/>
+        <property key="memories.aux" value="false"/>
+        <property key="memories.bootflash" value="true"/>
+        <property key="memories.configurationmemory" value="true"/>
+        <property key="memories.configurationmemory2" value="true"/>
+        <property key="memories.dataflash" value="true"/>
+        <property key="memories.eeprom" value="true"/>
+        <property key="memories.flashdata" value="true"/>
+        <property key="memories.id" value="true"/>
+        <property key="memories.programmemory" value="true"/>
+        <property key="memories.programmemory.end" value="0x1d1fffff"/>
+        <property key="memories.programmemory.partition2" value="true"/>
+        <property key="memories.programmemory.partition2.end"
+                  value="${memories.programmemory.partition2.end.value}"/>
+        <property key="memories.programmemory.partition2.start"
+                  value="${memories.programmemory.partition2.start.value}"/>
+        <property key="memories.programmemory.start" value="0x1d000000"/>
+        <property key="poweroptions.powerenable" value="false"/>
+        <property key="programoptions.donoteraseauxmem" value="false"/>
+        <property key="programoptions.eraseb4program" value="true"/>
+        <property key="programoptions.preservedataflash" value="false"/>
+        <property key="programoptions.preserveeeprom" value="false"/>
+        <property key="programoptions.preserveprogramrange" value="false"/>
+        <property key="programoptions.preserveprogramrange.end" value="0x1d1fffff"/>
+        <property key="programoptions.preserveprogramrange.start" value="0x1d000000"/>
+        <property key="programoptions.preserveuserid" value="false"/>
+        <property key="programoptions.programcalmem" value="false"/>
+        <property key="programoptions.programuserotp" value="false"/>
+        <property key="programoptions.usehighvoltageonmclr" value="false"/>
+        <property key="programoptions.uselvpprogramming" value="false"/>
+        <property key="tracecontrol.include.timestamp" value="summarydataenabled"/>
+        <property key="tracecontrol.select" value="0"/>
+        <property key="tracecontrol.stallontracebufferfull" value="false"/>
+        <property key="tracecontrol.tracebufmax" value="546000"/>
+        <property key="tracecontrol.tracefile" value="defmplabxtrace.log"/>
+        <property key="tracecontrol.tracefilemax" value="10000000"/>
+        <property key="voltagevalue" value="3.25"/>
+      </RealICEPlatformTool>
+    </conf>
+    <conf name="PIC32MZ2048EF_SK_SOFT_FLOAT" type="2">
+      <toolsSet>
+        <developmentServer>localhost</developmentServer>
+        <targetDevice>PIC32MZ2048EFH144</targetDevice>
+        <targetHeader></targetHeader>
+        <targetPluginBoard></targetPluginBoard>
+        <platformTool>PKOBSKDEPlatformTool</platformTool>
+        <languageToolchain>XC32</languageToolchain>
+        <languageToolchainVersion>1.40</languageToolchainVersion>
+        <platform>3</platform>
+      </toolsSet>
+      <compileType>
+        <linkerTool>
+          <linkerLibItems>
+          </linkerLibItems>
+        </linkerTool>
+        <archiverTool>
+        </archiverTool>
+        <loading>
+          <useAlternateLoadableFile>false</useAlternateLoadableFile>
+          <parseOnProdLoad>true</parseOnProdLoad>
+          <alternateLoadableFile></alternateLoadableFile>
+        </loading>
+      </compileType>
+      <makeCustomizationType>
+        <makeCustomizationPreStepEnabled>false</makeCustomizationPreStepEnabled>
+        <makeCustomizationPreStep></makeCustomizationPreStep>
+        <makeCustomizationPostStepEnabled>false</makeCustomizationPostStepEnabled>
+        <makeCustomizationPostStep></makeCustomizationPostStep>
+        <makeCustomizationPutChecksumInUserID>false</makeCustomizationPutChecksumInUserID>
+        <makeCustomizationEnableLongLines>false</makeCustomizationEnableLongLines>
+        <makeCustomizationNormalizeHexFile>false</makeCustomizationNormalizeHexFile>
+      </makeCustomizationType>
+      <C32>
+        <property key="additional-warnings" value="true"/>
+        <property key="enable-app-io" value="false"/>
+        <property key="enable-omit-frame-pointer" value="false"/>
+        <property key="enable-symbols" value="true"/>
+        <property key="enable-unroll-loops" value="false"/>
+        <property key="exclude-floating-point" value="false"/>
+        <property key="extra-include-directories"
+                  value="../../../Source/include;../../../Source/portable/MPLAB/PIC32MZ;../../Common/include;../"/>
+        <property key="generate-16-bit-code" value="false"/>
+        <property key="generate-micro-compressed-code" value="false"/>
+        <property key="isolate-each-function" value="false"/>
+        <property key="make-warnings-into-errors" value="false"/>
+        <property key="optimization-level" value=""/>
+        <property key="place-data-into-section" value="false"/>
+        <property key="post-instruction-scheduling" value="default"/>
+        <property key="pre-instruction-scheduling" value="default"/>
+        <property key="preprocessor-macros" value=""/>
+        <property key="strict-ansi" value="false"/>
+        <property key="support-ansi" value="false"/>
+        <property key="use-cci" value="false"/>
+        <property key="use-iar" value="false"/>
+        <property key="use-indirect-calls" value="false"/>
+        <appendMe value="-Wall -Wextra -DconfigUSE_TASK_FPU_SUPPORT=0"/>
+      </C32>
+      <C32-AR>
+        <property key="additional-options-chop-files" value="false"/>
+      </C32-AR>
+      <C32-AS>
+        <property key="assembler-symbols" value=""/>
+        <property key="enable-symbols" value="true"/>
+        <property key="exclude-floating-point-library" value="false"/>
+        <property key="expand-macros" value="false"/>
+        <property key="extra-include-directories-for-assembler" value=""/>
+        <property key="extra-include-directories-for-preprocessor" value=""/>
+        <property key="false-conditionals" value="false"/>
+        <property key="keep-locals" value="false"/>
+        <property key="list-assembly" value="false"/>
+        <property key="list-source" value="false"/>
+        <property key="list-symbols" value="false"/>
+        <property key="oXC32asm-list-to-file" value="false"/>
+        <property key="omit-debug-dirs" value="false"/>
+        <property key="omit-forms" value="false"/>
+        <property key="preprocessor-macros" value=""/>
+        <property key="warning-level" value=""/>
+        <appendMe value="-I../../../Source/portable/MPLAB/PIC32MZ -I../"/>
+      </C32-AS>
+      <C32-LD>
+        <property key="additional-options-use-response-files" value="false"/>
+        <property key="enable-check-sections" value="false"/>
+        <property key="exclude-floating-point-library" value="false"/>
+        <property key="exclude-standard-libraries" value="false"/>
+        <property key="extra-lib-directories" value=""/>
+        <property key="fill-flash-options-addr" value=""/>
+        <property key="fill-flash-options-const" value=""/>
+        <property key="fill-flash-options-how" value="0"/>
+        <property key="fill-flash-options-inc-const" value="1"/>
+        <property key="fill-flash-options-increment" value=""/>
+        <property key="fill-flash-options-seq" value=""/>
+        <property key="fill-flash-options-what" value="0"/>
+        <property key="generate-16-bit-code" value="false"/>
+        <property key="generate-cross-reference-file" value="false"/>
+        <property key="generate-micro-compressed-code" value="false"/>
+        <property key="heap-size" value="0"/>
+        <property key="input-libraries" value=""/>
+        <property key="linker-symbols" value=""/>
+        <property key="map-file" value="${DISTDIR}/${PROJECTNAME}.${IMAGE_TYPE}.map"/>
+        <property key="no-startup-files" value="false"/>
+        <property key="oXC32ld-extra-opts" value=""/>
+        <property key="optimization-level" value=""/>
+        <property key="preprocessor-macros" value=""/>
+        <property key="remove-unused-sections" value="false"/>
+        <property key="report-memory-usage" value="false"/>
+        <property key="stack-size" value=""/>
+        <property key="symbol-stripping" value=""/>
+        <property key="trace-symbols" value=""/>
+        <property key="warn-section-align" value="false"/>
+      </C32-LD>
+      <C32CPP>
+        <property key="additional-warnings" value="false"/>
+        <property key="check-new" value="false"/>
+        <property key="eh-specs" value="true"/>
+        <property key="enable-app-io" value="false"/>
+        <property key="enable-omit-frame-pointer" value="false"/>
+        <property key="enable-symbols" value="true"/>
+        <property key="enable-unroll-loops" value="false"/>
+        <property key="exceptions" value="true"/>
+        <property key="exclude-floating-point" value="false"/>
+        <property key="extra-include-directories" value=""/>
+        <property key="generate-16-bit-code" value="false"/>
+        <property key="generate-micro-compressed-code" value="false"/>
+        <property key="isolate-each-function" value="false"/>
+        <property key="make-warnings-into-errors" value="false"/>
+        <property key="optimization-level" value=""/>
+        <property key="place-data-into-section" value="false"/>
+        <property key="post-instruction-scheduling" value="default"/>
+        <property key="pre-instruction-scheduling" value="default"/>
+        <property key="preprocessor-macros" value=""/>
+        <property key="rtti" value="true"/>
+        <property key="strict-ansi" value="false"/>
+        <property key="use-cci" value="false"/>
+        <property key="use-iar" value="false"/>
+        <property key="use-indirect-calls" value="false"/>
+      </C32CPP>
+      <C32Global>
+        <property key="common-include-directories" value=""/>
+        <property key="gp-relative-option" value=""/>
+        <property key="legacy-libc" value="false"/>
+        <property key="relaxed-math" value="false"/>
+        <property key="save-temps" value="false"/>
+        <property key="wpo-lto" value="false"/>
+        <appendMe value="-msoft-float"/>
+      </C32Global>
+      <ICD3PlatformTool>
+        <property key="ADC" value="true"/>
+        <property key="AutoSelectMemRanges" value="auto"/>
+        <property key="CAN1" value="true"/>
+        <property key="CAN2" value="true"/>
+        <property key="CHANGE NOTICE A" value="true"/>
+        <property key="CHANGE NOTICE B" value="true"/>
+        <property key="CHANGE NOTICE C" value="true"/>
+        <property key="CHANGE NOTICE D" value="true"/>
+        <property key="CHANGE NOTICE E" value="true"/>
+        <property key="CHANGE NOTICE F" value="true"/>
+        <property key="CHANGE NOTICE G" value="true"/>
+        <property key="CHANGE NOTICE H" value="true"/>
+        <property key="CHANGE NOTICE J" value="true"/>
+        <property key="CHANGE NOTICE K" value="true"/>
+        <property key="COMPARATOR" value="true"/>
+        <property key="DMA" value="true"/>
+        <property key="ETHERNET CONTROLLER" value="true"/>
+        <property key="INPUT CAPTURE 1" value="true"/>
+        <property key="INPUT CAPTURE 2" value="true"/>
+        <property key="INPUT CAPTURE 3" value="true"/>
+        <property key="INPUT CAPTURE 4" value="true"/>
+        <property key="INPUT CAPTURE 5" value="true"/>
+        <property key="INPUT CAPTURE 6" value="true"/>
+        <property key="INPUT CAPTURE 7" value="true"/>
+        <property key="INPUT CAPTURE 8" value="true"/>
+        <property key="INPUT CAPTURE 9" value="true"/>
+        <property key="INTERRUPT CONTROL" value="true"/>
+        <property key="OUTPUT COMPARE 1" value="true"/>
+        <property key="OUTPUT COMPARE 2" value="true"/>
+        <property key="OUTPUT COMPARE 3" value="true"/>
+        <property key="OUTPUT COMPARE 4" value="true"/>
+        <property key="OUTPUT COMPARE 5" value="true"/>
+        <property key="OUTPUT COMPARE 6" value="true"/>
+        <property key="OUTPUT COMPARE 7" value="true"/>
+        <property key="OUTPUT COMPARE 8" value="true"/>
+        <property key="OUTPUT COMPARE 9" value="true"/>
+        <property key="PARALLEL MASTER/SLAVE PORT" value="true"/>
+        <property key="REAL TIME CLOCK" value="true"/>
+        <property key="REFERENCE CLOCK1" value="true"/>
+        <property key="REFERENCE CLOCK2" value="true"/>
+        <property key="REFERENCE CLOCK3" value="true"/>
+        <property key="REFERENCE CLOCK4" value="true"/>
+        <property key="SPI/I2S 1" value="true"/>
+        <property key="SPI/I2S 2" value="true"/>
+        <property key="SPI/I2S 3" value="true"/>
+        <property key="SPI/I2S 4" value="true"/>
+        <property key="SPI/I2S 5" value="true"/>
+        <property key="SPI/I2S 6" value="true"/>
+        <property key="SecureSegment.SegmentProgramming" value="FullChipProgramming"/>
+        <property key="TIMER1" value="true"/>
+        <property key="TIMER2" value="true"/>
+        <property key="TIMER3" value="true"/>
+        <property key="TIMER4" value="true"/>
+        <property key="TIMER5" value="true"/>
+        <property key="TIMER6" value="true"/>
+        <property key="TIMER7" value="true"/>
+        <property key="TIMER8" value="true"/>
+        <property key="TIMER9" value="true"/>
+        <property key="ToolFirmwareFilePath"
+                  value="Press to browse for a specific firmware version"/>
+        <property key="ToolFirmwareOption.UseLatestFirmware" value="true"/>
+        <property key="UART1" value="true"/>
+        <property key="UART2" value="true"/>
+        <property key="UART3" value="true"/>
+        <property key="UART4" value="true"/>
+        <property key="UART5" value="true"/>
+        <property key="UART6" value="true"/>
+        <property key="debugoptions.useswbreakpoints" value="false"/>
+        <property key="hwtoolclock.frcindebug" value="false"/>
+        <property key="memories.aux" value="false"/>
+        <property key="memories.bootflash" value="false"/>
+        <property key="memories.configurationmemory" value="true"/>
+        <property key="memories.configurationmemory2" value="true"/>
+        <property key="memories.dataflash" value="true"/>
+        <property key="memories.eeprom" value="true"/>
+        <property key="memories.flashdata" value="true"/>
+        <property key="memories.id" value="true"/>
+        <property key="memories.programmemory" value="true"/>
+        <property key="memories.programmemory.end" value="0x1d1fffff"/>
+        <property key="memories.programmemory.partition2" value="true"/>
+        <property key="memories.programmemory.partition2.end"
+                  value="${memories.programmemory.partition2.end.value}"/>
+        <property key="memories.programmemory.partition2.start"
+                  value="${memories.programmemory.partition2.start.value}"/>
+        <property key="memories.programmemory.start" value="0x1d000000"/>
+        <property key="poweroptions.powerenable" value="false"/>
+        <property key="programoptions.donoteraseauxmem" value="false"/>
+        <property key="programoptions.eraseb4program" value="true"/>
+        <property key="programoptions.preservedataflash" value="false"/>
+        <property key="programoptions.preserveeeprom" value="false"/>
+        <property key="programoptions.preserveprogramrange" value="false"/>
+        <property key="programoptions.preserveprogramrange.end" value="0x1d1fffff"/>
+        <property key="programoptions.preserveprogramrange.start" value="0x1d000000"/>
+        <property key="programoptions.preserveuserid" value="false"/>
+        <property key="programoptions.programcalmem" value="false"/>
+        <property key="programoptions.programuserotp" value="false"/>
+        <property key="programoptions.testmodeentrymethod" value="VDDFirst"/>
+        <property key="programoptions.usehighvoltageonmclr" value="false"/>
+        <property key="programoptions.uselvpprogramming" value="false"/>
+        <property key="voltagevalue" value="3.25"/>
+      </ICD3PlatformTool>
+      <PKOBSKDEPlatformTool>
+        <property key="AutoSelectMemRanges" value="auto"/>
+        <property key="SecureSegment.SegmentProgramming" value="FullChipProgramming"/>
+        <property key="ToolFirmwareFilePath"
+                  value="Press to browse for a specific firmware version"/>
+        <property key="ToolFirmwareOption.UseLatestFirmware" value="true"/>
+        <property key="firmware.download.all" value="false"/>
+        <property key="memories.configurationmemory" value="false"/>
+        <property key="memories.dataflash" value="true"/>
+        <property key="memories.eeprom" value="false"/>
+        <property key="memories.id" value="false"/>
+        <property key="memories.programmemory" value="true"/>
+        <property key="memories.programmemory.end" value="0x1d1fffff"/>
+        <property key="memories.programmemory.start" value="0x1d000000"/>
+        <property key="memories.userotp" value="true"/>
+        <property key="programoptions.donoteraseauxmem" value="false"/>
+        <property key="programoptions.eraseb4program" value="true"/>
+        <property key="programoptions.preservedataflash" value="false"/>
+        <property key="programoptions.preserveeeprom" value="false"/>
+        <property key="programoptions.preserveprogramrange" value="false"/>
+        <property key="programoptions.preserveprogramrange.end" value="0x1d0007ff"/>
+        <property key="programoptions.preserveprogramrange.start" value="0x1d000000"/>
+        <property key="programoptions.usehighvoltageonmclr" value="false"/>
+        <property key="programoptions.uselvpprogramming" value="false"/>
+      </PKOBSKDEPlatformTool>
+      <RealICEPlatformTool>
+        <property key="ADC" value="true"/>
+        <property key="AutoSelectMemRanges" value="auto"/>
+        <property key="CAN1" value="true"/>
+        <property key="CAN2" value="true"/>
+        <property key="CHANGE NOTICE A" value="true"/>
+        <property key="CHANGE NOTICE B" value="true"/>
+        <property key="CHANGE NOTICE C" value="true"/>
+        <property key="CHANGE NOTICE D" value="true"/>
+        <property key="CHANGE NOTICE E" value="true"/>
+        <property key="CHANGE NOTICE F" value="true"/>
+        <property key="CHANGE NOTICE G" value="true"/>
+        <property key="CHANGE NOTICE H" value="true"/>
+        <property key="CHANGE NOTICE J" value="true"/>
+        <property key="CHANGE NOTICE K" value="true"/>
+        <property key="COMPARATOR" value="true"/>
+        <property key="DMA" value="true"/>
+        <property key="ETHERNET CONTROLLER" value="true"/>
+        <property key="INPUT CAPTURE 1" value="true"/>
+        <property key="INPUT CAPTURE 2" value="true"/>
+        <property key="INPUT CAPTURE 3" value="true"/>
+        <property key="INPUT CAPTURE 4" value="true"/>
+        <property key="INPUT CAPTURE 5" value="true"/>
+        <property key="INPUT CAPTURE 6" value="true"/>
+        <property key="INPUT CAPTURE 7" value="true"/>
+        <property key="INPUT CAPTURE 8" value="true"/>
+        <property key="INPUT CAPTURE 9" value="true"/>
+        <property key="INTERRUPT CONTROL" value="true"/>
+        <property key="OUTPUT COMPARE 1" value="true"/>
+        <property key="OUTPUT COMPARE 2" value="true"/>
+        <property key="OUTPUT COMPARE 3" value="true"/>
+        <property key="OUTPUT COMPARE 4" value="true"/>
+        <property key="OUTPUT COMPARE 5" value="true"/>
+        <property key="OUTPUT COMPARE 6" value="true"/>
+        <property key="OUTPUT COMPARE 7" value="true"/>
+        <property key="OUTPUT COMPARE 8" value="true"/>
+        <property key="OUTPUT COMPARE 9" value="true"/>
+        <property key="PARALLEL MASTER/SLAVE PORT" value="true"/>
+        <property key="REAL TIME CLOCK" value="true"/>
+        <property key="REFERENCE CLOCK1" value="true"/>
+        <property key="REFERENCE CLOCK2" value="true"/>
+        <property key="REFERENCE CLOCK3" value="true"/>
+        <property key="REFERENCE CLOCK4" value="true"/>
+        <property key="RIExTrigs.Five" value="OFF"/>
+        <property key="RIExTrigs.Four" value="OFF"/>
+        <property key="RIExTrigs.One" value="OFF"/>
+        <property key="RIExTrigs.Seven" value="OFF"/>
+        <property key="RIExTrigs.Six" value="OFF"/>
+        <property key="RIExTrigs.Three" value="OFF"/>
+        <property key="RIExTrigs.Two" value="OFF"/>
+        <property key="RIExTrigs.Zero" value="OFF"/>
+        <property key="SPI/I2S 1" value="true"/>
+        <property key="SPI/I2S 2" value="true"/>
+        <property key="SPI/I2S 3" value="true"/>
+        <property key="SPI/I2S 4" value="true"/>
+        <property key="SPI/I2S 5" value="true"/>
+        <property key="SPI/I2S 6" value="true"/>
+        <property key="SecureSegment.SegmentProgramming" value="FullChipProgramming"/>
+        <property key="TIMER1" value="true"/>
+        <property key="TIMER2" value="true"/>
+        <property key="TIMER3" value="true"/>
+        <property key="TIMER4" value="true"/>
+        <property key="TIMER5" value="true"/>
+        <property key="TIMER6" value="true"/>
+        <property key="TIMER7" value="true"/>
+        <property key="TIMER8" value="true"/>
+        <property key="TIMER9" value="true"/>
+        <property key="ToolFirmwareFilePath"
+                  value="Press to browse for a specific firmware version"/>
+        <property key="ToolFirmwareOption.UseLatestFirmware" value="true"/>
+        <property key="UART1" value="true"/>
+        <property key="UART2" value="true"/>
+        <property key="UART3" value="true"/>
+        <property key="UART4" value="true"/>
+        <property key="UART5" value="true"/>
+        <property key="UART6" value="true"/>
+        <property key="debugoptions.useswbreakpoints" value="false"/>
+        <property key="hwtoolclock.frcindebug" value="false"/>
+        <property key="hwtoolclock.instructionspeed" value="4"/>
+        <property key="hwtoolclock.units" value="mips"/>
+        <property key="memories.aux" value="false"/>
+        <property key="memories.bootflash" value="true"/>
+        <property key="memories.configurationmemory" value="true"/>
+        <property key="memories.configurationmemory2" value="true"/>
+        <property key="memories.dataflash" value="true"/>
+        <property key="memories.eeprom" value="true"/>
+        <property key="memories.flashdata" value="true"/>
+        <property key="memories.id" value="true"/>
+        <property key="memories.programmemory" value="true"/>
+        <property key="memories.programmemory.end" value="0x1d1fffff"/>
+        <property key="memories.programmemory.partition2" value="true"/>
+        <property key="memories.programmemory.partition2.end"
+                  value="${memories.programmemory.partition2.end.value}"/>
+        <property key="memories.programmemory.partition2.start"
+                  value="${memories.programmemory.partition2.start.value}"/>
+        <property key="memories.programmemory.start" value="0x1d000000"/>
+        <property key="poweroptions.powerenable" value="false"/>
+        <property key="programoptions.donoteraseauxmem" value="false"/>
+        <property key="programoptions.eraseb4program" value="true"/>
+        <property key="programoptions.preservedataflash" value="false"/>
+        <property key="programoptions.preserveeeprom" value="false"/>
+        <property key="programoptions.preserveprogramrange" value="false"/>
+        <property key="programoptions.preserveprogramrange.end" value="0x1d1fffff"/>
+        <property key="programoptions.preserveprogramrange.start" value="0x1d000000"/>
+        <property key="programoptions.preserveuserid" value="false"/>
+        <property key="programoptions.programcalmem" value="false"/>
+        <property key="programoptions.programuserotp" value="false"/>
+        <property key="programoptions.usehighvoltageonmclr" value="false"/>
+        <property key="programoptions.uselvpprogramming" value="false"/>
+        <property key="tracecontrol.include.timestamp" value="summarydataenabled"/>
+        <property key="tracecontrol.select" value="0"/>
+        <property key="tracecontrol.stallontracebufferfull" value="false"/>
+        <property key="tracecontrol.tracebufmax" value="54600"/>
+        <property key="tracecontrol.tracefile" value="defmplabxtrace.log"/>
+        <property key="tracecontrol.tracefilemax" value="400000000"/>
+        <property key="voltagevalue" value="3.25"/>
+      </RealICEPlatformTool>
+    </conf>
+    <conf name="PIC32MZ2048EF_SK_HARD_FLOAT" type="2">
+      <toolsSet>
+        <developmentServer>localhost</developmentServer>
+        <targetDevice>PIC32MZ2048EFH144</targetDevice>
+        <targetHeader></targetHeader>
+        <targetPluginBoard></targetPluginBoard>
+        <platformTool>PKOBSKDEPlatformTool</platformTool>
+        <languageToolchain>XC32</languageToolchain>
+        <languageToolchainVersion>1.40</languageToolchainVersion>
+        <platform>3</platform>
+      </toolsSet>
+      <compileType>
+        <linkerTool>
+          <linkerLibItems>
+          </linkerLibItems>
+        </linkerTool>
+        <archiverTool>
+        </archiverTool>
+        <loading>
+          <useAlternateLoadableFile>false</useAlternateLoadableFile>
+          <parseOnProdLoad>true</parseOnProdLoad>
+          <alternateLoadableFile></alternateLoadableFile>
+        </loading>
+      </compileType>
+      <makeCustomizationType>
+        <makeCustomizationPreStepEnabled>false</makeCustomizationPreStepEnabled>
+        <makeCustomizationPreStep></makeCustomizationPreStep>
+        <makeCustomizationPostStepEnabled>false</makeCustomizationPostStepEnabled>
+        <makeCustomizationPostStep></makeCustomizationPostStep>
+        <makeCustomizationPutChecksumInUserID>false</makeCustomizationPutChecksumInUserID>
+        <makeCustomizationEnableLongLines>false</makeCustomizationEnableLongLines>
+        <makeCustomizationNormalizeHexFile>false</makeCustomizationNormalizeHexFile>
+      </makeCustomizationType>
+      <C32>
+        <property key="additional-warnings" value="true"/>
+        <property key="enable-app-io" value="false"/>
+        <property key="enable-omit-frame-pointer" value="false"/>
+        <property key="enable-symbols" value="true"/>
+        <property key="enable-unroll-loops" value="false"/>
+        <property key="exclude-floating-point" value="false"/>
+        <property key="extra-include-directories"
+                  value="../../../Source/include;../../../Source/portable/MPLAB/PIC32MZ;../../Common/include;../"/>
+        <property key="generate-16-bit-code" value="false"/>
+        <property key="generate-micro-compressed-code" value="false"/>
+        <property key="isolate-each-function" value="false"/>
+        <property key="make-warnings-into-errors" value="false"/>
+        <property key="optimization-level" value=""/>
+        <property key="place-data-into-section" value="false"/>
+        <property key="post-instruction-scheduling" value="default"/>
+        <property key="pre-instruction-scheduling" value="default"/>
+        <property key="preprocessor-macros" value=""/>
+        <property key="strict-ansi" value="false"/>
+        <property key="support-ansi" value="false"/>
+        <property key="use-cci" value="false"/>
+        <property key="use-iar" value="false"/>
+        <property key="use-indirect-calls" value="false"/>
+        <appendMe value="-Wall -Wextra -DconfigUSE_TASK_FPU_SUPPORT=1"/>
+      </C32>
+      <C32-AR>
+        <property key="additional-options-chop-files" value="false"/>
+      </C32-AR>
+      <C32-AS>
+        <property key="assembler-symbols" value=""/>
+        <property key="enable-symbols" value="true"/>
+        <property key="exclude-floating-point-library" value="false"/>
+        <property key="expand-macros" value="false"/>
+        <property key="extra-include-directories-for-assembler" value=""/>
+        <property key="extra-include-directories-for-preprocessor" value=""/>
+        <property key="false-conditionals" value="false"/>
+        <property key="keep-locals" value="false"/>
+        <property key="list-assembly" value="false"/>
+        <property key="list-source" value="false"/>
+        <property key="list-symbols" value="false"/>
+        <property key="oXC32asm-list-to-file" value="false"/>
+        <property key="omit-debug-dirs" value="false"/>
+        <property key="omit-forms" value="false"/>
+        <property key="preprocessor-macros" value=""/>
+        <property key="warning-level" value=""/>
+        <appendMe value="-I../../../Source/portable/MPLAB/PIC32MZ -I../ -DconfigUSE_TASK_FPU_SUPPORT=1"/>
+      </C32-AS>
+      <C32-LD>
+        <property key="additional-options-use-response-files" value="false"/>
+        <property key="enable-check-sections" value="false"/>
+        <property key="exclude-floating-point-library" value="false"/>
+        <property key="exclude-standard-libraries" value="false"/>
+        <property key="extra-lib-directories" value=""/>
+        <property key="fill-flash-options-addr" value=""/>
+        <property key="fill-flash-options-const" value=""/>
+        <property key="fill-flash-options-how" value="0"/>
+        <property key="fill-flash-options-inc-const" value="1"/>
+        <property key="fill-flash-options-increment" value=""/>
+        <property key="fill-flash-options-seq" value=""/>
+        <property key="fill-flash-options-what" value="0"/>
+        <property key="generate-16-bit-code" value="false"/>
+        <property key="generate-cross-reference-file" value="false"/>
+        <property key="generate-micro-compressed-code" value="false"/>
+        <property key="heap-size" value="0"/>
+        <property key="input-libraries" value=""/>
+        <property key="linker-symbols" value=""/>
+        <property key="map-file" value="${DISTDIR}/${PROJECTNAME}.${IMAGE_TYPE}.map"/>
+        <property key="no-startup-files" value="false"/>
+        <property key="oXC32ld-extra-opts" value=""/>
+        <property key="optimization-level" value=""/>
+        <property key="preprocessor-macros" value=""/>
+        <property key="remove-unused-sections" value="false"/>
+        <property key="report-memory-usage" value="false"/>
+        <property key="stack-size" value=""/>
+        <property key="symbol-stripping" value=""/>
+        <property key="trace-symbols" value=""/>
+        <property key="warn-section-align" value="false"/>
+      </C32-LD>
+      <C32CPP>
+        <property key="additional-warnings" value="false"/>
+        <property key="check-new" value="false"/>
+        <property key="eh-specs" value="true"/>
+        <property key="enable-app-io" value="false"/>
+        <property key="enable-omit-frame-pointer" value="false"/>
+        <property key="enable-symbols" value="true"/>
+        <property key="enable-unroll-loops" value="false"/>
+        <property key="exceptions" value="true"/>
+        <property key="exclude-floating-point" value="false"/>
+        <property key="extra-include-directories" value=""/>
+        <property key="generate-16-bit-code" value="false"/>
+        <property key="generate-micro-compressed-code" value="false"/>
+        <property key="isolate-each-function" value="false"/>
+        <property key="make-warnings-into-errors" value="false"/>
+        <property key="optimization-level" value=""/>
+        <property key="place-data-into-section" value="false"/>
+        <property key="post-instruction-scheduling" value="default"/>
+        <property key="pre-instruction-scheduling" value="default"/>
+        <property key="preprocessor-macros" value=""/>
+        <property key="rtti" value="true"/>
+        <property key="strict-ansi" value="false"/>
+        <property key="use-cci" value="false"/>
+        <property key="use-iar" value="false"/>
+        <property key="use-indirect-calls" value="false"/>
+      </C32CPP>
+      <C32Global>
+        <property key="common-include-directories" value=""/>
+        <property key="gp-relative-option" value=""/>
+        <property key="legacy-libc" value="false"/>
+        <property key="relaxed-math" value="false"/>
+        <property key="save-temps" value="false"/>
+        <property key="wpo-lto" value="false"/>
+      </C32Global>
+      <ICD3PlatformTool>
+        <property key="ADC" value="true"/>
+        <property key="AutoSelectMemRanges" value="auto"/>
+        <property key="CAN1" value="true"/>
+        <property key="CAN2" value="true"/>
+        <property key="CHANGE NOTICE A" value="true"/>
+        <property key="CHANGE NOTICE B" value="true"/>
+        <property key="CHANGE NOTICE C" value="true"/>
+        <property key="CHANGE NOTICE D" value="true"/>
+        <property key="CHANGE NOTICE E" value="true"/>
+        <property key="CHANGE NOTICE F" value="true"/>
+        <property key="CHANGE NOTICE G" value="true"/>
+        <property key="CHANGE NOTICE H" value="true"/>
+        <property key="CHANGE NOTICE J" value="true"/>
+        <property key="CHANGE NOTICE K" value="true"/>
+        <property key="COMPARATOR" value="true"/>
+        <property key="DMA" value="true"/>
+        <property key="ETHERNET CONTROLLER" value="true"/>
+        <property key="INPUT CAPTURE 1" value="true"/>
+        <property key="INPUT CAPTURE 2" value="true"/>
+        <property key="INPUT CAPTURE 3" value="true"/>
+        <property key="INPUT CAPTURE 4" value="true"/>
+        <property key="INPUT CAPTURE 5" value="true"/>
+        <property key="INPUT CAPTURE 6" value="true"/>
+        <property key="INPUT CAPTURE 7" value="true"/>
+        <property key="INPUT CAPTURE 8" value="true"/>
+        <property key="INPUT CAPTURE 9" value="true"/>
+        <property key="INTERRUPT CONTROL" value="true"/>
+        <property key="OUTPUT COMPARE 1" value="true"/>
+        <property key="OUTPUT COMPARE 2" value="true"/>
+        <property key="OUTPUT COMPARE 3" value="true"/>
+        <property key="OUTPUT COMPARE 4" value="true"/>
+        <property key="OUTPUT COMPARE 5" value="true"/>
+        <property key="OUTPUT COMPARE 6" value="true"/>
+        <property key="OUTPUT COMPARE 7" value="true"/>
+        <property key="OUTPUT COMPARE 8" value="true"/>
+        <property key="OUTPUT COMPARE 9" value="true"/>
+        <property key="PARALLEL MASTER/SLAVE PORT" value="true"/>
+        <property key="REAL TIME CLOCK" value="true"/>
+        <property key="REFERENCE CLOCK1" value="true"/>
+        <property key="REFERENCE CLOCK2" value="true"/>
+        <property key="REFERENCE CLOCK3" value="true"/>
+        <property key="REFERENCE CLOCK4" value="true"/>
+        <property key="SPI/I2S 1" value="true"/>
+        <property key="SPI/I2S 2" value="true"/>
+        <property key="SPI/I2S 3" value="true"/>
+        <property key="SPI/I2S 4" value="true"/>
+        <property key="SPI/I2S 5" value="true"/>
+        <property key="SPI/I2S 6" value="true"/>
+        <property key="SecureSegment.SegmentProgramming" value="FullChipProgramming"/>
+        <property key="TIMER1" value="true"/>
+        <property key="TIMER2" value="true"/>
+        <property key="TIMER3" value="true"/>
+        <property key="TIMER4" value="true"/>
+        <property key="TIMER5" value="true"/>
+        <property key="TIMER6" value="true"/>
+        <property key="TIMER7" value="true"/>
+        <property key="TIMER8" value="true"/>
+        <property key="TIMER9" value="true"/>
+        <property key="ToolFirmwareFilePath"
+                  value="Press to browse for a specific firmware version"/>
+        <property key="ToolFirmwareOption.UseLatestFirmware" value="true"/>
+        <property key="UART1" value="true"/>
+        <property key="UART2" value="true"/>
+        <property key="UART3" value="true"/>
+        <property key="UART4" value="true"/>
+        <property key="UART5" value="true"/>
+        <property key="UART6" value="true"/>
+        <property key="debugoptions.useswbreakpoints" value="false"/>
+        <property key="hwtoolclock.frcindebug" value="false"/>
+        <property key="memories.aux" value="false"/>
+        <property key="memories.bootflash" value="false"/>
+        <property key="memories.configurationmemory" value="true"/>
+        <property key="memories.configurationmemory2" value="true"/>
+        <property key="memories.dataflash" value="true"/>
+        <property key="memories.eeprom" value="true"/>
+        <property key="memories.flashdata" value="true"/>
+        <property key="memories.id" value="true"/>
+        <property key="memories.programmemory" value="true"/>
+        <property key="memories.programmemory.end" value="0x1d1fffff"/>
+        <property key="memories.programmemory.partition2" value="true"/>
+        <property key="memories.programmemory.partition2.end"
+                  value="${memories.programmemory.partition2.end.value}"/>
+        <property key="memories.programmemory.partition2.start"
+                  value="${memories.programmemory.partition2.start.value}"/>
+        <property key="memories.programmemory.start" value="0x1d000000"/>
+        <property key="poweroptions.powerenable" value="false"/>
+        <property key="programoptions.donoteraseauxmem" value="false"/>
+        <property key="programoptions.eraseb4program" value="true"/>
+        <property key="programoptions.preservedataflash" value="false"/>
+        <property key="programoptions.preserveeeprom" value="false"/>
+        <property key="programoptions.preserveprogramrange" value="false"/>
+        <property key="programoptions.preserveprogramrange.end" value="0x1d1fffff"/>
+        <property key="programoptions.preserveprogramrange.start" value="0x1d000000"/>
+        <property key="programoptions.preserveuserid" value="false"/>
+        <property key="programoptions.programcalmem" value="false"/>
+        <property key="programoptions.programuserotp" value="false"/>
+        <property key="programoptions.testmodeentrymethod" value="VDDFirst"/>
+        <property key="programoptions.usehighvoltageonmclr" value="false"/>
+        <property key="programoptions.uselvpprogramming" value="false"/>
+        <property key="voltagevalue" value="3.25"/>
+      </ICD3PlatformTool>
+      <PKOBSKDEPlatformTool>
+        <property key="AutoSelectMemRanges" value="auto"/>
+        <property key="SecureSegment.SegmentProgramming" value="FullChipProgramming"/>
+        <property key="ToolFirmwareFilePath"
+                  value="Press to browse for a specific firmware version"/>
+        <property key="ToolFirmwareOption.UseLatestFirmware" value="true"/>
+        <property key="memories.configurationmemory" value="false"/>
+        <property key="memories.dataflash" value="true"/>
+        <property key="memories.eeprom" value="false"/>
+        <property key="memories.id" value="false"/>
+        <property key="memories.programmemory" value="true"/>
+        <property key="memories.programmemory.end" value="0x1d1fffff"/>
+        <property key="memories.programmemory.start" value="0x1d000000"/>
+        <property key="memories.userotp" value="true"/>
+        <property key="programoptions.donoteraseauxmem" value="false"/>
+        <property key="programoptions.eraseb4program" value="true"/>
+        <property key="programoptions.preservedataflash" value="false"/>
+        <property key="programoptions.preserveeeprom" value="false"/>
+        <property key="programoptions.preserveprogramrange" value="false"/>
+        <property key="programoptions.preserveprogramrange.end" value="0x1d0007ff"/>
+        <property key="programoptions.preserveprogramrange.start" value="0x1d000000"/>
+        <property key="programoptions.usehighvoltageonmclr" value="false"/>
+        <property key="programoptions.uselvpprogramming" value="false"/>
+      </PKOBSKDEPlatformTool>
+      <RealICEPlatformTool>
+        <property key="ADC" value="true"/>
+        <property key="AutoSelectMemRanges" value="auto"/>
+        <property key="CAN1" value="true"/>
+        <property key="CAN2" value="true"/>
+        <property key="CHANGE NOTICE A" value="true"/>
+        <property key="CHANGE NOTICE B" value="true"/>
+        <property key="CHANGE NOTICE C" value="true"/>
+        <property key="CHANGE NOTICE D" value="true"/>
+        <property key="CHANGE NOTICE E" value="true"/>
+        <property key="CHANGE NOTICE F" value="true"/>
+        <property key="CHANGE NOTICE G" value="true"/>
+        <property key="CHANGE NOTICE H" value="true"/>
+        <property key="CHANGE NOTICE J" value="true"/>
+        <property key="CHANGE NOTICE K" value="true"/>
+        <property key="COMPARATOR" value="true"/>
+        <property key="DMA" value="true"/>
+        <property key="ETHERNET CONTROLLER" value="true"/>
+        <property key="INPUT CAPTURE 1" value="true"/>
+        <property key="INPUT CAPTURE 2" value="true"/>
+        <property key="INPUT CAPTURE 3" value="true"/>
+        <property key="INPUT CAPTURE 4" value="true"/>
+        <property key="INPUT CAPTURE 5" value="true"/>
+        <property key="INPUT CAPTURE 6" value="true"/>
+        <property key="INPUT CAPTURE 7" value="true"/>
+        <property key="INPUT CAPTURE 8" value="true"/>
+        <property key="INPUT CAPTURE 9" value="true"/>
+        <property key="INTERRUPT CONTROL" value="true"/>
+        <property key="OUTPUT COMPARE 1" value="true"/>
+        <property key="OUTPUT COMPARE 2" value="true"/>
+        <property key="OUTPUT COMPARE 3" value="true"/>
+        <property key="OUTPUT COMPARE 4" value="true"/>
+        <property key="OUTPUT COMPARE 5" value="true"/>
+        <property key="OUTPUT COMPARE 6" value="true"/>
+        <property key="OUTPUT COMPARE 7" value="true"/>
+        <property key="OUTPUT COMPARE 8" value="true"/>
+        <property key="OUTPUT COMPARE 9" value="true"/>
+        <property key="PARALLEL MASTER/SLAVE PORT" value="true"/>
+        <property key="REAL TIME CLOCK" value="true"/>
+        <property key="REFERENCE CLOCK1" value="true"/>
+        <property key="REFERENCE CLOCK2" value="true"/>
+        <property key="REFERENCE CLOCK3" value="true"/>
+        <property key="REFERENCE CLOCK4" value="true"/>
+        <property key="RIExTrigs.Five" value="OFF"/>
+        <property key="RIExTrigs.Four" value="OFF"/>
+        <property key="RIExTrigs.One" value="OFF"/>
+        <property key="RIExTrigs.Seven" value="OFF"/>
+        <property key="RIExTrigs.Six" value="OFF"/>
+        <property key="RIExTrigs.Three" value="OFF"/>
+        <property key="RIExTrigs.Two" value="OFF"/>
+        <property key="RIExTrigs.Zero" value="OFF"/>
+        <property key="SPI/I2S 1" value="true"/>
+        <property key="SPI/I2S 2" value="true"/>
+        <property key="SPI/I2S 3" value="true"/>
+        <property key="SPI/I2S 4" value="true"/>
+        <property key="SPI/I2S 5" value="true"/>
+        <property key="SPI/I2S 6" value="true"/>
+        <property key="SecureSegment.SegmentProgramming" value="FullChipProgramming"/>
+        <property key="TIMER1" value="true"/>
+        <property key="TIMER2" value="true"/>
+        <property key="TIMER3" value="true"/>
+        <property key="TIMER4" value="true"/>
+        <property key="TIMER5" value="true"/>
+        <property key="TIMER6" value="true"/>
+        <property key="TIMER7" value="true"/>
+        <property key="TIMER8" value="true"/>
+        <property key="TIMER9" value="true"/>
+        <property key="ToolFirmwareFilePath"
+                  value="Press to browse for a specific firmware version"/>
+        <property key="ToolFirmwareOption.UseLatestFirmware" value="true"/>
+        <property key="UART1" value="true"/>
+        <property key="UART2" value="true"/>
+        <property key="UART3" value="true"/>
+        <property key="UART4" value="true"/>
+        <property key="UART5" value="true"/>
+        <property key="UART6" value="true"/>
+        <property key="debugoptions.useswbreakpoints" value="false"/>
+        <property key="hwtoolclock.frcindebug" value="false"/>
+        <property key="hwtoolclock.instructionspeed" value="4"/>
+        <property key="hwtoolclock.units" value="mips"/>
+        <property key="memories.aux" value="false"/>
+        <property key="memories.bootflash" value="true"/>
+        <property key="memories.configurationmemory" value="true"/>
+        <property key="memories.configurationmemory2" value="true"/>
+        <property key="memories.dataflash" value="true"/>
+        <property key="memories.eeprom" value="true"/>
+        <property key="memories.flashdata" value="true"/>
+        <property key="memories.id" value="true"/>
+        <property key="memories.programmemory" value="true"/>
+        <property key="memories.programmemory.end" value="0x1d1fffff"/>
+        <property key="memories.programmemory.partition2" value="true"/>
+        <property key="memories.programmemory.partition2.end"
+                  value="${memories.programmemory.partition2.end.value}"/>
+        <property key="memories.programmemory.partition2.start"
+                  value="${memories.programmemory.partition2.start.value}"/>
+        <property key="memories.programmemory.start" value="0x1d000000"/>
+        <property key="poweroptions.powerenable" value="false"/>
+        <property key="programoptions.donoteraseauxmem" value="false"/>
+        <property key="programoptions.eraseb4program" value="true"/>
+        <property key="programoptions.preservedataflash" value="false"/>
+        <property key="programoptions.preserveeeprom" value="false"/>
+        <property key="programoptions.preserveprogramrange" value="false"/>
+        <property key="programoptions.preserveprogramrange.end" value="0x1d1fffff"/>
+        <property key="programoptions.preserveprogramrange.start" value="0x1d000000"/>
+        <property key="programoptions.preserveuserid" value="false"/>
+        <property key="programoptions.programcalmem" value="false"/>
+        <property key="programoptions.programuserotp" value="false"/>
+        <property key="programoptions.usehighvoltageonmclr" value="false"/>
+        <property key="programoptions.uselvpprogramming" value="false"/>
+        <property key="tracecontrol.include.timestamp" value="summarydataenabled"/>
+        <property key="tracecontrol.select" value="0"/>
+        <property key="tracecontrol.stallontracebufferfull" value="false"/>
+        <property key="tracecontrol.tracebufmax" value="54600"/>
+        <property key="tracecontrol.tracefile" value="defmplabxtrace.log"/>
+        <property key="tracecontrol.tracefilemax" value="400000000"/>
+        <property key="voltagevalue" value="3.25"/>
+      </RealICEPlatformTool>
     </conf>
   </confs>
 </configurationDescriptor>
diff --git a/FreeRTOS/Demo/PIC32MZ_MPLAB/RTOSDemo.X/nbproject/private/configurations.xml b/FreeRTOS/Demo/PIC32MZ_MPLAB/RTOSDemo.X/nbproject/private/configurations.xml
index e7c4e37..a084b2b 100644
--- a/FreeRTOS/Demo/PIC32MZ_MPLAB/RTOSDemo.X/nbproject/private/configurations.xml
+++ b/FreeRTOS/Demo/PIC32MZ_MPLAB/RTOSDemo.X/nbproject/private/configurations.xml
@@ -1,11 +1,47 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <configurationDescriptor version="62">
   <projectmakefile>Makefile</projectmakefile>
-  <defaultConf>0</defaultConf>
+  <defaultConf>2</defaultConf>
   <confs>
     <conf name="PIC32MZ2048_SK" type="2">
-      <platformToolSN>:=MPLABComm-USB-Microchip:=&lt;vid>04D8:=&lt;pid>8107:=&lt;rev>0002:=&lt;man>Microchip Technology Incorporated:=&lt;prod>PIC32MZ EC Family:=&lt;sn>BUR135112430:=&lt;drv>x:=&lt;xpt>h:=end</platformToolSN>
-      <languageToolchainDir>C:\DevTools\Microchip\xc32\v1.34\bin</languageToolchainDir>
+      <platformToolSN>:=MPLABComm-USB-Microchip:=&lt;vid>04D8:=&lt;pid>8107:=&lt;rev>0002:=&lt;man>Microchip Technology Incorporated:=&lt;prod>PIC32MZ EF Family:=&lt;sn>BUR153124004:=&lt;drv>x:=&lt;xpt>h:=end</platformToolSN>
+      <languageToolchainDir>C:\DevTools\Microchip\xc32\v1.40\bin</languageToolchainDir>
+      <mdbdebugger version="1">
+        <placeholder1>place holder 1</placeholder1>
+        <placeholder2>place holder 2</placeholder2>
+      </mdbdebugger>
+      <runprofile version="6">
+        <args></args>
+        <rundir></rundir>
+        <buildfirst>true</buildfirst>
+        <console-type>0</console-type>
+        <terminal-type>0</terminal-type>
+        <remove-instrumentation>0</remove-instrumentation>
+        <environment>
+        </environment>
+      </runprofile>
+    </conf>
+    <conf name="PIC32MZ2048EF_SK_SOFT_FLOAT" type="2">
+      <platformToolSN>:=MPLABComm-USB-Microchip:=&lt;vid>04D8:=&lt;pid>8107:=&lt;rev>0002:=&lt;man>Microchip Technology Incorporated:=&lt;prod>PIC32MZ EF Family:=&lt;sn>BUR153124004:=&lt;drv>x:=&lt;xpt>h:=end</platformToolSN>
+      <languageToolchainDir>C:\DevTools\Microchip\xc32\v1.40\bin</languageToolchainDir>
+      <mdbdebugger version="1">
+        <placeholder1>place holder 1</placeholder1>
+        <placeholder2>place holder 2</placeholder2>
+      </mdbdebugger>
+      <runprofile version="6">
+        <args></args>
+        <rundir></rundir>
+        <buildfirst>true</buildfirst>
+        <console-type>0</console-type>
+        <terminal-type>0</terminal-type>
+        <remove-instrumentation>0</remove-instrumentation>
+        <environment>
+        </environment>
+      </runprofile>
+    </conf>
+    <conf name="PIC32MZ2048EF_SK_HARD_FLOAT" type="2">
+      <platformToolSN>:=MPLABComm-USB-Microchip:=&lt;vid>04D8:=&lt;pid>8107:=&lt;rev>0002:=&lt;man>Microchip Technology Incorporated:=&lt;prod>PIC32MZ EF Family:=&lt;sn>BUR153124004:=&lt;drv>x:=&lt;xpt>h:=end</platformToolSN>
+      <languageToolchainDir>C:\DevTools\Microchip\xc32\v1.40\bin</languageToolchainDir>
       <mdbdebugger version="1">
         <placeholder1>place holder 1</placeholder1>
         <placeholder2>place holder 2</placeholder2>
diff --git a/FreeRTOS/Demo/PIC32MZ_MPLAB/RTOSDemo.X/nbproject/private/private.xml b/FreeRTOS/Demo/PIC32MZ_MPLAB/RTOSDemo.X/nbproject/private/private.xml
index a324c25..d1d5490 100644
--- a/FreeRTOS/Demo/PIC32MZ_MPLAB/RTOSDemo.X/nbproject/private/private.xml
+++ b/FreeRTOS/Demo/PIC32MZ_MPLAB/RTOSDemo.X/nbproject/private/private.xml
@@ -4,6 +4,17 @@
     <editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/2" lastBookmarkId="0"/>
     <open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2">
         <group>
+            <file>file:/C:/Microchip/harmony/v1_06/third_party/rtos/FreeRTOS/Source/portable/MPLAB/PIC32MZ/ISR_Support.h</file>
+            <file>file:/C:/Microchip/harmony/v1_06/third_party/rtos/FreeRTOS/Demo/PIC32MZ_MPLAB/FreeRTOSConfig.h</file>
+            <file>file:/C:/Microchip/harmony/v1_06/third_party/rtos/FreeRTOS/Demo/PIC32MZ_MPLAB/flop_mz.c</file>
+            <file>file:/C:/Microchip/harmony/v1_06/third_party/rtos/FreeRTOS/Source/portable/MPLAB/PIC32MZ/port.c</file>
+            <file>file:/C:/Microchip/harmony/v1_06/third_party/rtos/FreeRTOS/Source/portable/MPLAB/PIC32MZ/port_asm.S</file>
+            <file>file:/C:/Microchip/harmony/v1_06/third_party/rtos/FreeRTOS/Source/portable/MPLAB/PIC32MZ/portmacro.h</file>
+            <file>file:/C:/Microchip/harmony/v1_06/third_party/rtos/FreeRTOS/Demo/PIC32MZ_MPLAB/main.c</file>
+            <file>file:/C:/Microchip/harmony/v1_06/third_party/rtos/FreeRTOS/Demo/PIC32MZ_MPLAB/main_blinky.c</file>
+            <file>file:/C:/Microchip/harmony/v1_06/third_party/rtos/FreeRTOS/Demo/PIC32MZ_MPLAB/main_full.c</file>
+        </group>
+        <group name="Masters19024">
             <file>file:/C:/E/Dev/FreeRTOS/WorkingCopy/FreeRTOS/Demo/PIC32MZ_MPLAB/main.c</file>
         </group>
     </open-files>
diff --git a/FreeRTOS/Demo/PIC32MZ_MPLAB/RegisterTestTasks.S b/FreeRTOS/Demo/PIC32MZ_MPLAB/RegisterTestTasks.S
index a46e016..f5e4bf8 100644
--- a/FreeRTOS/Demo/PIC32MZ_MPLAB/RegisterTestTasks.S
+++ b/FreeRTOS/Demo/PIC32MZ_MPLAB/RegisterTestTasks.S
@@ -70,14 +70,53 @@
 
 #include <xc.h>
 #include <sys/asm.h>
+#include "FreeRTOSConfig.h"
 
 	.set	nomips16
- 	.set 	noreorder
+	.set 	noreorder
 
 
- 	.global	vRegTest1
- 	.global vRegTest2
+	.global	vRegTest1
+	.global vRegTest2
 
+/************************************************************************/
+/* Reg test macro helper. Test a register for a known value branching to
+error_loop if not correct otherwise continuing on */
+.macro	portREG_TEST work_reg, test_reg, test_value
+
+	/* Check each register maintains the value assigned to it for the lifetime
+	of the task. */
+	addiu	\work_reg, $0, 0x00
+	addiu	\work_reg, \test_reg, -\test_value
+	beq		\work_reg, $0, 1f
+	nop
+	/* The register value was not that expected.  Jump to the error loop so the
+	cycle counter stops incrementing. */
+	b	error_loop
+	nop
+1:
+	.endm
+
+/************************************************************************/
+/* FPU reg test macro helper, Test an FPU register for a known value branching to
+error_loop if not correct otherwise continuing on */
+	#if ( __mips_hard_float == 1)  && ( configUSE_TASK_FPU_SUPPORT == 1 )
+.macro	portFPU_REG_TEST work_reg, test_reg, test_value
+	/* get the lower 32 bit value from the FPU and compare to the test value */
+	mfc1	\work_reg, \test_reg
+	addiu	\work_reg, \work_reg, -\test_value
+	beq		\work_reg, $0, 1f
+	nop
+
+	/* The register values was not that expected. Jump to the error loop */
+	b	error_loop
+	nop
+1:
+	.endm
+	#endif
+
+
+/************************************************************************/
 	.set	noreorder
 	.set 	noat
 	.ent	error_loop
@@ -93,7 +132,7 @@
 
 
 	.set	noreorder
-	.set 	noat
+	.set	noat
 	.ent	vRegTest1
 
 vRegTest1:
@@ -136,233 +175,192 @@
 	addiu	$22, $0, 0x136
 	mtlo	$22, $ac3
 
+	/* Test the FPU registers if they are present on the part. */
+	#if ( __mips_hard_float == 1 ) && ( configUSE_TASK_FPU_SUPPORT == 1 )
+	addiu	$22, $0, 0x180
+	mtc1	$22, $f0
+	addiu	$22, $0, 0x181
+	mtc1	$22, $f1
+	addiu	$22, $0, 0x182
+	mtc1	$22, $f2
+	addiu	$22, $0, 0x183
+	mtc1	$22, $f3
+	addiu	$22, $0, 0x184
+	mtc1	$22, $f4
+	addiu	$22, $0, 0x185
+	mtc1	$22, $f5
+	addiu	$22, $0, 0x186
+	mtc1	$22, $f6
+	addiu	$22, $0, 0x187
+	mtc1	$22, $f7
+	addiu	$22, $0, 0x188
+	mtc1	$22, $f8
+	addiu	$22, $0, 0x189
+	mtc1	$22, $f9
+	addiu	$22, $0, 0x18A
+	mtc1	$22, $f10
+	addiu	$22, $0, 0x18B
+	mtc1	$22, $f11
+	addiu	$22, $0, 0x18C
+	mtc1	$22, $f12
+	addiu	$22, $0, 0x18D
+	mtc1	$22, $f13
+	addiu	$22, $0, 0x18E
+	mtc1	$22, $f14
+	addiu	$22, $0, 0x18F
+	mtc1	$22, $f15
+	addiu	$22, $0, 0x190
+	mtc1	$22, $f16
+	addiu	$22, $0, 0x191
+	mtc1	$22, $f17
+	addiu	$22, $0, 0x192
+	mtc1	$22, $f18
+	addiu	$22, $0, 0x193
+	mtc1	$22, $f19
+	addiu	$22, $0, 0x194
+	mtc1	$22, $f20
+	addiu	$22, $0, 0x195
+	mtc1	$22, $f21
+	addiu	$22, $0, 0x196
+	mtc1	$22, $f22
+	addiu	$22, $0, 0x197
+	mtc1	$22, $f23
+	addiu	$22, $0, 0x198
+	mtc1	$22, $f24
+	addiu	$22, $0, 0x199
+	mtc1	$22, $f25
+	addiu	$22, $0, 0x19A
+	mtc1	$22, $f26
+	addiu	$22, $0, 0x19B
+	mtc1	$22, $f27
+	addiu	$22, $0, 0x19C
+	mtc1	$22, $f28
+	addiu	$22, $0, 0x19D
+	mtc1	$22, $f29
+	addiu	$22, $0, 0x19E
+	mtc1	$22, $f30
+	addiu	$22, $0, 0x19F
+	mtc1	$22, $f31
+	#endif
+
 vRegTest1Loop:
-	/* Check each register maintains the value assigned to it for the lifetime
-	of the task. */
-	addiu	$22, $0, 0x00
-	addiu	$22, $1, -0x11
-	beq		$22, $0, .+16
-	nop
-	/* The register value was not that expected.  Jump to the error loop so the
-	cycle counter stops incrementing. */
-	b		error_loop
-	nop
+	portREG_TEST	$22, $1, 0x11
+	portREG_TEST	$22, $2, 0x12
+	portREG_TEST	$22, $3, 0x13
+	/* Do not test r4 as we are using it as a loop counter */
+	portREG_TEST	$22, $5, 0x15
+	portREG_TEST	$22, $6, 0x16
+	portREG_TEST	$22, $7, 0x17
+	portREG_TEST	$22, $8, 0x18
+	portREG_TEST	$22, $9, 0x19
+	portREG_TEST	$22, $10, 0x110
+	portREG_TEST	$22, $11, 0x111
+	portREG_TEST	$22, $12, 0x112
+	portREG_TEST	$22, $13, 0x113
+	portREG_TEST	$22, $14, 0x114
+	portREG_TEST	$22, $15, 0x115
+	portREG_TEST	$22, $16, 0x116
+	portREG_TEST	$22, $17, 0x117
+	portREG_TEST	$22, $18, 0x118
+	portREG_TEST	$22, $19, 0x119
+	portREG_TEST	$22, $20, 0x120
+	portREG_TEST	$22, $21, 0x121
+	/* Do not test r22, used as a helper */
+	portREG_TEST	$22, $23, 0x123
+	portREG_TEST	$22, $24, 0x124
+	portREG_TEST	$22, $25, 0x125
+	portREG_TEST	$22, $30, 0x130
 
-	addiu	$22, $0, 0x00
-	addiu	$22, $2, -0x12
+	mfhi		$22, $ac1
+	addiu		$22, $22, -0x131
 	beq		$22, $0, .+16
 	nop
 	b		error_loop
 	nop
 
-	addiu	$22, $0, 0x00
-	addiu	$22, $3, -0x13
+	mflo		$22, $ac1
+	addiu		$22, $22, -0x132
 	beq		$22, $0, .+16
 	nop
 	b		error_loop
 	nop
 
-	addiu	$22, $0, 0x00
-	addiu	$22, $5, -0x15
+	mfhi		$22, $ac2
+	addiu		$22, $22, -0x133
 	beq		$22, $0, .+16
 	nop
 	b		error_loop
 	nop
 
-	addiu	$22, $0, 0x00
-	addiu	$22, $6, -0x16
+	mflo		$22, $ac2
+	addiu		$22, $22, -0x134
 	beq		$22, $0, .+16
 	nop
 	b		error_loop
 	nop
 
-	addiu	$22, $0, 0x00
-	addiu	$22, $7, -0x17
+	mfhi		$22, $ac3
+	addiu		$22, $22, -0x135
 	beq		$22, $0, .+16
 	nop
 	b		error_loop
 	nop
 
-	addiu	$22, $0, 0x00
-	addiu	$22, $8, -0x18
+	mflo		$22, $ac3
+	addiu		$22, $22, -0x136
 	beq		$22, $0, .+16
 	nop
 	b		error_loop
 	nop
 
-	addiu	$22, $0, 0x00
-	addiu	$22, $9, -0x19
-	beq		$22, $0, .+16
-	nop
-	b		error_loop
-	nop
-
-	addiu	$22, $0, 0x00
-	addiu	$22, $10, -0x110
-	beq		$22, $0, .+16
-	nop
-	b		error_loop
-	nop
-
-	addiu	$22, $0, 0x00
-	addiu	$22, $11, -0x111
-	beq		$22, $0, .+16
-	nop
-	b		error_loop
-	nop
-
-	addiu	$22, $0, 0x00
-	addiu	$22, $12, -0x112
-	beq		$22, $0, .+16
-	nop
-	b		error_loop
-	nop
-
-	addiu	$22, $0, 0x00
-	addiu	$22, $13, -0x113
-	beq		$22, $0, .+16
-	nop
-	b		error_loop
-	nop
-
-	addiu	$22, $0, 0x00
-	addiu	$22, $14, -0x114
-	beq		$22, $0, .+16
-	nop
-	b		error_loop
-	nop
-
-	addiu	$22, $0, 0x00
-	addiu	$22, $15, -0x115
-	beq		$22, $0, .+16
-	nop
-	b		error_loop
-	nop
-
-	addiu	$22, $0, 0x00
-	addiu	$22, $16, -0x116
-	beq		$22, $0, .+16
-	nop
-	b		error_loop
-	nop
-
-	addiu	$22, $0, 0x00
-	addiu	$22, $17, -0x117
-	beq		$22, $0, .+16
-	nop
-	b		error_loop
-	nop
-
-	addiu	$22, $0, 0x00
-	addiu	$22, $18, -0x118
-	beq		$22, $0, .+16
-	nop
-	b		error_loop
-	nop
-
-	addiu	$22, $0, 0x00
-	addiu	$22, $19, -0x119
-	beq		$22, $0, .+16
-	nop
-	b		error_loop
-	nop
-
-	addiu	$22, $0, 0x00
-	addiu	$22, $20, -0x120
-	beq		$22, $0, .+16
-	nop
-	b		error_loop
-	nop
-
-	addiu	$22, $0, 0x00
-	addiu	$22, $21, -0x121
-	beq		$22, $0, .+16
-	nop
-	b		error_loop
-	nop
-
-	addiu	$22, $0, 0x00
-	addiu	$22, $23, -0x123
-	beq		$22, $0, .+16
-	nop
-	b		error_loop
-	nop
-
-	addiu	$22, $0, 0x00
-	addiu	$22, $24, -0x124
-	beq		$22, $0, .+16
-	nop
-	b		error_loop
-	nop
-
-	addiu	$22, $0, 0x00
-	addiu	$22, $25, -0x125
-	beq		$22, $0, .+16
-	nop
-	b		error_loop
-	nop
-
-	addiu	$22, $0, 0x00
-	addiu	$22, $30, -0x130
-	beq		$22, $0, .+16
-	nop
-	b		error_loop
-	nop
-
-	mfhi	$22, $ac1
-	addiu	$22, $22, -0x131
-	beq		$22, $0, .+16
-	nop
-	b		error_loop
-	nop
-
-	mflo	$22, $ac1
-	addiu	$22, $22, -0x132
-	beq		$22, $0, .+16
-	nop
-	b		error_loop
-	nop
-
-	mfhi	$22, $ac2
-	addiu	$22, $22, -0x133
-	beq		$22, $0, .+16
-	nop
-	b		error_loop
-	nop
-
-	mflo	$22, $ac2
-	addiu	$22, $22, -0x134
-	beq		$22, $0, .+16
-	nop
-	b		error_loop
-	nop
-
-	mfhi	$22, $ac3
-	addiu	$22, $22, -0x135
-	beq		$22, $0, .+16
-	nop
-	b		error_loop
-	nop
-
-	mflo	$22, $ac3
-	addiu	$22, $22, -0x136
-	beq		$22, $0, .+16
-	nop
-	b		error_loop
-	nop
+	/* Test the FPU registers if they are present on the part. */
+	#if ( __mips_hard_float == 1 ) && ( configUSE_TASK_FPU_SUPPORT == 1 )
+		portFPU_REG_TEST    $22, $f0, 0x180
+		portFPU_REG_TEST    $22, $f1, 0x181
+		portFPU_REG_TEST    $22, $f2, 0x182
+		portFPU_REG_TEST    $22, $f3, 0x183
+		portFPU_REG_TEST    $22, $f4, 0x184
+		portFPU_REG_TEST    $22, $f5, 0x185
+		portFPU_REG_TEST    $22, $f6, 0x186
+		portFPU_REG_TEST    $22, $f7, 0x187
+		portFPU_REG_TEST    $22, $f8, 0x188
+		portFPU_REG_TEST    $22, $f9, 0x189
+		portFPU_REG_TEST    $22, $f10, 0x18A
+		portFPU_REG_TEST    $22, $f11, 0x18B
+		portFPU_REG_TEST    $22, $f12, 0x18C
+		portFPU_REG_TEST    $22, $f13, 0x18D
+		portFPU_REG_TEST    $22, $f14, 0x18E
+		portFPU_REG_TEST    $22, $f15, 0x18F
+		portFPU_REG_TEST    $22, $f16, 0x190
+		portFPU_REG_TEST    $22, $f17, 0x191
+		portFPU_REG_TEST    $22, $f18, 0x192
+		portFPU_REG_TEST    $22, $f19, 0x193
+		portFPU_REG_TEST    $22, $f20, 0x194
+		portFPU_REG_TEST    $22, $f21, 0x195
+		portFPU_REG_TEST    $22, $f22, 0x196
+		portFPU_REG_TEST    $22, $f23, 0x197
+		portFPU_REG_TEST    $22, $f24, 0x198
+		portFPU_REG_TEST    $22, $f25, 0x199
+		portFPU_REG_TEST    $22, $f26, 0x19A
+		portFPU_REG_TEST    $22, $f27, 0x19B
+		portFPU_REG_TEST    $22, $f28, 0x19C
+		portFPU_REG_TEST    $22, $f29, 0x19D
+		portFPU_REG_TEST    $22, $f30, 0x19E
+		portFPU_REG_TEST    $22, $f31, 0x19F
+	#endif
 
 	/* No errors detected.  Increment the loop count so the check timer knows
 	this task is still running without error, then loop back to do it all
 	again.  The address of the loop counter is in $4. */
 	lw		$22, 0( $4 )
-	addiu	$22, $22, 0x01
+	addiu		$22, $22, 0x01
 	sw		$22, 0( $4 )
 	b		vRegTest1Loop
 	nop
 
 	.end	vRegTest1
 
-
+/************************************************************************/
 	.set	noreorder
 	.set 	noat
 	.ent	vRegTest2
@@ -406,174 +404,101 @@
 	addiu	$22, $0, 0x236
 	mtlo	$22, $ac3
 
+	/* Test the FPU registers if they are present on the part. */
+	#if ( __mips_hard_float == 1 ) && ( configUSE_TASK_FPU_SUPPORT == 1 )
+	addiu	$22, $0, 0x280
+	mtc1	$22, $f0
+	addiu	$22, $0, 0x281
+	mtc1	$22, $f1
+	addiu	$22, $0, 0x282
+	mtc1	$22, $f2
+	addiu	$22, $0, 0x283
+	mtc1	$22, $f3
+	addiu	$22, $0, 0x284
+	mtc1	$22, $f4
+	addiu	$22, $0, 0x285
+	mtc1	$22, $f5
+	addiu	$22, $0, 0x286
+	mtc1	$22, $f6
+	addiu	$22, $0, 0x287
+	mtc1	$22, $f7
+	addiu	$22, $0, 0x288
+	mtc1	$22, $f8
+	addiu	$22, $0, 0x289
+	mtc1	$22, $f9
+	addiu	$22, $0, 0x28A
+	mtc1	$22, $f10
+	addiu	$22, $0, 0x28B
+	mtc1	$22, $f11
+	addiu	$22, $0, 0x28C
+	mtc1	$22, $f12
+	addiu	$22, $0, 0x28D
+	mtc1	$22, $f13
+	addiu	$22, $0, 0x28E
+	mtc1	$22, $f14
+	addiu	$22, $0, 0x28F
+	mtc1	$22, $f15
+	addiu	$22, $0, 0x290
+	mtc1	$22, $f16
+	addiu	$22, $0, 0x291
+	mtc1	$22, $f17
+	addiu	$22, $0, 0x292
+	mtc1	$22, $f18
+	addiu	$22, $0, 0x293
+	mtc1	$22, $f19
+	addiu	$22, $0, 0x294
+	mtc1	$22, $f20
+	addiu	$22, $0, 0x295
+	mtc1	$22, $f21
+	addiu	$22, $0, 0x296
+	mtc1	$22, $f22
+	addiu	$22, $0, 0x297
+	mtc1	$22, $f23
+	addiu	$22, $0, 0x298
+	mtc1	$22, $f24
+	addiu	$22, $0, 0x299
+	mtc1	$22, $f25
+	addiu	$22, $0, 0x29A
+	mtc1	$22, $f26
+	addiu	$22, $0, 0x29B
+	mtc1	$22, $f27
+	addiu	$22, $0, 0x29C
+	mtc1	$22, $f28
+	addiu	$22, $0, 0x29D
+	mtc1	$22, $f29
+	addiu	$22, $0, 0x29E
+	mtc1	$22, $f30
+	addiu	$22, $0, 0x29F
+	mtc1	$22, $f31
+	#endif
+
 vRegTest2Loop:
-	addiu	$22, $0, 0x00
-	addiu	$22, $1, -0x21
-	beq		$22, $0, .+16
-	nop
-	b		error_loop
-	nop
-
-	addiu	$22, $0, 0x00
-	addiu	$22, $2, -0x22
-	beq		$22, $0, .+16
-	nop
-	b		error_loop
-	nop
-
-	addiu	$22, $0, 0x00
-	addiu	$22, $3, -0x23
-	beq		$22, $0, .+16
-	nop
-	b		error_loop
-	nop
-
-	addiu	$22, $0, 0x00
-	addiu	$22, $5, -0x25
-	beq		$22, $0, .+16
-	nop
-	b		error_loop
-	nop
-
-	addiu	$22, $0, 0x00
-	addiu	$22, $6, -0x26
-	beq		$22, $0, .+16
-	nop
-	b		error_loop
-	nop
-
-	addiu	$22, $0, 0x00
-	addiu	$22, $7, -0x27
-	beq		$22, $0, .+16
-	nop
-	b		error_loop
-	nop
-
-	addiu	$22, $0, 0x00
-	addiu	$22, $8, -0x28
-	beq		$22, $0, .+16
-	nop
-	b		error_loop
-	nop
-
-	addiu	$22, $0, 0x00
-	addiu	$22, $9, -0x29
-	beq		$22, $0, .+16
-	nop
-	b		error_loop
-	nop
-
-	addiu	$22, $0, 0x00
-	addiu	$22, $10, -0x210
-	beq		$22, $0, .+16
-	nop
-	b		error_loop
-	nop
-
-	addiu	$22, $0, 0x00
-	addiu	$22, $11, -0x211
-	beq		$22, $0, .+16
-	nop
-	b		error_loop
-	nop
-
-	addiu	$22, $0, 0x00
-	addiu	$22, $12, -0x212
-	beq		$22, $0, .+16
-	nop
-	b		error_loop
-	nop
-
-	addiu	$22, $0, 0x00
-	addiu	$22, $13, -0x213
-	beq		$22, $0, .+16
-	nop
-	b		error_loop
-	nop
-
-	addiu	$22, $0, 0x00
-	addiu	$22, $14, -0x214
-	beq		$22, $0, .+16
-	nop
-	b		error_loop
-	nop
-
-	addiu	$22, $0, 0x00
-	addiu	$22, $15, -0x215
-	beq		$22, $0, .+16
-	nop
-	b		error_loop
-	nop
-
-	addiu	$22, $0, 0x00
-	addiu	$22, $16, -0x216
-	beq		$22, $0, .+16
-	nop
-	b		error_loop
-	nop
-
-	addiu	$22, $0, 0x00
-	addiu	$22, $17, -0x217
-	beq		$22, $0, .+16
-	nop
-	b		error_loop
-	nop
-
-	addiu	$22, $0, 0x00
-	addiu	$22, $18, -0x218
-	beq		$22, $0, .+16
-	nop
-	b		error_loop
-	nop
-
-	addiu	$22, $0, 0x00
-	addiu	$22, $19, -0x219
-	beq		$22, $0, .+16
-	nop
-	b		error_loop
-	nop
-
-	addiu	$22, $0, 0x00
-	addiu	$22, $20, -0x220
-	beq		$22, $0, .+16
-	nop
-	b		error_loop
-	nop
-
-	addiu	$22, $0, 0x00
-	addiu	$22, $21, -0x221
-	beq		$22, $0, .+16
-	nop
-	b		error_loop
-	nop
-
-	addiu	$22, $0, 0x00
-	addiu	$22, $23, -0x223
-	beq		$22, $0, .+16
-	nop
-	b		error_loop
-	nop
-
-	addiu	$22, $0, 0x00
-	addiu	$22, $24, -0x224
-	beq		$22, $0, .+16
-	nop
-	b		error_loop
-	nop
-
-	addiu	$22, $0, 0x00
-	addiu	$22, $25, -0x225
-	beq		$22, $0, .+16
-	nop
-	b		error_loop
-	nop
-
-	addiu	$22, $0, 0x00
-	addiu	$22, $30, -0x230
-	beq		$22, $0, .+16
-	nop
-	b		error_loop
-	nop
+	portREG_TEST	$22, $1, 0x21
+	portREG_TEST	$22, $2, 0x22
+	portREG_TEST	$22, $3, 0x23
+	/* Do not test r4 as we are using it as a loop counter */
+	portREG_TEST	$22, $5, 0x25
+	portREG_TEST	$22, $6, 0x26
+	portREG_TEST	$22, $7, 0x27
+	portREG_TEST	$22, $8, 0x28
+	portREG_TEST	$22, $9, 0x29
+	portREG_TEST	$22, $10, 0x210
+	portREG_TEST	$22, $11, 0x211
+	portREG_TEST	$22, $12, 0x212
+	portREG_TEST	$22, $13, 0x213
+	portREG_TEST	$22, $14, 0x214
+	portREG_TEST	$22, $15, 0x215
+	portREG_TEST	$22, $16, 0x216
+	portREG_TEST	$22, $17, 0x217
+	portREG_TEST	$22, $18, 0x218
+	portREG_TEST	$22, $19, 0x219
+	portREG_TEST	$22, $20, 0x220
+	portREG_TEST	$22, $21, 0x221
+	/* Do not test r22, used as a helper */
+	portREG_TEST	$22, $23, 0x223
+	portREG_TEST	$22, $24, 0x224
+	portREG_TEST	$22, $25, 0x225
+	portREG_TEST	$22, $30, 0x230
 
 	mfhi	$22, $ac1
 	addiu	$22, $22, -0x231
@@ -617,6 +542,42 @@
 	b		error_loop
 	nop
 
+	/* Test the FPU registers if they are present on the part. */
+	#if ( __mips_hard_float == 1 ) && ( configUSE_TASK_FPU_SUPPORT == 1 )
+		portFPU_REG_TEST    $22, $f0, 0x280
+		portFPU_REG_TEST    $22, $f1, 0x281
+		portFPU_REG_TEST    $22, $f2, 0x282
+		portFPU_REG_TEST    $22, $f3, 0x283
+		portFPU_REG_TEST    $22, $f4, 0x284
+		portFPU_REG_TEST    $22, $f5, 0x285
+		portFPU_REG_TEST    $22, $f6, 0x286
+		portFPU_REG_TEST    $22, $f7, 0x287
+		portFPU_REG_TEST    $22, $f8, 0x288
+		portFPU_REG_TEST    $22, $f9, 0x289
+		portFPU_REG_TEST    $22, $f10, 0x28A
+		portFPU_REG_TEST    $22, $f11, 0x28B
+		portFPU_REG_TEST    $22, $f12, 0x28C
+		portFPU_REG_TEST    $22, $f13, 0x28D
+		portFPU_REG_TEST    $22, $f14, 0x28E
+		portFPU_REG_TEST    $22, $f15, 0x28F
+		portFPU_REG_TEST    $22, $f16, 0x290
+		portFPU_REG_TEST    $22, $f17, 0x291
+		portFPU_REG_TEST    $22, $f18, 0x292
+		portFPU_REG_TEST    $22, $f19, 0x293
+		portFPU_REG_TEST    $22, $f20, 0x294
+		portFPU_REG_TEST    $22, $f21, 0x295
+		portFPU_REG_TEST    $22, $f22, 0x296
+		portFPU_REG_TEST    $22, $f23, 0x297
+		portFPU_REG_TEST    $22, $f24, 0x298
+		portFPU_REG_TEST    $22, $f25, 0x299
+		portFPU_REG_TEST    $22, $f26, 0x29A
+		portFPU_REG_TEST    $22, $f27, 0x29B
+		portFPU_REG_TEST    $22, $f28, 0x29C
+		portFPU_REG_TEST    $22, $f29, 0x29D
+		portFPU_REG_TEST    $22, $f30, 0x29E
+		portFPU_REG_TEST    $22, $f31, 0x29F
+	#endif
+
 	/* No errors detected.  Increment the loop count so the check timer knows
 	this task is still running without error, then loop back to do it all
 	again.  The address of the loop counter is in $4. */
diff --git a/FreeRTOS/Demo/PIC32MZ_MPLAB/flop_mz.c b/FreeRTOS/Demo/PIC32MZ_MPLAB/flop_mz.c
new file mode 100644
index 0000000..2dd5c32
--- /dev/null
+++ b/FreeRTOS/Demo/PIC32MZ_MPLAB/flop_mz.c
@@ -0,0 +1,388 @@
+/*
+    FreeRTOS V8.2.2 - Copyright (C) 2015 Real Time Engineers Ltd.
+    All rights reserved
+
+    VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
+
+    This file is part of the FreeRTOS distribution.
+
+    FreeRTOS is free software; you can redistribute it and/or modify it under
+    the terms of the GNU General Public License (version 2) as published by the
+    Free Software Foundation >>!AND MODIFIED BY!<< the FreeRTOS exception.
+
+    ***************************************************************************
+    >>!   NOTE: The modification to the GPL is included to allow you to     !<<
+    >>!   distribute a combined work that includes FreeRTOS without being   !<<
+    >>!   obliged to provide the source code for proprietary components     !<<
+    >>!   outside of the FreeRTOS kernel.                                   !<<
+    ***************************************************************************
+
+    FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY
+    WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+    FOR A PARTICULAR PURPOSE.  Full license text is available on the following
+    link: http://www.freertos.org/a00114.html
+
+    ***************************************************************************
+     *                                                                       *
+     *    FreeRTOS provides completely free yet professionally developed,    *
+     *    robust, strictly quality controlled, supported, and cross          *
+     *    platform software that is more than just the market leader, it     *
+     *    is the industry's de facto standard.                               *
+     *                                                                       *
+     *    Help yourself get started quickly while simultaneously helping     *
+     *    to support the FreeRTOS project by purchasing a FreeRTOS           *
+     *    tutorial book, reference manual, or both:                          *
+     *    http://www.FreeRTOS.org/Documentation                              *
+     *                                                                       *
+    ***************************************************************************
+
+    http://www.FreeRTOS.org/FAQHelp.html - Having a problem?  Start by reading
+    the FAQ page "My application does not run, what could be wrong?".  Have you
+    defined configASSERT()?
+
+    http://www.FreeRTOS.org/support - In return for receiving this top quality
+    embedded software for free we request you assist our global community by
+    participating in the support forum.
+
+    http://www.FreeRTOS.org/training - Investing in training allows your team to
+    be as productive as possible as early as possible.  Now you can receive
+    FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers
+    Ltd, and the world's leading authority on the world's leading RTOS.
+
+    http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
+    including FreeRTOS+Trace - an indispensable productivity tool, a DOS
+    compatible FAT file system, and our tiny thread aware UDP/IP stack.
+
+    http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.
+    Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.
+
+    http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High
+    Integrity Systems ltd. to sell under the OpenRTOS brand.  Low cost OpenRTOS
+    licenses offer ticketed support, indemnification and commercial middleware.
+
+    http://www.SafeRTOS.com - High Integrity Systems also provide a safety
+    engineered and independently SIL3 certified version for use in safety and
+    mission critical applications that require provable dependability.
+
+    1 tab == 4 spaces!
+*/
+
+/*
+ * Creates eight tasks, each of which loops continuously performing a
+ * floating point calculation.
+ *
+ * All the tasks run at the idle priority and never block or yield.  This causes
+ * all eight tasks to time slice with the idle task.  Running at the idle priority
+ * means that these tasks will get pre-empted any time another task is ready to run
+ * or a time slice occurs.  More often than not the pre-emption will occur mid
+ * calculation, creating a good test of the schedulers context switch mechanism - a
+ * calculation producing an unexpected result could be a symptom of a corruption in
+ * the context of a task.
+ */
+
+#include <stdlib.h>
+#include <math.h>
+
+/* Scheduler include files. */
+#include "FreeRTOS.h"
+#include "task.h"
+
+/* Demo program include files. */
+#include "flop_mz.h"
+
+#define mathSTACK_SIZE		(configMINIMAL_STACK_SIZE + 100)
+#define mathNUMBER_OF_TASKS  ( 8 )
+
+/* Four tasks, each of which performs a different floating point calculation.
+Each of the four is created twice. */
+static portTASK_FUNCTION_PROTO( vCompetingMathTask1, pvParameters );
+static portTASK_FUNCTION_PROTO( vCompetingMathTask2, pvParameters );
+static portTASK_FUNCTION_PROTO( vCompetingMathTask3, pvParameters );
+static portTASK_FUNCTION_PROTO( vCompetingMathTask4, pvParameters );
+
+/* These variables are used to check that all the tasks are still running.  If a
+task gets a calculation wrong it will
+stop incrementing its check variable. */
+static volatile unsigned long ulTaskCheck[ mathNUMBER_OF_TASKS ] = { 0 };
+
+/*-----------------------------------------------------------*/
+
+void vStartMathTasks( unsigned portBASE_TYPE uxPriority )
+{
+	xTaskCreate( vCompetingMathTask1, "Math1", mathSTACK_SIZE, ( void * ) &( ulTaskCheck[ 0 ] ), uxPriority, NULL );
+	xTaskCreate( vCompetingMathTask2, "Math2", mathSTACK_SIZE, ( void * ) &( ulTaskCheck[ 1 ] ), uxPriority, NULL );
+	xTaskCreate( vCompetingMathTask3, "Math3", mathSTACK_SIZE, ( void * ) &( ulTaskCheck[ 2 ] ), uxPriority, NULL );
+	xTaskCreate( vCompetingMathTask4, "Math4", mathSTACK_SIZE, ( void * ) &( ulTaskCheck[ 3 ] ), uxPriority, NULL );
+	xTaskCreate( vCompetingMathTask1, "Math5", mathSTACK_SIZE, ( void * ) &( ulTaskCheck[ 4 ] ), uxPriority, NULL );
+	xTaskCreate( vCompetingMathTask2, "Math6", mathSTACK_SIZE, ( void * ) &( ulTaskCheck[ 5 ] ), uxPriority, NULL );
+	xTaskCreate( vCompetingMathTask3, "Math7", mathSTACK_SIZE, ( void * ) &( ulTaskCheck[ 6 ] ), uxPriority, NULL );
+	xTaskCreate( vCompetingMathTask4, "Math8", mathSTACK_SIZE, ( void * ) &( ulTaskCheck[ 7 ] ), uxPriority, NULL );
+}
+/*-----------------------------------------------------------*/
+
+static portTASK_FUNCTION( vCompetingMathTask1, pvParameters )
+{
+volatile portDOUBLE d1, d2, d3, d4;
+volatile unsigned long *pulTaskCheckVariable;
+volatile portDOUBLE dAnswer;
+short sError = pdFALSE;
+
+
+	/* Must be called before any hardware floating point operations are
+	performed to let the RTOS portable layer know that this task requires
+	a floating point context. */
+	portTASK_USES_FLOATING_POINT();
+
+	d1 = 123.4567;
+	d2 = 2345.6789;
+	d3 = -918.222;
+
+	dAnswer = ( d1 + d2 ) * d3;
+
+	/* The variable this task increments to show it is still running is passed in
+	as the parameter. */
+	pulTaskCheckVariable = ( unsigned long * ) pvParameters;
+    
+	/* Keep performing a calculation and checking the result against a constant. */
+	for(;;)
+	{
+		d1 = 123.4567;
+		d2 = 2345.6789;
+		d3 = -918.222;
+
+		d4 = ( d1 + d2 ) * d3;
+
+		#if configUSE_PREEMPTION == 0
+			taskYIELD();
+		#endif
+
+		/* If the calculation does not match the expected constant, stop the
+		increment of the check variable. */
+		if( fabs( d4 - dAnswer ) > 0.001 )
+		{
+			sError = pdTRUE;
+		}
+
+		if( sError == pdFALSE )
+		{
+			/* If the calculation has always been correct, increment the check
+			variable so we know this task is still running okay. */
+			( *pulTaskCheckVariable )++;
+		}
+
+		#if configUSE_PREEMPTION == 0
+			taskYIELD();
+		#endif
+
+	}
+}
+/*-----------------------------------------------------------*/
+
+static portTASK_FUNCTION( vCompetingMathTask2, pvParameters )
+{
+volatile portDOUBLE d1, d2, d3, d4;
+volatile unsigned long *pulTaskCheckVariable;
+volatile portDOUBLE dAnswer;
+short sError = pdFALSE;
+
+	/* Must be called before any hardware floating point operations are
+	performed to let the RTOS portable layer know that this task requires
+	a floating point context. */
+	portTASK_USES_FLOATING_POINT();
+
+	d1 = -389.38;
+	d2 = 32498.2;
+	d3 = -2.0001;
+
+	dAnswer = ( d1 / d2 ) * d3;
+
+
+	/* The variable this task increments to show it is still running is passed in
+	as the parameter. */
+	pulTaskCheckVariable = ( unsigned long * ) pvParameters;
+
+	/* Keep performing a calculation and checking the result against a constant. */
+	for( ;; )
+	{
+		d1 = -389.38;
+		d2 = 32498.2;
+		d3 = -2.0001;
+
+		d4 = ( d1 / d2 ) * d3;
+
+		#if configUSE_PREEMPTION == 0
+			taskYIELD();
+		#endif
+
+		/* If the calculation does not match the expected constant, stop the
+		increment of the check variable. */
+		if( fabs( d4 - dAnswer ) > 0.001 )
+		{
+			sError = pdTRUE;
+		}
+
+		if( sError == pdFALSE )
+		{
+			/* If the calculation has always been correct, increment the check
+			variable so we know
+			this task is still running okay. */
+			( *pulTaskCheckVariable )++;
+		}
+
+		#if configUSE_PREEMPTION == 0
+			taskYIELD();
+		#endif
+	}
+}
+/*-----------------------------------------------------------*/
+
+static portTASK_FUNCTION( vCompetingMathTask3, pvParameters )
+{
+volatile portDOUBLE *pdArray, dTotal1, dTotal2, dDifference;
+volatile unsigned long *pulTaskCheckVariable;
+const size_t xArraySize = 10;
+size_t xPosition;
+short sError = pdFALSE;
+
+	/* Must be called before any hardware floating point operations are
+	performed to let the RTOS portable layer know that this task requires
+	a floating point context. */
+	portTASK_USES_FLOATING_POINT();
+
+	/* The variable this task increments to show it is still running is passed in
+	as the parameter. */
+	pulTaskCheckVariable = ( unsigned long * ) pvParameters;
+
+	pdArray = ( portDOUBLE * ) pvPortMalloc( xArraySize * sizeof( portDOUBLE ) );
+
+	/* Keep filling an array, keeping a running total of the values placed in the
+	array.  Then run through the array adding up all the values.  If the two totals
+	do not match, stop the check variable from incrementing. */
+	for( ;; )
+	{
+		dTotal1 = 0.0;
+		dTotal2 = 0.0;
+
+		for( xPosition = 0; xPosition < xArraySize; xPosition++ )
+		{
+			pdArray[ xPosition ] = ( portDOUBLE ) xPosition + 5.5;
+			dTotal1 += ( portDOUBLE ) xPosition + 5.5;
+		}
+
+		#if configUSE_PREEMPTION == 0
+			taskYIELD();
+		#endif
+
+		for( xPosition = 0; xPosition < xArraySize; xPosition++ )
+		{
+			dTotal2 += pdArray[ xPosition ];
+		}
+
+		dDifference = dTotal1 - dTotal2;
+		if( fabs( dDifference ) > 0.001 )
+		{
+			sError = pdTRUE;
+		}
+
+		#if configUSE_PREEMPTION == 0
+			taskYIELD();
+		#endif
+
+		if( sError == pdFALSE )
+		{
+			/* If the calculation has always been correct, increment the check
+			variable so we know	this task is still running okay. */
+			( *pulTaskCheckVariable )++;
+		}
+	}
+}
+/*-----------------------------------------------------------*/
+
+static portTASK_FUNCTION( vCompetingMathTask4, pvParameters )
+{
+volatile portDOUBLE *pdArray, dTotal1, dTotal2, dDifference;
+volatile unsigned long *pulTaskCheckVariable;
+const size_t xArraySize = 10;
+size_t xPosition;
+short sError = pdFALSE;
+
+	/* Must be called before any hardware floating point operations are
+	performed to let the RTOS portable layer know that this task requires
+	a floating point context. */
+	portTASK_USES_FLOATING_POINT();
+
+	/* The variable this task increments to show it is still running is passed in
+	as the parameter. */
+	pulTaskCheckVariable = ( unsigned long * ) pvParameters;
+
+	pdArray = ( portDOUBLE * ) pvPortMalloc( xArraySize * sizeof( portDOUBLE ) );
+
+	/* Keep filling an array, keeping a running total of the values placed in the
+	array.  Then run through the array adding up all the values.  If the two totals
+	do not match, stop the check variable from incrementing. */
+	for( ;; )
+	{
+		dTotal1 = 0.0;
+		dTotal2 = 0.0;
+
+		for( xPosition = 0; xPosition < xArraySize; xPosition++ )
+		{
+			pdArray[ xPosition ] = ( portDOUBLE ) xPosition * 12.123;
+			dTotal1 += ( portDOUBLE ) xPosition * 12.123;
+		}
+
+		#if configUSE_PREEMPTION == 0
+			taskYIELD();
+		#endif
+
+		for( xPosition = 0; xPosition < xArraySize; xPosition++ )
+		{
+			dTotal2 += pdArray[ xPosition ];
+		}
+
+		dDifference = dTotal1 - dTotal2;
+		if( fabs( dDifference ) > 0.001 )
+		{
+			sError = pdTRUE;
+		}
+
+		#if configUSE_PREEMPTION == 0
+			taskYIELD();
+		#endif
+
+		if( sError == pdFALSE )
+		{
+			/* If the calculation has always been correct, increment the check
+			variable so we know	this task is still running okay. */
+			( *pulTaskCheckVariable )++;
+		}
+	}
+}
+/*-----------------------------------------------------------*/
+
+/* This is called to check that all the created tasks are still running. */
+portBASE_TYPE xAreMathsTaskStillRunning( void )
+{
+/* Keep a history of the check variables so we know if they have been incremented
+since the last call. */
+static unsigned long ulLastTaskCheck[ mathNUMBER_OF_TASKS ] = { ( unsigned short ) 0 };
+portBASE_TYPE xReturn = pdTRUE, xTask;
+
+	/* Check the maths tasks are still running by ensuring their check variables
+	are still incrementing. */
+	for( xTask = 0; xTask < mathNUMBER_OF_TASKS; xTask++ )
+	{
+		if( ulTaskCheck[ xTask ] == ulLastTaskCheck[ xTask ] )
+		{
+			/* The check has not incremented so an error exists. */
+			xReturn = pdFALSE;
+		}
+
+		ulLastTaskCheck[ xTask ] = ulTaskCheck[ xTask ];
+	}
+
+	return xReturn;
+}
+
+
+
diff --git a/FreeRTOS/Demo/PIC32MZ_MPLAB/flop_mz.h b/FreeRTOS/Demo/PIC32MZ_MPLAB/flop_mz.h
new file mode 100644
index 0000000..aaeefdc
--- /dev/null
+++ b/FreeRTOS/Demo/PIC32MZ_MPLAB/flop_mz.h
@@ -0,0 +1,78 @@
+/*
+    FreeRTOS V8.2.2 - Copyright (C) 2015 Real Time Engineers Ltd.
+    All rights reserved
+
+    VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
+
+    This file is part of the FreeRTOS distribution.
+
+    FreeRTOS is free software; you can redistribute it and/or modify it under
+    the terms of the GNU General Public License (version 2) as published by the
+    Free Software Foundation >>!AND MODIFIED BY!<< the FreeRTOS exception.
+
+    ***************************************************************************
+    >>!   NOTE: The modification to the GPL is included to allow you to     !<<
+    >>!   distribute a combined work that includes FreeRTOS without being   !<<
+    >>!   obliged to provide the source code for proprietary components     !<<
+    >>!   outside of the FreeRTOS kernel.                                   !<<
+    ***************************************************************************
+
+    FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY
+    WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+    FOR A PARTICULAR PURPOSE.  Full license text is available on the following
+    link: http://www.freertos.org/a00114.html
+
+    ***************************************************************************
+     *                                                                       *
+     *    FreeRTOS provides completely free yet professionally developed,    *
+     *    robust, strictly quality controlled, supported, and cross          *
+     *    platform software that is more than just the market leader, it     *
+     *    is the industry's de facto standard.                               *
+     *                                                                       *
+     *    Help yourself get started quickly while simultaneously helping     *
+     *    to support the FreeRTOS project by purchasing a FreeRTOS           *
+     *    tutorial book, reference manual, or both:                          *
+     *    http://www.FreeRTOS.org/Documentation                              *
+     *                                                                       *
+    ***************************************************************************
+
+    http://www.FreeRTOS.org/FAQHelp.html - Having a problem?  Start by reading
+    the FAQ page "My application does not run, what could be wrong?".  Have you
+    defined configASSERT()?
+
+    http://www.FreeRTOS.org/support - In return for receiving this top quality
+    embedded software for free we request you assist our global community by
+    participating in the support forum.
+
+    http://www.FreeRTOS.org/training - Investing in training allows your team to
+    be as productive as possible as early as possible.  Now you can receive
+    FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers
+    Ltd, and the world's leading authority on the world's leading RTOS.
+
+    http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
+    including FreeRTOS+Trace - an indispensable productivity tool, a DOS
+    compatible FAT file system, and our tiny thread aware UDP/IP stack.
+
+    http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.
+    Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.
+
+    http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High
+    Integrity Systems ltd. to sell under the OpenRTOS brand.  Low cost OpenRTOS
+    licenses offer ticketed support, indemnification and commercial middleware.
+
+    http://www.SafeRTOS.com - High Integrity Systems also provide a safety
+    engineered and independently SIL3 certified version for use in safety and
+    mission critical applications that require provable dependability.
+
+    1 tab == 4 spaces!
+*/
+
+#ifndef FLOP_TASKS_H
+#define FLOP_TASKS_H
+
+void vStartMathTasks( unsigned portBASE_TYPE uxPriority );
+portBASE_TYPE xAreMathsTaskStillRunning( void );
+
+#endif
+
+
diff --git a/FreeRTOS/Demo/PIC32MZ_MPLAB/main.c b/FreeRTOS/Demo/PIC32MZ_MPLAB/main.c
index 64ca067..4d0fb8b 100644
--- a/FreeRTOS/Demo/PIC32MZ_MPLAB/main.c
+++ b/FreeRTOS/Demo/PIC32MZ_MPLAB/main.c
@@ -93,18 +93,31 @@
 #include "ConfigPerformance.h"
 
 /* Core configuration fuse settings */
-#pragma config FMIIEN = OFF, FETHIO = OFF, PGL1WAY = OFF, PMDL1WAY = OFF, IOL1WAY = OFF, FUSBIDIO = OFF
-#pragma config FNOSC = SPLL, FSOSCEN = OFF, IESO = OFF, POSCMOD = EC
-#pragma config OSCIOFNC = OFF, FCKSM = CSECMD, FWDTEN = OFF, FDMTEN = OFF
-#pragma config DMTINTV = WIN_127_128, WDTSPGM = STOP, WINDIS= NORMAL
-#pragma config WDTPS = PS1048576, FWDTWINSZ = WINSZ_25, DMTCNT = DMT31
-#pragma config FPLLIDIV = DIV_3, FPLLRNG = RANGE_13_26_MHZ, FPLLICLK = PLL_POSC
-#pragma config FPLLMULT = MUL_50, FPLLODIV = DIV_2, UPLLFSEL = FREQ_12MHZ, UPLLEN = OFF
-#pragma config EJTAGBEN = NORMAL, DBGPER = PG_ALL, FSLEEP = OFF, FECCCON = OFF_UNLOCKED
-#pragma config BOOTISA = MIPS32, TRCEN = ON, ICESEL = ICS_PGx2, JTAGEN = OFF, DEBUG = ON
-#pragma config CP = OFF
-#pragma config_alt FWDTEN=OFF
-#pragma config_alt USERID = 0x1234u
+#if defined(__32MZ2048ECM144) || defined(__32MZ2048ECH144)
+	#pragma config FMIIEN = OFF, FETHIO = OFF, PGL1WAY = OFF, PMDL1WAY = OFF, IOL1WAY = OFF, FUSBIDIO = OFF
+	#pragma config FNOSC = SPLL, FSOSCEN = OFF, IESO = OFF, POSCMOD = EC
+	#pragma config OSCIOFNC = OFF, FCKSM = CSECMD, FWDTEN = OFF, FDMTEN = OFF
+	#pragma config DMTINTV = WIN_127_128, WDTSPGM = STOP, WINDIS= NORMAL
+	#pragma config WDTPS = PS1048576, FWDTWINSZ = WINSZ_25, DMTCNT = DMT31
+	#pragma config FPLLIDIV = DIV_3, FPLLRNG = RANGE_13_26_MHZ, FPLLICLK = PLL_POSC
+	#pragma config FPLLMULT = MUL_50, FPLLODIV = DIV_2, UPLLFSEL = FREQ_12MHZ, UPLLEN = OFF
+	#pragma config EJTAGBEN = NORMAL, DBGPER = PG_ALL, FSLEEP = OFF, FECCCON = OFF_UNLOCKED
+	#pragma config BOOTISA = MIPS32, TRCEN = ON, ICESEL = ICS_PGx2, JTAGEN = OFF, DEBUG = ON
+	#pragma config CP = OFF
+	#pragma config_alt FWDTEN=OFF
+	#pragma config_alt USERID = 0x1234u
+#elif defined(__32MZ2048EFM144) || defined(__32MZ2048EFH144)
+	#pragma config FMIIEN = OFF, FETHIO = OFF, PGL1WAY = OFF, PMDL1WAY = OFF, IOL1WAY = OFF, FUSBIDIO = OFF
+	#pragma config FNOSC = SPLL, FSOSCEN = OFF, IESO = OFF, POSCMOD = EC
+	#pragma config OSCIOFNC = OFF, FCKSM = CSECMD, FWDTEN = OFF, FDMTEN = OFF
+	#pragma config DMTINTV = WIN_127_128, WDTSPGM = STOP, WINDIS= NORMAL
+	#pragma config WDTPS = PS1048576, FWDTWINSZ = WINSZ_25, DMTCNT = DMT31
+	#pragma config FPLLIDIV = DIV_3, FPLLRNG = RANGE_13_26_MHZ, FPLLICLK = PLL_POSC
+	#pragma config FPLLMULT = MUL_50, FPLLODIV = DIV_2, UPLLFSEL = FREQ_12MHZ
+	#pragma config EJTAGBEN = NORMAL, DBGPER = PG_ALL, FSLEEP = OFF, FECCCON = OFF_UNLOCKED
+	#pragma config BOOTISA = MIPS32, TRCEN = ON, ICESEL = ICS_PGx2, JTAGEN = OFF, DEBUG = ON
+	#pragma config CP = OFF
+#endif
 
 /*-----------------------------------------------------------*/
 
@@ -274,27 +287,44 @@
 	EXCEP_CpU, 		/* coprocessor unusable */
 	EXCEP_Overflow,	/* arithmetic overflow */
 	EXCEP_Trap, 	/* trap (possible divide by zero) */
+	EXCEP_FPE = 15, /* floating point exception */
 	EXCEP_IS1 = 16,	/* implementation specfic 1 */
 	EXCEP_CEU, 		/* CorExtend Unuseable */
-	EXCEP_C2E 		/* coprocessor 2 */
+	EXCEP_C2E, 		/* coprocessor 2 */
+	EXCEP_DSPDis = 26   /* DSP module disabled */
 } _excep_code;
 
 static unsigned long _epc_code;
 static unsigned long _excep_addr;
 
-    asm volatile( "mfc0 %0,$13" : "=r" (_epc_code) );
-    asm volatile( "mfc0 %0,$14" : "=r" (_excep_addr) );
+	asm volatile( "mfc0 %0,$13" : "=r" (_epc_code) );
+	asm volatile( "mfc0 %0,$14" : "=r" (_excep_addr) );
 
-    _excep_code = ( _epc_code & 0x0000007C ) >> 2;
+	_excep_code = ( _epc_code & 0x0000007C ) >> 2;
 
     for( ;; )
 	{
+		/* prevent compiler warning */
+		(void) _excep_code;
+
 		/* Examine _excep_code to identify the type of exception.  Examine
 		_excep_addr to find the address that caused the exception */
 		LATHSET = 0x0007;
 		Nop();
 		Nop();
 		Nop();
-    }
+	}
 }
+/*-----------------------------------------------------------*/
 
+void vApplicationStackOverflowHook( TaskHandle_t pxTask, char *pcTaskName )
+{
+	( void ) pcTaskName;
+	( void ) pxTask;
+
+	/* Run time stack overflow checking is performed if
+	configCHECK_FOR_STACK_OVERFLOW is defined to 1 or 2.  This hook
+	function is called if a stack overflow is detected. */
+	taskDISABLE_INTERRUPTS();
+	for( ;; );
+}
diff --git a/FreeRTOS/Demo/PIC32MZ_MPLAB/main_full.c b/FreeRTOS/Demo/PIC32MZ_MPLAB/main_full.c
index 384807e..9d37865 100644
--- a/FreeRTOS/Demo/PIC32MZ_MPLAB/main_full.c
+++ b/FreeRTOS/Demo/PIC32MZ_MPLAB/main_full.c
@@ -143,6 +143,7 @@
 #include "QueueSet.h"
 #include "recmutex.h"
 #include "EventGroupsDemo.h"
+#include "flop_mz.h"
 
 /*-----------------------------------------------------------*/
 
@@ -160,9 +161,10 @@
 #define mainSEM_TEST_PRIORITY				( tskIDLE_PRIORITY + 1 )
 #define mainBLOCK_Q_PRIORITY				( tskIDLE_PRIORITY + 2 )
 #define mainCOM_TEST_PRIORITY				( tskIDLE_PRIORITY + 2 )
-#define mainINTEGER_TASK_PRIORITY           ( tskIDLE_PRIORITY )
+#define mainINTEGER_TASK_PRIORITY			( tskIDLE_PRIORITY )
 #define mainGEN_QUEUE_TASK_PRIORITY			( tskIDLE_PRIORITY )
 #define mainQUEUE_OVERWRITE_TASK_PRIORITY	( tskIDLE_PRIORITY )
+#define mainFLOP_TASK_PRIORITY				( tskIDLE_PRIORITY )
 
 /* The LED controlled by the 'check' software timer. */
 #define mainCHECK_LED						( 2 )
@@ -242,6 +244,7 @@
 	vStartQueueSetTasks();
 	vStartRecursiveMutexTasks();
 	vStartEventGroupTasks();
+	vStartMathTasks( mainFLOP_TASK_PRIORITY );
 
 	/* Create the tasks defined within this file. */
 	xTaskCreate( prvRegTestTask1,			/* The function that implements the task. */
@@ -294,6 +297,11 @@
 	/* Avoid compiler warnings. */
 	( void ) pvParameters;
 
+	/* Must be called before any hardware floating point operations are
+	performed to let the RTOS portable layer know that this task requires
+	a floating point context. */
+	portTASK_USES_FLOATING_POINT();
+
 	/* Pass the address of the RegTest1 loop counter into the test function,
 	which is necessarily implemented in assembler. */
 	vRegTest1( &ulRegTest1Cycles );
@@ -310,6 +318,11 @@
 	/* Avoid compiler warnings. */
 	( void ) pvParameters;
 
+	/* Must be called before any hardware floating point operations are
+	performed to let the RTOS portable layer know that this task requires
+	a floating point context. */
+	portTASK_USES_FLOATING_POINT();
+
 	/* Pass the address of the RegTest2 loop counter into the test function,
 	which is necessarily implemented in assembler. */
 	vRegTest2( &ulRegTest2Cycles );
@@ -393,6 +406,10 @@
 	{
 		ulErrorOccurred |= ( 0x01UL << 13UL );
 	}
+	else if( xAreMathsTaskStillRunning() != pdTRUE )
+	{
+		ulErrorOccurred |= ( 0x01UL << 15UL );
+	}
 
 	/* Ensure the expected number of high frequency interrupts have occurred. */
 	if( ulLastHighFrequencyTimerInterrupts != 0 )
diff --git a/FreeRTOS/Demo/RX100_RX113-RSK_GCC_e2studio_IAR/src/cg_src/r_cg_sci_user_GCC.c b/FreeRTOS/Demo/RX100_RX113-RSK_GCC_e2studio_IAR/src/cg_src/r_cg_sci_user_GCC.c
index 87fe5e9..992b5fc 100644
--- a/FreeRTOS/Demo/RX100_RX113-RSK_GCC_e2studio_IAR/src/cg_src/r_cg_sci_user_GCC.c
+++ b/FreeRTOS/Demo/RX100_RX113-RSK_GCC_e2studio_IAR/src/cg_src/r_cg_sci_user_GCC.c
@@ -2,15 +2,15 @@
 * DISCLAIMER
 * This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products.
 * No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all
-* applicable laws, including copyright laws. 
+* applicable laws, including copyright laws.
 * THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIESREGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED
 * OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 * NON-INFRINGEMENT.  ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY
 * LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT,
 * INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR
 * ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
-* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability 
-* of this software. By using this software, you agree to the additional terms and conditions found by accessing the 
+* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability
+* of this software. By using this software, you agree to the additional terms and conditions found by accessing the
 * following link:
 * http://www.renesas.com/disclaimer
 *
@@ -38,7 +38,7 @@
  * UARTCommandConsole.c have been added.
  *
  * ***NOTE***: Transmitting generates an interrupt for each character, which
- * consumes	CPU time, and can cause standard demo RTOS tasks that monitor their
+ * consumes    CPU time, and can cause standard demo RTOS tasks that monitor their
  * own performance to fail asserts - therefore when using GCC it is best to
  * compile this file with maximum speed optimisation.
  */
@@ -111,7 +111,7 @@
         gp_sci1_tx_address++;
         g_sci1_tx_count--;
     }
-    else 
+    else
     {
         SCI1.SCR.BIT.TIE = 0U;
         SCI1.SCR.BIT.TEIE = 1U;
@@ -181,20 +181,20 @@
 void r_sci1_callback_transmitend(void)
 {
     /* Start user code. Do not edit comment generated here */
-	BaseType_t xHigherPriorityTaskWoken = pdFALSE;
+    BaseType_t xHigherPriorityTaskWoken = pdFALSE;
 
-	/* The sci1_txdone flag is used by the auto generated API only. */
-	sci1_txdone = TRUE;
+    /* The sci1_txdone flag is used by the auto generated API only. */
+    sci1_txdone = TRUE;
 
-	if( xSendingTask != NULL )
-	{
-		/* A task is waiting for the end of the Tx, unblock it now.
-		http://www.freertos.org/vTaskNotifyGiveFromISR.html */
-		vTaskNotifyGiveFromISR( xSendingTask, &xHigherPriorityTaskWoken );
-		xSendingTask = NULL;
+    if( xSendingTask != NULL )
+    {
+        /* A task is waiting for the end of the Tx, unblock it now.
+        http://www.freertos.org/vTaskNotifyGiveFromISR.html */
+        vTaskNotifyGiveFromISR( xSendingTask, &xHigherPriorityTaskWoken );
+        xSendingTask = NULL;
 
-		portYIELD_FROM_ISR( xHigherPriorityTaskWoken );
-	}
+        portYIELD_FROM_ISR( xHigherPriorityTaskWoken );
+    }
     /* End user code. Do not edit comment generated here */
 }
 /***********************************************************************************************************************
@@ -206,23 +206,23 @@
 void r_sci1_callback_receiveend(void)
 {
     /* Start user code. Do not edit comment generated here */
-	BaseType_t xHigherPriorityTaskWoken = pdFALSE;
+    BaseType_t xHigherPriorityTaskWoken = pdFALSE;
 
     configASSERT( xRxQueue );
 
-	/* Transmitting generates an interrupt for each character, which consumes
-	CPU time, and can cause standard demo RTOS tasks that monitor their own
-	performance to fail asserts - so don't receive new CLI commands if a
-	transmit is not already in progress. */
-	if( sci1_txdone == TRUE )
-	{
-		/* Characters received from the UART are stored in this queue, ready to be
-		received by the application.  ***NOTE*** Using a queue in this way is very
-		convenient, but also very inefficient.  It can be used here because
-		characters will only arrive slowly.  In a higher bandwidth system a circular
-		RAM buffer or DMA should be used in place of this queue. */
-		xQueueSendFromISR( xRxQueue, &g_rx_char, &xHigherPriorityTaskWoken );
-	}
+    /* Transmitting generates an interrupt for each character, which consumes
+    CPU time, and can cause standard demo RTOS tasks that monitor their own
+    performance to fail asserts - so don't receive new CLI commands if a
+    transmit is not already in progress. */
+    if( sci1_txdone == TRUE )
+    {
+        /* Characters received from the UART are stored in this queue, ready to be
+        received by the application.  ***NOTE*** Using a queue in this way is very
+        convenient, but also very inefficient.  It can be used here because
+        characters will only arrive slowly.  In a higher bandwidth system a circular
+        RAM buffer or DMA should be used in place of this queue. */
+        xQueueSendFromISR( xRxQueue, &g_rx_char, &xHigherPriorityTaskWoken );
+    }
 
     /* Set up SCI1 receive buffer again */
     R_SCI1_Serial_Receive((uint8_t *) &g_rx_char, 1);
@@ -280,30 +280,30 @@
 multiple different demo application. */
 xComPortHandle xSerialPortInitMinimal( unsigned long ulWantedBaud, unsigned portBASE_TYPE uxQueueLength )
 {
-	( void ) ulWantedBaud;
-	( void ) uxQueueLength;
+    ( void ) ulWantedBaud;
+    ( void ) uxQueueLength;
 
-	/* Characters received from the UART are stored in this queue, ready to be
-	received by the application.  ***NOTE*** Using a queue in this way is very
-	convenient, but also very inefficient.  It can be used here because
-	characters will only arrive slowly.  In a higher bandwidth system a circular
-	RAM buffer or DMA should be used in place of this queue. */
-	xRxQueue = xQueueCreate( uxQueueLength, sizeof( char ) );
-	configASSERT( xRxQueue );
+    /* Characters received from the UART are stored in this queue, ready to be
+    received by the application.  ***NOTE*** Using a queue in this way is very
+    convenient, but also very inefficient.  It can be used here because
+    characters will only arrive slowly.  In a higher bandwidth system a circular
+    RAM buffer or DMA should be used in place of this queue. */
+    xRxQueue = xQueueCreate( uxQueueLength, sizeof( char ) );
+    configASSERT( xRxQueue );
 
-	/* Set up SCI1 receive buffer */
-	R_SCI1_Serial_Receive((uint8_t *) &g_rx_char, 1);
+    /* Set up SCI1 receive buffer */
+    R_SCI1_Serial_Receive((uint8_t *) &g_rx_char, 1);
 
-	/* Ensure the interrupt priority is at or below
-	configMAX_SYSCALL_INTERRUPT_PRIORITY. */
+    /* Ensure the interrupt priority is at or below
+    configMAX_SYSCALL_INTERRUPT_PRIORITY. */
     IPR( SCI1, ERI1 ) = configKERNEL_INTERRUPT_PRIORITY + 1;
 
-	/* Enable SCI1 operations */
-	R_SCI1_Start();
+    /* Enable SCI1 operations */
+    R_SCI1_Start();
 
-	/* Only one UART is supported, so it doesn't matter what is returned
-	here. */
-	return 0;
+    /* Only one UART is supported, so it doesn't matter what is returned
+    here. */
+    return 0;
 }
 
 /* Function required in order to link UARTCommandConsole.c - which is used by
@@ -312,53 +312,53 @@
 {
 const TickType_t xMaxBlockTime = pdMS_TO_TICKS( 5000 );
 
-	/* Only one port is supported. */
-	( void ) pxPort;
+    /* Only one port is supported. */
+    ( void ) pxPort;
 
-	/* Clear the flag before initiating a new transmission */
-	sci1_txdone = FALSE;
+    /* Clear the flag before initiating a new transmission */
+    sci1_txdone = FALSE;
 
-	/* Don't send the string unless the previous string has been sent. */
-	if( xSendingTask == NULL )
-	{
-		/* Ensure the calling task's notification state is not already
-		pending. */
-		vTaskNotifyClear( NULL );
+    /* Don't send the string unless the previous string has been sent. */
+    if( ( xSendingTask == NULL ) && ( usStringLength > 0 ) )
+    {
+        /* Ensure the calling task's notification state is not already
+        pending. */
+        vTaskNotifyClear( NULL );
 
-		/* Store the handle of the transmitting task.  This is used to unblock
-		the task when the transmission has completed. */
-		xSendingTask = xTaskGetCurrentTaskHandle();
+        /* Store the handle of the transmitting task.  This is used to unblock
+        the task when the transmission has completed. */
+        xSendingTask = xTaskGetCurrentTaskHandle();
 
-		/* Send the string using the auto-generated API. */
-		R_SCI1_Serial_Send( ( uint8_t * ) pcString, usStringLength );
+        /* Send the string using the auto-generated API. */
+        R_SCI1_Serial_Send( ( uint8_t * ) pcString, usStringLength );
 
-		/* Wait in the Blocked state (so not using any CPU time) until the
-		transmission has completed. */
-		ulTaskNotifyTake( pdTRUE, xMaxBlockTime );
-	}
+        /* Wait in the Blocked state (so not using any CPU time) until the
+        transmission has completed. */
+        ulTaskNotifyTake( pdTRUE, xMaxBlockTime );
+    }
 }
 
 /* Function required in order to link UARTCommandConsole.c - which is used by
 multiple different demo application. */
 signed portBASE_TYPE xSerialGetChar( xComPortHandle pxPort, signed char *pcRxedChar, TickType_t xBlockTime )
 {
-	/* Only one UART is supported. */
-	( void ) pxPort;
+    /* Only one UART is supported. */
+    ( void ) pxPort;
 
-	/* Return a received character, if any are available.  Otherwise block to
-	wait for a character. */
-	return xQueueReceive( xRxQueue, pcRxedChar, xBlockTime );
+    /* Return a received character, if any are available.  Otherwise block to
+    wait for a character. */
+    return xQueueReceive( xRxQueue, pcRxedChar, xBlockTime );
 }
 
 /* Function required in order to link UARTCommandConsole.c - which is used by
 multiple different demo application. */
 signed portBASE_TYPE xSerialPutChar( xComPortHandle pxPort, signed char cOutChar, TickType_t xBlockTime )
 {
-	/* Just mapped to vSerialPutString() so the block time is not used. */
-	( void ) xBlockTime;
+    /* Just mapped to vSerialPutString() so the block time is not used. */
+    ( void ) xBlockTime;
 
-	vSerialPutString( pxPort, &cOutChar, sizeof( cOutChar ) );
-	return pdPASS;
+    vSerialPutString( pxPort, &cOutChar, sizeof( cOutChar ) );
+    return pdPASS;
 }
 
 /* End user code. Do not edit comment generated here */
diff --git a/FreeRTOS/Demo/RX100_RX113-RSK_GCC_e2studio_IAR/src/cg_src/r_cg_sci_user_IAR.c b/FreeRTOS/Demo/RX100_RX113-RSK_GCC_e2studio_IAR/src/cg_src/r_cg_sci_user_IAR.c
index ca57a95..207b2c8 100644
--- a/FreeRTOS/Demo/RX100_RX113-RSK_GCC_e2studio_IAR/src/cg_src/r_cg_sci_user_IAR.c
+++ b/FreeRTOS/Demo/RX100_RX113-RSK_GCC_e2studio_IAR/src/cg_src/r_cg_sci_user_IAR.c
@@ -2,15 +2,15 @@
 * DISCLAIMER
 * This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products.
 * No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all
-* applicable laws, including copyright laws. 
+* applicable laws, including copyright laws.
 * THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIESREGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED
 * OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 * NON-INFRINGEMENT.  ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY
 * LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT,
 * INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR
 * ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
-* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability 
-* of this software. By using this software, you agree to the additional terms and conditions found by accessing the 
+* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability
+* of this software. By using this software, you agree to the additional terms and conditions found by accessing the
 * following link:
 * http://www.renesas.com/disclaimer
 *
@@ -110,7 +110,7 @@
         gp_sci1_tx_address++;
         g_sci1_tx_count--;
     }
-    else 
+    else
     {
         SCI1.SCR.BIT.TIE = 0U;
         SCI1.SCR.BIT.TEIE = 1U;
@@ -192,20 +192,20 @@
 void r_sci1_callback_transmitend(void)
 {
     /* Start user code. Do not edit comment generated here */
-	BaseType_t xHigherPriorityTaskWoken = pdFALSE;
+    BaseType_t xHigherPriorityTaskWoken = pdFALSE;
 
-	/* The sci1_txdone flag is used by the auto generated API only. */
-	sci1_txdone = TRUE;
+    /* The sci1_txdone flag is used by the auto generated API only. */
+    sci1_txdone = TRUE;
 
-	if( xSendingTask != NULL )
-	{
-		/* A task is waiting for the end of the Tx, unblock it now.
-		http://www.freertos.org/vTaskNotifyGiveFromISR.html */
-		vTaskNotifyGiveFromISR( xSendingTask, &xHigherPriorityTaskWoken );
-		xSendingTask = NULL;
+    if( xSendingTask != NULL )
+    {
+        /* A task is waiting for the end of the Tx, unblock it now.
+        http://www.freertos.org/vTaskNotifyGiveFromISR.html */
+        vTaskNotifyGiveFromISR( xSendingTask, &xHigherPriorityTaskWoken );
+        xSendingTask = NULL;
 
-		portYIELD_FROM_ISR( xHigherPriorityTaskWoken );
-	}
+        portYIELD_FROM_ISR( xHigherPriorityTaskWoken );
+    }
     /* End user code. Do not edit comment generated here */
 }
 /***********************************************************************************************************************
@@ -217,23 +217,23 @@
 void r_sci1_callback_receiveend(void)
 {
     /* Start user code. Do not edit comment generated here */
-	BaseType_t xHigherPriorityTaskWoken = pdFALSE;
+    BaseType_t xHigherPriorityTaskWoken = pdFALSE;
 
     configASSERT( xRxQueue );
 
-	/* Transmitting generates an interrupt for each character, which consumes
-	CPU time, and can cause standard demo RTOS tasks that monitor their own
-	performance to fail asserts - so don't receive new CLI commands if a
-	transmit is not already in progress. */
-	if( sci1_txdone == TRUE )
-	{
-		/* Characters received from the UART are stored in this queue, ready to be
-		received by the application.  ***NOTE*** Using a queue in this way is very
-		convenient, but also very inefficient.  It can be used here because
-		characters will only arrive slowly.  In a higher bandwidth system a circular
-		RAM buffer or DMA should be used in place of this queue. */
-		xQueueSendFromISR( xRxQueue, &g_rx_char, &xHigherPriorityTaskWoken );
-	}
+    /* Transmitting generates an interrupt for each character, which consumes
+    CPU time, and can cause standard demo RTOS tasks that monitor their own
+    performance to fail asserts - so don't receive new CLI commands if a
+    transmit is not already in progress. */
+    if( sci1_txdone == TRUE )
+    {
+        /* Characters received from the UART are stored in this queue, ready to be
+        received by the application.  ***NOTE*** Using a queue in this way is very
+        convenient, but also very inefficient.  It can be used here because
+        characters will only arrive slowly.  In a higher bandwidth system a circular
+        RAM buffer or DMA should be used in place of this queue. */
+        xQueueSendFromISR( xRxQueue, &g_rx_char, &xHigherPriorityTaskWoken );
+    }
 
     /* Set up SCI1 receive buffer again */
     R_SCI1_Serial_Receive((uint8_t *) &g_rx_char, 1);
@@ -291,30 +291,30 @@
 multiple different demo application. */
 xComPortHandle xSerialPortInitMinimal( unsigned long ulWantedBaud, unsigned portBASE_TYPE uxQueueLength )
 {
-	( void ) ulWantedBaud;
-	( void ) uxQueueLength;
+    ( void ) ulWantedBaud;
+    ( void ) uxQueueLength;
 
-	/* Characters received from the UART are stored in this queue, ready to be
-	received by the application.  ***NOTE*** Using a queue in this way is very
-	convenient, but also very inefficient.  It can be used here because
-	characters will only arrive slowly.  In a higher bandwidth system a circular
-	RAM buffer or DMA should be used in place of this queue. */
-	xRxQueue = xQueueCreate( uxQueueLength, sizeof( char ) );
-	configASSERT( xRxQueue );
+    /* Characters received from the UART are stored in this queue, ready to be
+    received by the application.  ***NOTE*** Using a queue in this way is very
+    convenient, but also very inefficient.  It can be used here because
+    characters will only arrive slowly.  In a higher bandwidth system a circular
+    RAM buffer or DMA should be used in place of this queue. */
+    xRxQueue = xQueueCreate( uxQueueLength, sizeof( char ) );
+    configASSERT( xRxQueue );
 
-	/* Set up SCI1 receive buffer */
-	R_SCI1_Serial_Receive((uint8_t *) &g_rx_char, 1);
+    /* Set up SCI1 receive buffer */
+    R_SCI1_Serial_Receive((uint8_t *) &g_rx_char, 1);
 
-	/* Ensure the interrupt priority is at or below
-	configMAX_SYSCALL_INTERRUPT_PRIORITY. */
+    /* Ensure the interrupt priority is at or below
+    configMAX_SYSCALL_INTERRUPT_PRIORITY. */
     IPR( SCI1, ERI1 ) = configMAX_SYSCALL_INTERRUPT_PRIORITY - 1;
 
-	/* Enable SCI1 operations */
-	R_SCI1_Start();
+    /* Enable SCI1 operations */
+    R_SCI1_Start();
 
-	/* Only one UART is supported, so it doesn't matter what is returned
-	here. */
-	return 0;
+    /* Only one UART is supported, so it doesn't matter what is returned
+    here. */
+    return 0;
 }
 
 /* Function required in order to link UARTCommandConsole.c - which is used by
@@ -323,53 +323,53 @@
 {
 const TickType_t xMaxBlockTime = pdMS_TO_TICKS( 5000 );
 
-	/* Only one port is supported. */
-	( void ) pxPort;
+    /* Only one port is supported. */
+    ( void ) pxPort;
 
-	/* Clear the flag before initiating a new transmission */
-	sci1_txdone = FALSE;
+    /* Clear the flag before initiating a new transmission */
+    sci1_txdone = FALSE;
 
-	/* Don't send the string unless the previous string has been sent. */
-	if( xSendingTask == NULL )
-	{
-		/* Ensure the calling task's notification state is not already
-		pending. */
-		vTaskNotifyClear( NULL );
+    /* Don't send the string unless the previous string has been sent. */
+    if( ( xSendingTask == NULL ) && ( usStringLength > 0 ) )
+    {
+        /* Ensure the calling task's notification state is not already
+        pending. */
+        vTaskNotifyClear( NULL );
 
-		/* Store the handle of the transmitting task.  This is used to unblock
-		the task when the transmission has completed. */
-		xSendingTask = xTaskGetCurrentTaskHandle();
+        /* Store the handle of the transmitting task.  This is used to unblock
+        the task when the transmission has completed. */
+        xSendingTask = xTaskGetCurrentTaskHandle();
 
-		/* Send the string using the auto-generated API. */
-		R_SCI1_Serial_Send( ( uint8_t * ) pcString, usStringLength );
+        /* Send the string using the auto-generated API. */
+        R_SCI1_Serial_Send( ( uint8_t * ) pcString, usStringLength );
 
-		/* Wait in the Blocked state (so not using any CPU time) until the
-		transmission has completed. */
-		ulTaskNotifyTake( pdTRUE, xMaxBlockTime );
-	}
+        /* Wait in the Blocked state (so not using any CPU time) until the
+        transmission has completed. */
+        ulTaskNotifyTake( pdTRUE, xMaxBlockTime );
+    }
 }
 
 /* Function required in order to link UARTCommandConsole.c - which is used by
 multiple different demo application. */
 signed portBASE_TYPE xSerialGetChar( xComPortHandle pxPort, signed char *pcRxedChar, TickType_t xBlockTime )
 {
-	/* Only one UART is supported. */
-	( void ) pxPort;
+    /* Only one UART is supported. */
+    ( void ) pxPort;
 
-	/* Return a received character, if any are available.  Otherwise block to
-	wait for a character. */
-	return xQueueReceive( xRxQueue, pcRxedChar, xBlockTime );
+    /* Return a received character, if any are available.  Otherwise block to
+    wait for a character. */
+    return xQueueReceive( xRxQueue, pcRxedChar, xBlockTime );
 }
 
 /* Function required in order to link UARTCommandConsole.c - which is used by
 multiple different demo application. */
 signed portBASE_TYPE xSerialPutChar( xComPortHandle pxPort, signed char cOutChar, TickType_t xBlockTime )
 {
-	/* Just mapped to vSerialPutString() so the block time is not used. */
-	( void ) xBlockTime;
+    /* Just mapped to vSerialPutString() so the block time is not used. */
+    ( void ) xBlockTime;
 
-	vSerialPutString( pxPort, &cOutChar, sizeof( cOutChar ) );
-	return pdPASS;
+    vSerialPutString( pxPort, &cOutChar, sizeof( cOutChar ) );
+    return pdPASS;
 }
 
 /* End user code. Do not edit comment generated here */
diff --git a/FreeRTOS/Demo/RX100_RX113-RSK_Renesas_e2studio/src/cg_src/r_cg_sci_user.c b/FreeRTOS/Demo/RX100_RX113-RSK_Renesas_e2studio/src/cg_src/r_cg_sci_user.c
index 08fa2ce..7f6aaf9 100644
--- a/FreeRTOS/Demo/RX100_RX113-RSK_Renesas_e2studio/src/cg_src/r_cg_sci_user.c
+++ b/FreeRTOS/Demo/RX100_RX113-RSK_Renesas_e2studio/src/cg_src/r_cg_sci_user.c
@@ -2,15 +2,15 @@
 * DISCLAIMER
 * This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products.
 * No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all
-* applicable laws, including copyright laws. 
+* applicable laws, including copyright laws.
 * THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIESREGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED
 * OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 * NON-INFRINGEMENT.  ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY
 * LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT,
 * INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR
 * ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
-* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability 
-* of this software. By using this software, you agree to the additional terms and conditions found by accessing the 
+* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability
+* of this software. By using this software, you agree to the additional terms and conditions found by accessing the
 * following link:
 * http://www.renesas.com/disclaimer
 *
@@ -110,7 +110,7 @@
         gp_sci1_tx_address++;
         g_sci1_tx_count--;
     }
-    else 
+    else
     {
         SCI1.SCR.BIT.TIE = 0U;
         SCI1.SCR.BIT.TEIE = 1U;
@@ -192,20 +192,20 @@
 void r_sci1_callback_transmitend(void)
 {
     /* Start user code. Do not edit comment generated here */
-	BaseType_t xHigherPriorityTaskWoken = pdFALSE;
+    BaseType_t xHigherPriorityTaskWoken = pdFALSE;
 
-	/* The sci1_txdone flag is used by the auto generated API only. */
-	sci1_txdone = TRUE;
+    /* The sci1_txdone flag is used by the auto generated API only. */
+    sci1_txdone = TRUE;
 
-	if( xSendingTask != NULL )
-	{
-		/* A task is waiting for the end of the Tx, unblock it now.
-		http://www.freertos.org/vTaskNotifyGiveFromISR.html */
-		vTaskNotifyGiveFromISR( xSendingTask, &xHigherPriorityTaskWoken );
-		xSendingTask = NULL;
+    if( xSendingTask != NULL )
+    {
+        /* A task is waiting for the end of the Tx, unblock it now.
+        http://www.freertos.org/vTaskNotifyGiveFromISR.html */
+        vTaskNotifyGiveFromISR( xSendingTask, &xHigherPriorityTaskWoken );
+        xSendingTask = NULL;
 
-		portYIELD_FROM_ISR( xHigherPriorityTaskWoken );
-	}
+        portYIELD_FROM_ISR( xHigherPriorityTaskWoken );
+    }
     /* End user code. Do not edit comment generated here */
 }
 /***********************************************************************************************************************
@@ -217,23 +217,23 @@
 void r_sci1_callback_receiveend(void)
 {
     /* Start user code. Do not edit comment generated here */
-	BaseType_t xHigherPriorityTaskWoken = pdFALSE;
+    BaseType_t xHigherPriorityTaskWoken = pdFALSE;
 
     configASSERT( xRxQueue );
 
-	/* Transmitting generates an interrupt for each character, which consumes
-	CPU time, and can cause standard demo RTOS tasks that monitor their own
-	performance to fail asserts - so don't receive new CLI commands if a
-	transmit is not already in progress. */
-	if( sci1_txdone == TRUE )
-	{
-		/* Characters received from the UART are stored in this queue, ready to be
-		received by the application.  ***NOTE*** Using a queue in this way is very
-		convenient, but also very inefficient.  It can be used here because
-		characters will only arrive slowly.  In a higher bandwidth system a circular
-		RAM buffer or DMA should be used in place of this queue. */
-		xQueueSendFromISR( xRxQueue, &g_rx_char, &xHigherPriorityTaskWoken );
-	}
+    /* Transmitting generates an interrupt for each character, which consumes
+    CPU time, and can cause standard demo RTOS tasks that monitor their own
+    performance to fail asserts - so don't receive new CLI commands if a
+    transmit is not already in progress. */
+    if( sci1_txdone == TRUE )
+    {
+        /* Characters received from the UART are stored in this queue, ready to be
+        received by the application.  ***NOTE*** Using a queue in this way is very
+        convenient, but also very inefficient.  It can be used here because
+        characters will only arrive slowly.  In a higher bandwidth system a circular
+        RAM buffer or DMA should be used in place of this queue. */
+        xQueueSendFromISR( xRxQueue, &g_rx_char, &xHigherPriorityTaskWoken );
+    }
 
     /* Set up SCI1 receive buffer again */
     R_SCI1_Serial_Receive((uint8_t *) &g_rx_char, 1);
@@ -291,30 +291,30 @@
 multiple different demo application. */
 xComPortHandle xSerialPortInitMinimal( unsigned long ulWantedBaud, unsigned portBASE_TYPE uxQueueLength )
 {
-	( void ) ulWantedBaud;
-	( void ) uxQueueLength;
+    ( void ) ulWantedBaud;
+    ( void ) uxQueueLength;
 
-	/* Characters received from the UART are stored in this queue, ready to be
-	received by the application.  ***NOTE*** Using a queue in this way is very
-	convenient, but also very inefficient.  It can be used here because
-	characters will only arrive slowly.  In a higher bandwidth system a circular
-	RAM buffer or DMA should be used in place of this queue. */
-	xRxQueue = xQueueCreate( uxQueueLength, sizeof( char ) );
-	configASSERT( xRxQueue );
+    /* Characters received from the UART are stored in this queue, ready to be
+    received by the application.  ***NOTE*** Using a queue in this way is very
+    convenient, but also very inefficient.  It can be used here because
+    characters will only arrive slowly.  In a higher bandwidth system a circular
+    RAM buffer or DMA should be used in place of this queue. */
+    xRxQueue = xQueueCreate( uxQueueLength, sizeof( char ) );
+    configASSERT( xRxQueue );
 
-	/* Set up SCI1 receive buffer */
-	R_SCI1_Serial_Receive((uint8_t *) &g_rx_char, 1);
+    /* Set up SCI1 receive buffer */
+    R_SCI1_Serial_Receive((uint8_t *) &g_rx_char, 1);
 
-	/* Ensure the interrupt priority is at or below
-	configMAX_SYSCALL_INTERRUPT_PRIORITY. */
+    /* Ensure the interrupt priority is at or below
+    configMAX_SYSCALL_INTERRUPT_PRIORITY. */
     IPR( SCI1, ERI1 ) = configMAX_SYSCALL_INTERRUPT_PRIORITY - 1;
 
-	/* Enable SCI1 operations */
-	R_SCI1_Start();
+    /* Enable SCI1 operations */
+    R_SCI1_Start();
 
-	/* Only one UART is supported, so it doesn't matter what is returned
-	here. */
-	return 0;
+    /* Only one UART is supported, so it doesn't matter what is returned
+    here. */
+    return 0;
 }
 
 /* Function required in order to link UARTCommandConsole.c - which is used by
@@ -323,53 +323,53 @@
 {
 const TickType_t xMaxBlockTime = pdMS_TO_TICKS( 5000 );
 
-	/* Only one port is supported. */
-	( void ) pxPort;
+    /* Only one port is supported. */
+    ( void ) pxPort;
 
-	/* Clear the flag before initiating a new transmission */
-	sci1_txdone = FALSE;
+    /* Clear the flag before initiating a new transmission */
+    sci1_txdone = FALSE;
 
-	/* Don't send the string unless the previous string has been sent. */
-	if( xSendingTask == NULL )
-	{
-		/* Ensure the calling task's notification state is not already
-		pending. */
-		vTaskNotifyClear( NULL );
+    /* Don't send the string unless the previous string has been sent. */
+    if( ( xSendingTask == NULL ) && ( usStringLength > 0 ) )
+    {
+        /* Ensure the calling task's notification state is not already
+        pending. */
+        vTaskNotifyClear( NULL );
 
-		/* Store the handle of the transmitting task.  This is used to unblock
-		the task when the transmission has completed. */
-		xSendingTask = xTaskGetCurrentTaskHandle();
+        /* Store the handle of the transmitting task.  This is used to unblock
+        the task when the transmission has completed. */
+        xSendingTask = xTaskGetCurrentTaskHandle();
 
-		/* Send the string using the auto-generated API. */
-		R_SCI1_Serial_Send( ( uint8_t * ) pcString, usStringLength );
+        /* Send the string using the auto-generated API. */
+        R_SCI1_Serial_Send( ( uint8_t * ) pcString, usStringLength );
 
-		/* Wait in the Blocked state (so not using any CPU time) until the
-		transmission has completed. */
-		ulTaskNotifyTake( pdTRUE, xMaxBlockTime );
-	}
+        /* Wait in the Blocked state (so not using any CPU time) until the
+        transmission has completed. */
+        ulTaskNotifyTake( pdTRUE, xMaxBlockTime );
+    }
 }
 
 /* Function required in order to link UARTCommandConsole.c - which is used by
 multiple different demo application. */
 signed portBASE_TYPE xSerialGetChar( xComPortHandle pxPort, signed char *pcRxedChar, TickType_t xBlockTime )
 {
-	/* Only one UART is supported. */
-	( void ) pxPort;
+    /* Only one UART is supported. */
+    ( void ) pxPort;
 
-	/* Return a received character, if any are available.  Otherwise block to
-	wait for a character. */
-	return xQueueReceive( xRxQueue, pcRxedChar, xBlockTime );
+    /* Return a received character, if any are available.  Otherwise block to
+    wait for a character. */
+    return xQueueReceive( xRxQueue, pcRxedChar, xBlockTime );
 }
 
 /* Function required in order to link UARTCommandConsole.c - which is used by
 multiple different demo application. */
 signed portBASE_TYPE xSerialPutChar( xComPortHandle pxPort, signed char cOutChar, TickType_t xBlockTime )
 {
-	/* Just mapped to vSerialPutString() so the block time is not used. */
-	( void ) xBlockTime;
+    /* Just mapped to vSerialPutString() so the block time is not used. */
+    ( void ) xBlockTime;
 
-	vSerialPutString( pxPort, &cOutChar, sizeof( cOutChar ) );
-	return pdPASS;
+    vSerialPutString( pxPort, &cOutChar, sizeof( cOutChar ) );
+    return pdPASS;
 }
 
 /* End user code. Do not edit comment generated here */
diff --git a/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/.cproject b/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/.cproject
index 592b816..d10a559 100644
--- a/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/.cproject
+++ b/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/.cproject
@@ -46,6 +46,7 @@
 								<option id="com.renesas.cdt.core.Compiler.option.deviceShortName.339321196" name="DeviceShortName" superClass="com.renesas.cdt.core.Compiler.option.deviceShortName" value="R5F571MLCxFC" valueType="string"/>
 								<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.core.Compiler.option.includeFileDir.1486703917" name="Include file directories" superClass="com.renesas.cdt.core.Compiler.option.includeFileDir" valueType="includePath">
 									<listOptionValue builtIn="false" value="&quot;${TCINSTALL}/rx-elf/optlibinc&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/Full_Demo/FreeRTOS-Plus-CLI}&quot;"/>
 									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/Full_Demo}&quot;"/>
 									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/Full_Demo/Standard_Demo_Tasks/include}&quot;"/>
 									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/cg_src}&quot;"/>
@@ -120,7 +121,7 @@
 						</toolChain>
 					</folderInfo>
 					<sourceEntries>
-						<entry excluding="cg_src/r_cg_sci_user_iar.c" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
+						<entry excluding="cg_src/r_cg_intprg_gcc.c|cg_src/r_cg_intprg_iar.c|cg_src/r_cg_sci_user_iar.c" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
 					</sourceEntries>
 				</configuration>
 			</storageModule>
diff --git a/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/.project b/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/.project
index d82dcb0..838b25b 100644
--- a/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/.project
+++ b/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/.project
@@ -31,11 +31,26 @@
 			<locationURI>FREERTOS_ROOT/FreeRTOS/Source</locationURI>
 		</link>
 		<link>
+			<name>src/Full_Demo/FreeRTOS-Plus-CLI</name>
+			<type>2</type>
+			<locationURI>FREERTOS_ROOT/FreeRTOS-Plus/Source/FreeRTOS-Plus-CLI</locationURI>
+		</link>
+		<link>
+			<name>src/Full_Demo/Sample-CLI-commands.c</name>
+			<type>1</type>
+			<locationURI>FREERTOS_ROOT/FreeRTOS-Plus/Demo/Common/FreeRTOS_Plus_CLI_Demos/Sample-CLI-commands.c</locationURI>
+		</link>
+		<link>
 			<name>src/Full_Demo/Standard_Demo_Tasks</name>
 			<type>2</type>
 			<locationURI>FREERTOS_ROOT/FreeRTOS/Demo/Common/Minimal</locationURI>
 		</link>
 		<link>
+			<name>src/Full_Demo/UARTCommandConsole.c</name>
+			<type>1</type>
+			<locationURI>FREERTOS_ROOT/FreeRTOS-Plus/Demo/Common/FreeRTOS_Plus_CLI_Demos/UARTCommandConsole.c</locationURI>
+		</link>
+		<link>
 			<name>src/Full_Demo/Standard_Demo_Tasks/include</name>
 			<type>2</type>
 			<locationURI>FREERTOS_ROOT/FreeRTOS/Demo/Common/include</locationURI>
@@ -43,7 +58,7 @@
 	</linkedResources>
 	<filteredResources>
 		<filter>
-			<id>1442924121510</id>
+			<id>1444769735116</id>
 			<name></name>
 			<type>10</type>
 			<matcher>
@@ -52,6 +67,69 @@
 			</matcher>
 		</filter>
 		<filter>
+			<id>1444769735116</id>
+			<name></name>
+			<type>6</type>
+			<matcher>
+				<id>org.eclipse.ui.ide.multiFilter</id>
+				<arguments>1.0-name-matches-false-false-RTOSDemo.dep</arguments>
+			</matcher>
+		</filter>
+		<filter>
+			<id>1444769735126</id>
+			<name></name>
+			<type>6</type>
+			<matcher>
+				<id>org.eclipse.ui.ide.multiFilter</id>
+				<arguments>1.0-name-matches-false-false-RTOSDemo.ewd</arguments>
+			</matcher>
+		</filter>
+		<filter>
+			<id>1444769735126</id>
+			<name></name>
+			<type>6</type>
+			<matcher>
+				<id>org.eclipse.ui.ide.multiFilter</id>
+				<arguments>1.0-name-matches-false-false-RTOSDemo.ewp</arguments>
+			</matcher>
+		</filter>
+		<filter>
+			<id>1444769735126</id>
+			<name></name>
+			<type>6</type>
+			<matcher>
+				<id>org.eclipse.ui.ide.multiFilter</id>
+				<arguments>1.0-name-matches-false-false-RTOSDemo.ewt</arguments>
+			</matcher>
+		</filter>
+		<filter>
+			<id>1444769735136</id>
+			<name></name>
+			<type>6</type>
+			<matcher>
+				<id>org.eclipse.ui.ide.multiFilter</id>
+				<arguments>1.0-name-matches-false-false-RTOSDemo.eww</arguments>
+			</matcher>
+		</filter>
+		<filter>
+			<id>1444769735136</id>
+			<name></name>
+			<type>10</type>
+			<matcher>
+				<id>org.eclipse.ui.ide.multiFilter</id>
+				<arguments>1.0-name-matches-false-false-Debug</arguments>
+			</matcher>
+		</filter>
+		<filter>
+			<id>1444769735146</id>
+			<name></name>
+			<type>10</type>
+			<matcher>
+				<id>org.eclipse.ui.ide.multiFilter</id>
+				<arguments>1.0-name-matches-false-false-settings</arguments>
+			</matcher>
+		</filter>
+		<filter>
 			<id>1442756186478</id>
 			<name>src/FreeRTOS_Source</name>
 			<type>6</type>
diff --git a/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/.settings/language.settings.xml b/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/.settings/language.settings.xml
index 809fddc..5ec2264 100644
--- a/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/.settings/language.settings.xml
+++ b/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/.settings/language.settings.xml
@@ -3,7 +3,7 @@
 	<configuration id="%com.renesas.cdt.rx.hardwaredebug.win32.configuration.Id.363159113" name="HardwareDebug">
 		<extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
 			<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
-			<provider class="com.renesas.cdt.common.build.spec.RXGCCBuiltinSpecsDetector" console="false" env-hash="-1148160698755661085" id="RXGCCBuiltinSpecsDetector" keep-relative-paths="false" name="Renesas GCCBuildinCompilerSettings" options-hash="1142094570" parameter="rx-elf-gcc -E -P -v -dD ${INPUTS}" prefer-non-shared="true">
+			<provider class="com.renesas.cdt.common.build.spec.RXGCCBuiltinSpecsDetector" console="false" env-hash="-117486239217196327" id="RXGCCBuiltinSpecsDetector" keep-relative-paths="false" name="Renesas GCCBuildinCompilerSettings" options-hash="1142094570" parameter="rx-elf-gcc -E -P -v -dD ${INPUTS}" prefer-non-shared="true">
 				<language-scope id="org.eclipse.cdt.core.gcc"/>
 				<language-scope id="org.eclipse.cdt.core.g++"/>
 			</provider>
diff --git a/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/RTOSDemo HardwareDebug.launch b/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/RTOSDemo HardwareDebug.launch
index fbea6b4..5594e10 100644
--- a/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/RTOSDemo HardwareDebug.launch
+++ b/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/RTOSDemo HardwareDebug.launch
@@ -9,7 +9,7 @@
 <stringAttribute key="com.renesas.cdt.core.optionInitCommands" value=""/>
 <intAttribute key="com.renesas.cdt.core.portNumber" value="61234"/>
 <stringAttribute key="com.renesas.cdt.core.runCommands" value=""/>
-<stringAttribute key="com.renesas.cdt.core.serverParam" value="-g E1  -t R5F571ML  -p 61234 -d 61236 -uClockSrcHoco= 0 -uInputClock= 27.0000 -uAllowClockSourceInternal= 1 -uUseFine= 0 -uJTagClockFreq= 16.5 -w 0 -z 0 -uRegisterSetting= 0 -uModePin= 0 -uDebugMode= 0 -uExecuteProgram= 0 -uIdCode= FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -b -n 0 -uWorkRamAddress= 1000 -uProgReWriteIRom= 0 -uProgReWriteDFlash= 0 -uPTimerClock= 120000000 -uhookWorkRamAddr= 0x1000 -uhookWorkRamSize= 0x230"/>
+<stringAttribute key="com.renesas.cdt.core.serverParam" value="-g E1  -t R5F571ML  -p 61234 -d 61236 -uClockSrcHoco= 0 -uInputClock= 27.0000 -uAllowClockSourceInternal= 1 -uUseFine= 0 -uJTagClockFreq= 16.5 -w 1 -z 0 -uRegisterSetting= 0 -uModePin= 0 -uDebugMode= 0 -uExecuteProgram= 0 -uIdCode= FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -b -n 0 -uWorkRamAddress= 1000 -uProgReWriteIRom= 0 -uProgReWriteDFlash= 0 -uPTimerClock= 120000000 -uhookWorkRamAddr= 0x1000 -uhookWorkRamSize= 0x230"/>
 <booleanAttribute key="com.renesas.cdt.core.setResume" value="true"/>
 <booleanAttribute key="com.renesas.cdt.core.setStopAt" value="true"/>
 <booleanAttribute key="com.renesas.cdt.core.startServer" value="true"/>
@@ -29,7 +29,7 @@
 <booleanAttribute key="com.renesas.hardwaredebug.e1.allow.clock.source.internal" value="true"/>
 <intAttribute key="com.renesas.hardwaredebug.e1.clock_source" value="0"/>
 <stringAttribute key="com.renesas.hardwaredebug.e1.connection.mode" value="0"/>
-<booleanAttribute key="com.renesas.hardwaredebug.e1.e1_pwr" value="false"/>
+<booleanAttribute key="com.renesas.hardwaredebug.e1.e1_pwr" value="true"/>
 <booleanAttribute key="com.renesas.hardwaredebug.e1.enable.hot.plug" value="false"/>
 <booleanAttribute key="com.renesas.hardwaredebug.e1.enable_external_flash" value="false"/>
 <booleanAttribute key="com.renesas.hardwaredebug.e1.execute.program" value="false"/>
@@ -62,7 +62,7 @@
 <intAttribute key="org.eclipse.cdt.debug.gdbjtag.core.delay" value="3"/>
 <booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.doHalt" value="false"/>
 <booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.doReset" value="false"/>
-<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.imageFileName" value="C:\E\Dev\FreeRTOS\WorkingCopy\FreeRTOS\Demo\RX700_RX71M_GCC_e2studio\HardwareDebug\RTOSDemo.x"/>
+<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.imageFileName" value="C:\E\Dev\FreeRTOS\WorkingCopy\FreeRTOS\Demo\RX700_RX71M_RSK_GCC_e2studio_IAR\HardwareDebug\RTOSDemo.x"/>
 <stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.imageOffset" value=""/>
 <stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.initCommands" value=""/>
 <booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.loadImage" value="true"/>
@@ -73,7 +73,7 @@
 <booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setResume" value="true"/>
 <booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setStopAt" value="true"/>
 <stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.stopAt" value="main"/>
-<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.symbolsFileName" value="C:\E\Dev\FreeRTOS\WorkingCopy\FreeRTOS\Demo\RX700_RX71M_GCC_e2studio\HardwareDebug\RTOSDemo.x"/>
+<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.symbolsFileName" value="C:\E\Dev\FreeRTOS\WorkingCopy\FreeRTOS\Demo\RX700_RX71M_RSK_GCC_e2studio_IAR\HardwareDebug\RTOSDemo.x"/>
 <stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.symbolsOffset" value=""/>
 <booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useFileForImage" value="false"/>
 <booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useFileForSymbols" value="false"/>
diff --git a/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/RTOSDemo.ewd b/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/RTOSDemo.ewd
index 3ef1570..ef652c8 100644
--- a/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/RTOSDemo.ewd
+++ b/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/RTOSDemo.ewd
@@ -29,7 +29,7 @@
         </option>
         <option>
           <name>CRunToEnable</name>
-          <state>0</state>
+          <state>1</state>
         </option>
         <option>
           <name>CRunToName</name>
diff --git a/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/RTOSDemo.ewp b/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/RTOSDemo.ewp
index 9ea5290..5fbc3f0 100644
--- a/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/RTOSDemo.ewp
+++ b/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/RTOSDemo.ewp
@@ -76,20 +76,20 @@
         <option>
           <name>GenLibInFormatter</name>
           <version>1</version>
-          <state>1</state>
+          <state>0</state>
         </option>
         <option>
           <name>GenLibInFormatterDescription</name>
-          <state>Full formatting.</state>
+          <state>Automatic choice of formatter.</state>
         </option>
         <option>
           <name>GenLibOutFormatter</name>
           <version>1</version>
-          <state>1</state>
+          <state>0</state>
         </option>
         <option>
           <name>GenLibOutFormatterDescription</name>
-          <state>Full formatting.</state>
+          <state>Automatic choice of formatter.</state>
         </option>
         <option>
           <name>GeneralEnableMisra</name>
@@ -255,7 +255,7 @@
         </option>
         <option>
           <name>CCDefines</name>
-          <state></state>
+          <state>__RX</state>
         </option>
         <option>
           <name>CCPreprocFile</name>
@@ -329,6 +329,7 @@
           <state>$PROJ_DIR$\..\..\Source\portable\IAR\RXv2</state>
           <state>$PROJ_DIR$\..\Common\include</state>
           <state>$PROJ_DIR$\src\Full_Demo</state>
+          <state>$PROJ_DIR$\..\..\..\FreeRTOS-Plus\Source\FreeRTOS-Plus-CLI</state>
         </option>
         <option>
           <name>CCStdIncCheck</name>
@@ -1979,6 +1980,12 @@
   <group>
     <name>Full_Demo</name>
     <group>
+      <name>FreeRTOS+CLI</name>
+      <file>
+        <name>$PROJ_DIR$\..\..\..\FreeRTOS-Plus\Source\FreeRTOS-Plus-CLI\FreeRTOS_CLI.c</name>
+      </file>
+    </group>
+    <group>
       <name>Standard_Demo_Tasks</name>
       <file>
         <name>$PROJ_DIR$\..\Common\Minimal\BlockQ.c</name>
@@ -2035,6 +2042,12 @@
     <file>
       <name>$PROJ_DIR$\src\Full_Demo\RegTest_IAR.s</name>
     </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\FreeRTOS-Plus\Demo\Common\FreeRTOS_Plus_CLI_Demos\Sample-CLI-commands.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\FreeRTOS-Plus\Demo\Common\FreeRTOS_Plus_CLI_Demos\UARTCommandConsole.c</name>
+    </file>
   </group>
   <file>
     <name>$PROJ_DIR$\src\FreeRTOSConfig.h</name>
@@ -2043,6 +2056,9 @@
     <name>$PROJ_DIR$\src\main.c</name>
   </file>
   <file>
+    <name>$PROJ_DIR$\src\cg_src\r_cg_intprg_iar.c</name>
+  </file>
+  <file>
     <name>$PROJ_DIR$\src\rskrx71mdef.h</name>
   </file>
 </project>
diff --git a/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/settings/RTOSDemo.dbgdt b/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/settings/RTOSDemo.dbgdt
index 4f7e510..5e0066f 100644
--- a/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/settings/RTOSDemo.dbgdt
+++ b/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/settings/RTOSDemo.dbgdt
@@ -4,9 +4,9 @@
   <Desktop>
     <Static>
       <Debug-Log>
-        <ColumnWidth0>20</ColumnWidth0>
-        <ColumnWidth1>1622</ColumnWidth1>
-      </Debug-Log>
+        
+        
+      <ColumnWidth0>20</ColumnWidth0><ColumnWidth1>1622</ColumnWidth1></Debug-Log>
       <Build>
         <ColumnWidth0>20</ColumnWidth0>
         <ColumnWidth1>1216</ColumnWidth1>
@@ -15,31 +15,31 @@
       </Build>
       <Workspace>
         <ColumnWidths>
-          <Column0>255</Column0>
-          <Column1>27</Column1>
-          <Column2>27</Column2>
-          <Column3>27</Column3>
-        </ColumnWidths>
+          
+          
+          
+          
+        <Column0>255</Column0><Column1>27</Column1><Column2>27</Column2><Column3>27</Column3></ColumnWidths>
       </Workspace>
       <Disassembly>
         <col-names>
-          <item>Disassembly</item>
-          <item>_I0</item>
-        </col-names>
+          
+          
+        <item>Disassembly</item><item>_I0</item></col-names>
         <col-widths>
-          <item>500</item>
-          <item>20</item>
-        </col-widths>
+          
+          
+        <item>500</item><item>20</item></col-widths>
         <DisasmHistory/>
         <PreferedWindows>
-          <Position>2</Position>
-          <ScreenPosX>0</ScreenPosX>
-          <ScreenPosY>0</ScreenPosY>
-          <Windows/>
-        </PreferedWindows>
-        <ShowCodeCoverage>1</ShowCodeCoverage>
-        <ShowInstrProfiling>1</ShowInstrProfiling>
-      </Disassembly>
+          
+          
+          
+          
+        <Position>2</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows/></PreferedWindows>
+        
+        
+      <ShowCodeCoverage>1</ShowCodeCoverage><ShowInstrProfiling>1</ShowInstrProfiling></Disassembly>
       <Register>
         <PreferedWindows>
           <Position>2</Position>
@@ -48,9 +48,11 @@
           <Windows/>
         </PreferedWindows>
       </Register>
-    </Static>
+    <Find-in-Files><ColumnWidth0>497</ColumnWidth0><ColumnWidth1>82</ColumnWidth1><ColumnWidth2>746</ColumnWidth2><ColumnWidth3>331</ColumnWidth3></Find-in-Files><CallStack><PreferedWindows><Position>1</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows/></PreferedWindows><col-names><item>Frame</item><item>_I0</item></col-names><col-widths><item>3500</item><item>20</item></col-widths></CallStack><WATCH_1><PreferedWindows><Position>2</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows/></PreferedWindows><expressions><item/></expressions><col-names><item>Expression</item><item>Location</item><item>Type</item><item>Value</item></col-names><col-widths><item>100</item><item>150</item><item>100</item><item>100</item></col-widths></WATCH_1></Static>
     <Windows>
-      <Wnd1>
+      
+      
+    <Wnd3>
         <Tabs>
           <Tab>
             <Identity>TabID-6594-3339</Identity>
@@ -64,180 +66,34 @@
             <Factory>Build</Factory>
             <Session/>
           </Tab>
-        </Tabs>
-        <SelectedTab>0</SelectedTab>
-      </Wnd1>
-      <Wnd4>
+        <Tab><Identity>TabID-19467-29965</Identity><TabName>Find in Files</TabName><Factory>Find-in-Files</Factory><Session/></Tab></Tabs>
+        
+      <SelectedTab>0</SelectedTab></Wnd3><Wnd4>
         <Tabs>
           <Tab>
             <Identity>TabID-17343-3342</Identity>
             <TabName>Workspace</TabName>
             <Factory>Workspace</Factory>
             <Session>
-              <NodeDict>
-                <ExpandedNode>RTOSDemo</ExpandedNode>
-              </NodeDict>
-            </Session>
+              
+            <NodeDict><ExpandedNode>RTOSDemo</ExpandedNode><ExpandedNode>RTOSDemo/FreeRTOS_Source</ExpandedNode><ExpandedNode>RTOSDemo/Full_Demo</ExpandedNode><ExpandedNode>RTOSDemo/cg_src</ExpandedNode></NodeDict></Session>
           </Tab>
         </Tabs>
-        <SelectedTab>0</SelectedTab>
-      </Wnd4>
-    </Windows>
+        
+      <SelectedTab>0</SelectedTab></Wnd4><Wnd5><Tabs><Tab><Identity>TabID-15169-30612</Identity><TabName>Disassembly</TabName><Factory>Disassembly</Factory><Session/></Tab></Tabs><SelectedTab>0</SelectedTab></Wnd5></Windows>
     <Editor>
-      <Pane>
-        <Tab>
-          <Factory>TextEditor</Factory>
-          <Filename>$WS_DIR$\src\main.c</Filename>
-          <XPos>0</XPos>
-          <YPos>0</YPos>
-          <SelStart>0</SelStart>
-          <SelEnd>0</SelEnd>
-          <XPos2>0</XPos2>
-          <YPos2>66</YPos2>
-          <SelStart2>5312</SelStart2>
-          <SelEnd2>5312</SelEnd2>
-        </Tab>
-        <Tab>
-          <Factory>TextEditor</Factory>
-          <Filename>$WS_DIR$\src\Full_Demo\RegTest_IAR.s</Filename>
-          <XPos>0</XPos>
-          <YPos>0</YPos>
-          <SelStart>0</SelStart>
-          <SelEnd>0</SelEnd>
-          <XPos2>0</XPos2>
-          <YPos2>144</YPos2>
-          <SelStart2>5881</SelStart2>
-          <SelEnd2>5881</SelEnd2>
-        </Tab>
-        <Tab>
-          <Factory>TextEditor</Factory>
-          <Filename>$WS_DIR$\..\Common\Minimal\flop.c</Filename>
-          <XPos>0</XPos>
-          <YPos>0</YPos>
-          <SelStart>0</SelStart>
-          <SelEnd>0</SelEnd>
-          <XPos2>0</XPos2>
-          <YPos2>126</YPos2>
-          <SelStart2>6956</SelStart2>
-          <SelEnd2>6956</SelEnd2>
-        </Tab>
-        <Tab>
-          <Factory>TextEditor</Factory>
-          <Filename>$WS_DIR$\..\Common\Minimal\TimerDemo.c</Filename>
-          <XPos>0</XPos>
-          <YPos>0</YPos>
-          <SelStart>0</SelStart>
-          <SelEnd>0</SelEnd>
-          <XPos2>0</XPos2>
-          <YPos2>242</YPos2>
-          <SelStart2>12612</SelStart2>
-          <SelEnd2>12612</SelEnd2>
-        </Tab>
-        <Tab>
-          <Factory>TextEditor</Factory>
-          <Filename>$WS_DIR$\..\Common\Minimal\IntQueue.c</Filename>
-          <XPos>0</XPos>
-          <YPos>0</YPos>
-          <SelStart>0</SelStart>
-          <SelEnd>0</SelEnd>
-          <XPos2>0</XPos2>
-          <YPos2>381</YPos2>
-          <SelStart2>0</SelStart2>
-          <SelEnd2>0</SelEnd2>
-        </Tab>
-        <Tab>
-          <Factory>TextEditor</Factory>
-          <Filename>$WS_DIR$\src\Full_Demo\IntQueueTimer.c</Filename>
-          <XPos>0</XPos>
-          <YPos>0</YPos>
-          <SelStart>0</SelStart>
-          <SelEnd>0</SelEnd>
-          <XPos2>0</XPos2>
-          <YPos2>154</YPos2>
-          <SelStart2>7349</SelStart2>
-          <SelEnd2>7349</SelEnd2>
-        </Tab>
-        <ActiveTab>5</ActiveTab>
-      </Pane>
-      <ActivePane>0</ActivePane>
-      <Sizes>
-        <Pane>
-          <X>1000000</X>
-          <Y>1000000</Y>
-        </Pane>
-      </Sizes>
-      <SplitMode>1</SplitMode>
-    </Editor>
+      
+      
+      
+      
+    <Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\src\main.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>112</YPos2><SelStart2>6366</SelStart2><SelEnd2>6366</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\src\FreeRTOSConfig.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>61</YPos2><SelStart2>4905</SelStart2><SelEnd2>4905</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\src\cg_src\r_cg_sci_user_iar.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>309</YPos2><SelStart2>14485</SelStart2><SelEnd2>14485</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\src\cg_src\r_cg_sci.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>163</YPos2><SelStart2>8761</SelStart2><SelEnd2>8761</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\..\Source\tasks.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>1670</YPos2><SelStart2>60105</SelStart2><SelEnd2>60105</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\src\Full_Demo\main_full.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>390</YPos2><SelStart2>16934</SelStart2><SelEnd2>16934</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\..\..\FreeRTOS-Plus\Demo\Common\FreeRTOS_Plus_CLI_Demos\Sample-CLI-commands.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>401</YPos2><SelStart2>0</SelStart2><SelEnd2>0</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\..\..\FreeRTOS-Plus\Demo\Common\FreeRTOS_Plus_CLI_Demos\UARTCommandConsole.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>187</YPos2><SelStart2>8728</SelStart2><SelEnd2>8728</SelEnd2></Tab><ActiveTab>7</ActiveTab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
     <Positions>
-      <Top>
-        <Row0>
-          <Sizes>
-            <Toolbar-026E7B08>
-              <key>iaridepm.enu1</key>
-            </Toolbar-026E7B08>
-          </Sizes>
-        </Row0>
-        <Row1>
-          <Sizes>
-            <Toolbar-1DFB9BD8>
-              <key>debuggergui.enu1</key>
-            </Toolbar-1DFB9BD8>
-          </Sizes>
-        </Row1>
-      </Top>
-      <Left>
-        <Row0>
-          <Sizes>
-            <Wnd4>
-              <Rect>
-                <Top>-2</Top>
-                <Left>-2</Left>
-                <Bottom>718</Bottom>
-                <Right>329</Right>
-                <x>-2</x>
-                <y>-2</y>
-                <xscreen>200</xscreen>
-                <yscreen>200</yscreen>
-                <sizeHorzCX>119048</sizeHorzCX>
-                <sizeHorzCY>203252</sizeHorzCY>
-                <sizeVertCX>197024</sizeVertCX>
-                <sizeVertCY>731707</sizeVertCY>
-              </Rect>
-            </Wnd4>
-          </Sizes>
-        </Row0>
-      </Left>
-      <Right>
-        <Row0>
-          <Sizes/>
-        </Row0>
-      </Right>
-      <Bottom>
-        <Row0>
-          <Sizes>
-            <Wnd1>
-              <Rect>
-                <Top>-2</Top>
-                <Left>-2</Left>
-                <Bottom>198</Bottom>
-                <Right>1682</Right>
-                <x>-2</x>
-                <y>-2</y>
-                <xscreen>1684</xscreen>
-                <yscreen>200</yscreen>
-                <sizeHorzCX>1002381</sizeHorzCX>
-                <sizeHorzCY>203252</sizeHorzCY>
-                <sizeVertCX>119048</sizeVertCX>
-                <sizeVertCY>203252</sizeVertCY>
-              </Rect>
-            </Wnd1>
-          </Sizes>
-        </Row0>
-      </Bottom>
-      <Float>
-        <Sizes/>
-      </Float>
-    </Positions>
+      
+      
+      
+      
+      
+    <Top><Row0><Sizes><Toolbar-026C81F0><key>iaridepm.enu1</key></Toolbar-026C81F0></Sizes></Row0><Row1><Sizes><Toolbar-1B927300><key>debuggergui.enu1</key></Toolbar-1B927300></Sizes></Row1><Row2><Sizes/></Row2></Top><Left><Row0><Sizes><Wnd4><Rect><Top>-2</Top><Left>-2</Left><Bottom>718</Bottom><Right>329</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>119048</sizeHorzCX><sizeHorzCY>203252</sizeHorzCY><sizeVertCX>197024</sizeVertCX><sizeVertCY>731707</sizeVertCY></Rect></Wnd4></Sizes></Row0></Left><Right><Row0><Sizes><Wnd5><Rect><Top>-2</Top><Left>-2</Left><Bottom>718</Bottom><Right>198</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>119048</sizeHorzCX><sizeHorzCY>203252</sizeHorzCY><sizeVertCX>119048</sizeVertCX><sizeVertCY>731707</sizeVertCY></Rect></Wnd5></Sizes></Row0></Right><Bottom><Row0><Sizes><Wnd3><Rect><Top>-2</Top><Left>-2</Left><Bottom>198</Bottom><Right>1682</Right><x>-2</x><y>-2</y><xscreen>1684</xscreen><yscreen>200</yscreen><sizeHorzCX>1002381</sizeHorzCX><sizeHorzCY>203252</sizeHorzCY><sizeVertCX>119048</sizeVertCX><sizeVertCY>203252</sizeVertCY></Rect></Wnd3></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
   </Desktop>
 </Project>
 
diff --git a/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/settings/RTOSDemo.dni b/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/settings/RTOSDemo.dni
index 9d63d23..ce57782 100644
--- a/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/settings/RTOSDemo.dni
+++ b/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/settings/RTOSDemo.dni
@@ -1,5 +1,5 @@
 [DebugChecksum]
-Checksum=-126027898
+Checksum=-1340739960
 [CodeCoverage]
 Enabled=_ 0
 [Stack]
@@ -53,116 +53,116 @@
 RegMode=0
 Endian=0
 ExtMemBlockNum=55
-ExtMemEndian_000=0                                  
-ExtMemCondAccess_000=0                                  
-ExtMemEndian_001=0                                  
-ExtMemCondAccess_001=0                                  
-ExtMemEndian_002=0                                  
-ExtMemCondAccess_002=0                                  
-ExtMemEndian_003=0                                  
-ExtMemCondAccess_003=0                                  
-ExtMemEndian_004=0                                  
-ExtMemCondAccess_004=0                                  
-ExtMemEndian_005=0                                  
-ExtMemCondAccess_005=0                                  
-ExtMemEndian_006=0                                  
-ExtMemCondAccess_006=0                                  
-ExtMemEndian_007=0                                  
-ExtMemCondAccess_007=0                                  
-ExtMemEndian_008=0                                  
-ExtMemCondAccess_008=0                                  
-ExtMemEndian_009=0                                  
-ExtMemCondAccess_009=0                                  
-ExtMemEndian_010=0                                  
-ExtMemCondAccess_010=0                                  
-ExtMemEndian_011=0                                  
-ExtMemCondAccess_011=0                                  
-ExtMemEndian_012=0                                  
-ExtMemCondAccess_012=0                                  
-ExtMemEndian_013=0                                  
-ExtMemCondAccess_013=0                                  
-ExtMemEndian_014=0                                  
-ExtMemCondAccess_014=0                                  
-ExtMemEndian_015=0                                  
-ExtMemCondAccess_015=0                                  
-ExtMemEndian_016=0                                  
-ExtMemCondAccess_016=0                                  
-ExtMemEndian_017=0                                  
-ExtMemCondAccess_017=0                                  
-ExtMemEndian_018=0                                  
-ExtMemCondAccess_018=0                                  
-ExtMemEndian_019=0                                  
-ExtMemCondAccess_019=0                                  
-ExtMemEndian_020=0                                  
-ExtMemCondAccess_020=0                                  
-ExtMemEndian_021=0                                  
-ExtMemCondAccess_021=0                                  
-ExtMemEndian_022=0                                  
-ExtMemCondAccess_022=0                                  
-ExtMemEndian_023=0                                  
-ExtMemCondAccess_023=0                                  
-ExtMemEndian_024=0                                  
-ExtMemCondAccess_024=0                                  
-ExtMemEndian_025=0                                  
-ExtMemCondAccess_025=0                                  
-ExtMemEndian_026=0                                  
-ExtMemCondAccess_026=0                                  
-ExtMemEndian_027=0                                  
-ExtMemCondAccess_027=0                                  
-ExtMemEndian_028=0                                  
-ExtMemCondAccess_028=0                                  
-ExtMemEndian_029=0                                  
-ExtMemCondAccess_029=0                                  
-ExtMemEndian_030=0                                  
-ExtMemCondAccess_030=0                                  
-ExtMemEndian_031=0                                  
-ExtMemCondAccess_031=0                                  
-ExtMemEndian_032=0                                  
-ExtMemCondAccess_032=0                                  
-ExtMemEndian_033=0                                  
-ExtMemCondAccess_033=0                                  
-ExtMemEndian_034=0                                  
-ExtMemCondAccess_034=0                                  
-ExtMemEndian_035=0                                  
-ExtMemCondAccess_035=0                                  
-ExtMemEndian_036=0                                  
-ExtMemCondAccess_036=0                                  
-ExtMemEndian_037=0                                  
-ExtMemCondAccess_037=0                                  
-ExtMemEndian_038=0                                  
-ExtMemCondAccess_038=0                                  
-ExtMemEndian_039=0                                  
-ExtMemCondAccess_039=0                                  
-ExtMemEndian_040=0                                  
-ExtMemCondAccess_040=0                                  
-ExtMemEndian_041=0                                  
-ExtMemCondAccess_041=0                                  
-ExtMemEndian_042=0                                  
-ExtMemCondAccess_042=0                                  
-ExtMemEndian_043=0                                  
-ExtMemCondAccess_043=0                                  
-ExtMemEndian_044=0                                  
-ExtMemCondAccess_044=0                                  
-ExtMemEndian_045=0                                  
-ExtMemCondAccess_045=0                                  
-ExtMemEndian_046=0                                  
-ExtMemCondAccess_046=0                                  
-ExtMemEndian_047=0                                  
-ExtMemCondAccess_047=0                                  
-ExtMemEndian_048=0                                  
-ExtMemCondAccess_048=0                                  
-ExtMemEndian_049=0                                  
-ExtMemCondAccess_049=0                                  
-ExtMemEndian_050=0                                  
-ExtMemCondAccess_050=0                                  
-ExtMemEndian_051=0                                  
-ExtMemCondAccess_051=0                                  
-ExtMemEndian_052=0                                  
-ExtMemCondAccess_052=0                                  
-ExtMemEndian_053=0                                  
-ExtMemCondAccess_053=0                                  
-ExtMemEndian_054=0                                  
-ExtMemCondAccess_054=0                                  
+ExtMemEndian_000=0                                                                                                    
+ExtMemCondAccess_000=0                                                                                                    
+ExtMemEndian_001=0                                                                                                    
+ExtMemCondAccess_001=0                                                                                                    
+ExtMemEndian_002=0                                                                                                    
+ExtMemCondAccess_002=0                                                                                                    
+ExtMemEndian_003=0                                                                                                    
+ExtMemCondAccess_003=0                                                                                                    
+ExtMemEndian_004=0                                                                                                    
+ExtMemCondAccess_004=0                                                                                                    
+ExtMemEndian_005=0                                                                                                    
+ExtMemCondAccess_005=0                                                                                                    
+ExtMemEndian_006=0                                                                                                    
+ExtMemCondAccess_006=0                                                                                                    
+ExtMemEndian_007=0                                                                                                    
+ExtMemCondAccess_007=0                                                                                                    
+ExtMemEndian_008=0                                                                                                    
+ExtMemCondAccess_008=0                                                                                                    
+ExtMemEndian_009=0                                                                                                    
+ExtMemCondAccess_009=0                                                                                                    
+ExtMemEndian_010=0                                                                                                    
+ExtMemCondAccess_010=0                                                                                                    
+ExtMemEndian_011=0                                                                                                    
+ExtMemCondAccess_011=0                                                                                                    
+ExtMemEndian_012=0                                                                                                    
+ExtMemCondAccess_012=0                                                                                                    
+ExtMemEndian_013=0                                                                                                    
+ExtMemCondAccess_013=0                                                                                                    
+ExtMemEndian_014=0                                                                                                    
+ExtMemCondAccess_014=0                                                                                                    
+ExtMemEndian_015=0                                                                                                    
+ExtMemCondAccess_015=0                                                                                                    
+ExtMemEndian_016=0                                                                                                    
+ExtMemCondAccess_016=0                                                                                                    
+ExtMemEndian_017=0                                                                                                    
+ExtMemCondAccess_017=0                                                                                                    
+ExtMemEndian_018=0                                                                                                    
+ExtMemCondAccess_018=0                                                                                                    
+ExtMemEndian_019=0                                                                                                    
+ExtMemCondAccess_019=0                                                                                                    
+ExtMemEndian_020=0                                                                                                    
+ExtMemCondAccess_020=0                                                                                                    
+ExtMemEndian_021=0                                                                                                    
+ExtMemCondAccess_021=0                                                                                                    
+ExtMemEndian_022=0                                                                                                    
+ExtMemCondAccess_022=0                                                                                                    
+ExtMemEndian_023=0                                                                                                    
+ExtMemCondAccess_023=0                                                                                                    
+ExtMemEndian_024=0                                                                                                    
+ExtMemCondAccess_024=0                                                                                                    
+ExtMemEndian_025=0                                                                                                    
+ExtMemCondAccess_025=0                                                                                                    
+ExtMemEndian_026=0                                                                                                    
+ExtMemCondAccess_026=0                                                                                                    
+ExtMemEndian_027=0                                                                                                    
+ExtMemCondAccess_027=0                                                                                                    
+ExtMemEndian_028=0                                                                                                    
+ExtMemCondAccess_028=0                                                                                                    
+ExtMemEndian_029=0                                                                                                    
+ExtMemCondAccess_029=0                                                                                                    
+ExtMemEndian_030=0                                                                                                    
+ExtMemCondAccess_030=0                                                                                                    
+ExtMemEndian_031=0                                                                                                    
+ExtMemCondAccess_031=0                                                                                                    
+ExtMemEndian_032=0                                                                                                    
+ExtMemCondAccess_032=0                                                                                                    
+ExtMemEndian_033=0                                                                                                    
+ExtMemCondAccess_033=0                                                                                                    
+ExtMemEndian_034=0                                                                                                    
+ExtMemCondAccess_034=0                                                                                                    
+ExtMemEndian_035=0                                                                                                    
+ExtMemCondAccess_035=0                                                                                                    
+ExtMemEndian_036=0                                                                                                    
+ExtMemCondAccess_036=0                                                                                                    
+ExtMemEndian_037=0                                                                                                    
+ExtMemCondAccess_037=0                                                                                                    
+ExtMemEndian_038=0                                                                                                    
+ExtMemCondAccess_038=0                                                                                                    
+ExtMemEndian_039=0                                                                                                    
+ExtMemCondAccess_039=0                                                                                                    
+ExtMemEndian_040=0                                                                                                    
+ExtMemCondAccess_040=0                                                                                                    
+ExtMemEndian_041=0                                                                                                    
+ExtMemCondAccess_041=0                                                                                                    
+ExtMemEndian_042=0                                                                                                    
+ExtMemCondAccess_042=0                                                                                                    
+ExtMemEndian_043=0                                                                                                    
+ExtMemCondAccess_043=0                                                                                                    
+ExtMemEndian_044=0                                                                                                    
+ExtMemCondAccess_044=0                                                                                                    
+ExtMemEndian_045=0                                                                                                    
+ExtMemCondAccess_045=0                                                                                                    
+ExtMemEndian_046=0                                                                                                    
+ExtMemCondAccess_046=0                                                                                                    
+ExtMemEndian_047=0                                                                                                    
+ExtMemCondAccess_047=0                                                                                                    
+ExtMemEndian_048=0                                                                                                    
+ExtMemCondAccess_048=0                                                                                                    
+ExtMemEndian_049=0                                                                                                    
+ExtMemCondAccess_049=0                                                                                                    
+ExtMemEndian_050=0                                                                                                    
+ExtMemCondAccess_050=0                                                                                                    
+ExtMemEndian_051=0                                                                                                    
+ExtMemCondAccess_051=0                                                                                                    
+ExtMemEndian_052=0                                                                                                    
+ExtMemCondAccess_052=0                                                                                                    
+ExtMemEndian_053=0                                                                                                    
+ExtMemCondAccess_053=0                                                                                                    
+ExtMemEndian_054=0                                                                                                    
+ExtMemCondAccess_054=0                                                                                                    
 InputClock=25.000000
 ICLK=240.000000
 AllowClkSrcChange=0
diff --git a/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/settings/RTOSDemo.wsdt b/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/settings/RTOSDemo.wsdt
index 4295315..8fdc6d8 100644
--- a/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/settings/RTOSDemo.wsdt
+++ b/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/settings/RTOSDemo.wsdt
@@ -12,7 +12,7 @@
           
           
           
-        <Column0>310</Column0><Column1>27</Column1><Column2>27</Column2><Column3>27</Column3></ColumnWidths>
+        <Column0>326</Column0><Column1>27</Column1><Column2>27</Column2><Column3>27</Column3></ColumnWidths>
       </Workspace>
       <Build>
         
@@ -25,7 +25,7 @@
         <ColumnWidth0>20</ColumnWidth0>
         <ColumnWidth1>1622</ColumnWidth1>
       </Debug-Log>
-    </Static>
+    <Find-in-Files><ColumnWidth0>497</ColumnWidth0><ColumnWidth1>82</ColumnWidth1><ColumnWidth2>746</ColumnWidth2><ColumnWidth3>331</ColumnWidth3></Find-in-Files></Static>
     <Windows>
       
       
@@ -37,7 +37,7 @@
             <Factory>Workspace</Factory>
             <Session>
               
-            <NodeDict><ExpandedNode>RTOSDemo</ExpandedNode><ExpandedNode>RTOSDemo/Blinky_Demo</ExpandedNode><ExpandedNode>RTOSDemo/FreeRTOS_Source</ExpandedNode><ExpandedNode>RTOSDemo/FreeRTOS_Source/portable</ExpandedNode><ExpandedNode>RTOSDemo/Full_Demo</ExpandedNode><ExpandedNode>RTOSDemo/Full_Demo/Standard_Demo_Tasks</ExpandedNode><ExpandedNode>RTOSDemo/cg_src</ExpandedNode></NodeDict></Session>
+            <NodeDict><ExpandedNode>RTOSDemo</ExpandedNode><ExpandedNode>RTOSDemo/Full_Demo</ExpandedNode><ExpandedNode>RTOSDemo/Full_Demo/FreeRTOS+CLI</ExpandedNode><ExpandedNode>RTOSDemo/cg_src</ExpandedNode></NodeDict></Session>
           </Tab>
         </Tabs>
         
@@ -55,7 +55,7 @@
             <Factory>Debug-Log</Factory>
             <Session/>
           </Tab>
-        </Tabs>
+        <Tab><Identity>TabID-17690-32046</Identity><TabName>Find in Files</TabName><Factory>Find-in-Files</Factory><Session/></Tab></Tabs>
         
       <SelectedTab>0</SelectedTab></Wnd3></Windows>
     <Editor>
@@ -63,14 +63,14 @@
       
       
       
-    <Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\src\main.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>66</YPos2><SelStart2>5312</SelStart2><SelEnd2>5312</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\src\Full_Demo\RegTest_IAR.s</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>144</YPos2><SelStart2>5881</SelStart2><SelEnd2>5881</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\Common\Minimal\flop.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>126</YPos2><SelStart2>6956</SelStart2><SelEnd2>6956</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\Common\Minimal\TimerDemo.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>242</YPos2><SelStart2>12612</SelStart2><SelEnd2>12612</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\Common\Minimal\IntQueue.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>381</YPos2><SelStart2>0</SelStart2><SelEnd2>0</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\src\Full_Demo\IntQueueTimer.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>142</YPos2><SelStart2>7349</SelStart2><SelEnd2>7349</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\..\Source\portable\IAR\RXv2\port.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>61</YPos2><SelStart2>4241</SelStart2><SelEnd2>4241</SelEnd2></Tab><ActiveTab>6</ActiveTab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
+    <Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\src\main.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>67</YPos2><SelStart2>0</SelStart2><SelEnd2>0</SelEnd2></Tab><ActiveTab>0</ActiveTab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
     <Positions>
       
       
       
       
       
-    <Top><Row0><Sizes><Toolbar-00887B08><key>iaridepm.enu1</key></Toolbar-00887B08></Sizes></Row0></Top><Left><Row0><Sizes><Wnd2><Rect><Top>-2</Top><Left>-2</Left><Bottom>742</Bottom><Right>400</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>119048</sizeHorzCX><sizeHorzCY>203252</sizeHorzCY><sizeVertCX>239286</sizeVertCX><sizeVertCY>756098</sizeVertCY></Rect></Wnd2></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd3><Rect><Top>-2</Top><Left>-2</Left><Bottom>198</Bottom><Right>1682</Right><x>-2</x><y>-2</y><xscreen>1684</xscreen><yscreen>200</yscreen><sizeHorzCX>1002381</sizeHorzCX><sizeHorzCY>203252</sizeHorzCY><sizeVertCX>119048</sizeVertCX><sizeVertCY>203252</sizeVertCY></Rect></Wnd3></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
+    <Top><Row0><Sizes><Toolbar-0106A4B8><key>iaridepm.enu1</key></Toolbar-0106A4B8></Sizes></Row0></Top><Left><Row0><Sizes><Wnd2><Rect><Top>-2</Top><Left>-2</Left><Bottom>741</Bottom><Right>400</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>201</yscreen><sizeHorzCX>119048</sizeHorzCX><sizeHorzCY>204268</sizeHorzCY><sizeVertCX>239286</sizeVertCX><sizeVertCY>755081</sizeVertCY></Rect></Wnd2></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd3><Rect><Top>-2</Top><Left>-2</Left><Bottom>199</Bottom><Right>1682</Right><x>-2</x><y>-2</y><xscreen>1684</xscreen><yscreen>201</yscreen><sizeHorzCX>1002381</sizeHorzCX><sizeHorzCY>204268</sizeHorzCY><sizeVertCX>119048</sizeVertCX><sizeVertCY>204268</sizeVertCY></Rect></Wnd3></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
   </Desktop>
 </Workspace>
 
diff --git a/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/settings/RTOSDemo.wspos b/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/settings/RTOSDemo.wspos
index ecdc2c4..58fc39b 100644
--- a/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/settings/RTOSDemo.wspos
+++ b/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/settings/RTOSDemo.wspos
@@ -1,2 +1,2 @@
 [MainWindow]
-WindowPlacement=_ 519 0 1619 872 3
+WindowPlacement=_ 250 0 1350 872 3
diff --git a/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/src/Blinky_Demo/main_blinky.c b/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/src/Blinky_Demo/main_blinky.c
index dab3ec0..afe12f0 100644
--- a/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/src/Blinky_Demo/main_blinky.c
+++ b/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/src/Blinky_Demo/main_blinky.c
@@ -84,24 +84,14 @@
  *
  * The Queue Send Task:
  * The queue send task is implemented by the prvQueueSendTask() function in
- * this file.  prvQueueSendTask() sits in a loop that causes it to repeatedly
- * block for 200 milliseconds, before sending the value 100 to the queue that
- * was created within main_blinky().  Once the value is sent, the task loops
- * back around to block for another 200 milliseconds...and so on.
+ * this file.  It sends the value 100 to the queue every 200 milliseconds.
  *
  * The Queue Receive Task:
  * The queue receive task is implemented by the prvQueueReceiveTask() function
- * in this file.  prvQueueReceiveTask() sits in a loop where it repeatedly
- * blocks on attempts to read data from the queue that was created within
- * main_blinky().  When data is received, the task checks the value of the
- * data, and if the value equals the expected 100, toggles an LED.  The 'block
- * time' parameter passed to the queue receive function specifies that the
- * task should be held in the Blocked state indefinitely to wait for data to
- * be available on the queue.  The queue receive task will only leave the
- * Blocked state when the queue send task writes to the queue.  As the queue
- * send task writes to the queue every 200 milliseconds, the queue receive
- * task leaves the Blocked state every 200 milliseconds, and therefore toggles
- * the LED every 200 milliseconds.
+ * in this file.  It blocks on the queue to wait for data to arrive from the
+ * queue send task - toggling the LED each time it receives the value 100.  The
+ * queue send task writes to the queue every 200ms, so the LED should toggle
+ * every 200ms.
  */
 
 /* Kernel includes. */
@@ -120,7 +110,7 @@
 
 /* The rate at which data is sent to the queue.  The 200ms value is converted
 to ticks using the portTICK_PERIOD_MS constant. */
-#define mainQUEUE_SEND_FREQUENCY_MS			( 200 / portTICK_PERIOD_MS )
+#define mainQUEUE_SEND_FREQUENCY_MS			( pdMS_TO_TICKS( 200UL ) )
 
 /* The number of items the queue can hold.  This is 1 as the receive task
 will remove items as they are added, meaning the send task should always find
diff --git a/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/src/FreeRTOSConfig.h b/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/src/FreeRTOSConfig.h
index 5faf0ce..a545a79 100644
--- a/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/src/FreeRTOSConfig.h
+++ b/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/src/FreeRTOSConfig.h
@@ -95,11 +95,11 @@
 #define configUSE_PREEMPTION			1
 #define configUSE_IDLE_HOOK				1
 #define configUSE_TICK_HOOK				1
-#define configCPU_CLOCK_HZ				( 120000000UL ) /*_RB_ guess*/
-#define configPERIPHERAL_CLOCK_HZ		( 60000000UL ) /*_RB_ guess*/
+#define configCPU_CLOCK_HZ				( 120000000UL )
+#define configPERIPHERAL_CLOCK_HZ		( 60000000UL )
 #define configTICK_RATE_HZ				( ( TickType_t ) 1000 )
-#define configMINIMAL_STACK_SIZE		( ( unsigned short ) 140 )
-#define configTOTAL_HEAP_SIZE			( ( size_t ) ( 40 * 1024 ) )
+#define configMINIMAL_STACK_SIZE		( ( unsigned short ) 120 )
+#define configTOTAL_HEAP_SIZE			( ( size_t ) ( 50 * 1024 ) )
 #define configMAX_TASK_NAME_LEN			( 12 )
 #define configUSE_TRACE_FACILITY		1
 #define configUSE_16_BIT_TICKS			0
@@ -117,6 +117,12 @@
 #define configMAX_PRIORITIES			( 7 )
 #define configMAX_CO_ROUTINE_PRIORITIES ( 2 )
 
+/* This demo makes use of one or more example stats formatting functions.  These
+format the raw data provided by the uxTaskGetSystemState() function in to human
+readable ASCII form.  See the notes in the implementation of vTaskList() within
+FreeRTOS/Source/tasks.c for limitations. */
+#define configUSE_STATS_FORMATTING_FUNCTIONS	1
+
 /* Software timer definitions. */
 #define configUSE_TIMERS				1
 #define configTIMER_TASK_PRIORITY		( configMAX_PRIORITIES - 1 )
@@ -152,9 +158,14 @@
 #define INCLUDE_eTaskGetState				1
 #define INCLUDE_xTimerPendFunctionCall		1
 
-void vAssertCalled( void );
 #define configASSERT( x ) if( ( x ) == 0 ) { taskDISABLE_INTERRUPTS(); for( ;; ); }
 
+/* The buffer into which output generated by FreeRTOS+CLI is placed.  This must
+be at least big enough to contain the output of the task-stats command, as the
+example implementation does not include buffer overlow checking. */
+#define configCOMMAND_INT_MAX_OUTPUT_SIZE	3500
+#define configINCLUDE_QUERY_HEAP_COMMAND	1
+
 /* Override some of the priorities set in the common demo tasks.  This is
 required to ensure flase positive timing errors are not reported. */
 #define bktPRIMARY_PRIORITY		( configMAX_PRIORITIES - 3 )
@@ -162,28 +173,4 @@
 #define intqHIGHER_PRIORITY		( configMAX_PRIORITIES - 3 )
 
 
-/*-----------------------------------------------------------
- * Ethernet configuration.
- *-----------------------------------------------------------*/
-
-/* MAC address configuration. */
-#define configMAC_ADDR0	0x00
-#define configMAC_ADDR1	0x12
-#define configMAC_ADDR2	0x13
-#define configMAC_ADDR3	0x10
-#define configMAC_ADDR4	0x15
-#define configMAC_ADDR5	0x11
-
-/* IP address configuration. */
-#define configIP_ADDR0		192
-#define configIP_ADDR1		168
-#define configIP_ADDR2		0
-#define configIP_ADDR3		200
-
-/* Netmask configuration. */
-#define configNET_MASK0		255
-#define configNET_MASK1		255
-#define configNET_MASK2		255
-#define configNET_MASK3		0
-
 #endif /* FREERTOS_CONFIG_H */
diff --git a/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/src/Full_Demo/IntQueueTimer.h b/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/src/Full_Demo/IntQueueTimer.h
index fcf9f8c..a26068c 100644
--- a/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/src/Full_Demo/IntQueueTimer.h
+++ b/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/src/Full_Demo/IntQueueTimer.h
@@ -71,8 +71,8 @@
 #define INT_QUEUE_TIMER_H
 
 void vInitialiseTimerForIntQueueTest( void );
-portBASE_TYPE xTimer0Handler( void );
-portBASE_TYPE xTimer1Handler( void );
+BaseType_t xTimer0Handler( void );
+BaseType_t xTimer1Handler( void );
 
 #endif
 
diff --git a/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/src/Full_Demo/main_full.c b/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/src/Full_Demo/main_full.c
index e4edba2..4a0b7aa 100644
--- a/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/src/Full_Demo/main_full.c
+++ b/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/src/Full_Demo/main_full.c
@@ -81,7 +81,7 @@
  *
  ******************************************************************************
  *
- * main_full() creates all the demo application tasks and software timers, then
+ * main_full() creates a set of demo application tasks and software timers, then
  * starts the scheduler.  The web documentation provides more details of the
  * standard demo application tasks, which provide no particular functionality,
  * but do provide a good example of how to use the FreeRTOS API.
@@ -89,6 +89,12 @@
  * In addition to the standard demo tasks, the following tasks and tests are
  * defined and/or created within this file:
  *
+ * "FreeRTOS+CLI command console" -  The command console uses SCI1 for its
+ * input and output.  The baud rate is set to 19200.  Type "help" to see a list
+ * of registered commands.  The FreeRTOS+CLI license is different to the
+ * FreeRTOS license, see http://www.FreeRTOS.org/cli for license and usage
+ * details.
+ *
  * "Reg test" tasks - These fill both the core and floating point registers with
  * known values, then check that each register maintains its expected value for
  * the lifetime of the task.  Each task uses a different set of values.  The reg
@@ -97,19 +103,17 @@
  * error in the context switching mechanism.
  *
  * "Check" task - The check task period is initially set to three seconds.  The
- * task checks that all the standard demo tasks, and the register check tasks,
- * are not only still executing, but are executing without reporting any errors.
- * If the check task discovers that a task has either stalled, or reported an
- * error, then it changes its own execution period from the initial three
- * seconds, to just 200ms.  The check task also toggles an LED each time it is
- * called.  This provides a visual indication of the system status:  If the LED
- * toggles every three seconds, then no issues have been discovered.  If the LED
- * toggles every 200ms, then an issue has been discovered with at least one
- * task.
+ * task checks that all the standard demo tasks are not only still executing,
+ * but are executing without reporting any errors.  If the check task discovers
+ * that a task has either stalled, or reported an error, then it changes its own
+ * execution period from the initial three seconds, to just 200ms.  The check
+ * task also toggles an LED on each iteration of its loop.  This provides a
+ * visual indication of the system status:  If the LED toggles every three
+ * seconds, then no issues have been discovered.  If the LED toggles every
+ * 200ms, then an issue has been discovered with at least one task.
  */
 
 /* Standard includes. */
-#include <rskrx71mdef.h>
 #include <stdio.h>
 
 /* Kernel includes. */
@@ -139,6 +143,7 @@
 #include "IntSemTest.h"
 
 /* Renesas includes. */
+#include <rskrx71mdef.h>
 #include "r_cg_macrodriver.h"
 #include "r_cg_userdefine.h"
 
@@ -148,30 +153,26 @@
 #define mainCREATOR_TASK_PRIORITY			( tskIDLE_PRIORITY + 3UL )
 #define mainFLOP_TASK_PRIORITY				( tskIDLE_PRIORITY )
 #define mainUART_COMMAND_CONSOLE_STACK_SIZE	( configMINIMAL_STACK_SIZE * 3UL )
-#define mainCOM_TEST_TASK_PRIORITY			( tskIDLE_PRIORITY + 2 )
 #define mainCHECK_TASK_PRIORITY				( configMAX_PRIORITIES - 1 )
 #define mainQUEUE_OVERWRITE_PRIORITY		( tskIDLE_PRIORITY )
 
 /* The priority used by the UART command console task. */
 #define mainUART_COMMAND_CONSOLE_TASK_PRIORITY	( configMAX_PRIORITIES - 2 )
 
-/* A block time of zero simply means "don't block". */
-#define mainDONT_BLOCK						( 0UL )
-
 /* The period after which the check timer will expire, in ms, provided no errors
 have been reported by any of the standard demo tasks.  ms are converted to the
 equivalent in ticks using the portTICK_PERIOD_MS constant. */
-#define mainNO_ERROR_CHECK_TASK_PERIOD		( 3000UL / portTICK_PERIOD_MS )
+#define mainNO_ERROR_CHECK_TASK_PERIOD		pdMS_TO_TICKS( 3000UL )
 
 /* The period at which the check timer will expire, in ms, if an error has been
 reported in one of the standard demo tasks.  ms are converted to the equivalent
 in ticks using the portTICK_PERIOD_MS constant. */
-#define mainERROR_CHECK_TASK_PERIOD 		( 200UL / portTICK_PERIOD_MS )
+#define mainERROR_CHECK_TASK_PERIOD 		pdMS_TO_TICKS( 200UL )
 
 /* Parameters that are passed into the register check tasks solely for the
 purpose of ensuring parameters are passed into tasks correctly. */
-#define mainREG_TEST_1_PARAMETER	( ( void * ) 0x12121212UL )
-#define mainREG_TEST_2_PARAMETER	( ( void * ) 0x12345678UL )
+#define mainREG_TEST_1_PARAMETER			( ( void * ) 0x12121212UL )
+#define mainREG_TEST_2_PARAMETER			( ( void * ) 0x12345678UL )
 
 /* The base period used by the timer test tasks. */
 #define mainTIMER_TEST_PERIOD				( 50 )
@@ -212,6 +213,17 @@
  */
 static void prvPseudoRandomiser( void *pvParameters );
 
+/*
+ * Register commands that can be used with FreeRTOS+CLI.  The commands are
+ * defined in CLI-Commands.c and File-Related-CLI-Command.c respectively.
+ */
+extern void vRegisterSampleCLICommands( void );
+
+/*
+ * The task that manages the FreeRTOS+CLI input and output.
+ */
+extern void vUARTCommandConsoleStart( uint16_t usStackSize, UBaseType_t uxPriority );
+
 /*-----------------------------------------------------------*/
 
 /* The following two variables are used to communicate the status of the
@@ -220,9 +232,6 @@
 stops incrementing, then an error has been found. */
 volatile unsigned long ulRegTest1LoopCounter = 0UL, ulRegTest2LoopCounter = 0UL;
 
-/* String for display in the web server.  It is set to an error message if the
-check task detects an error.  */
-const char *pcStatusMessage = "All tasks running without error";
 /*-----------------------------------------------------------*/
 
 void main_full( void )
@@ -250,7 +259,14 @@
 	xTaskCreate( prvRegTest2Task, "RegTst2", configMINIMAL_STACK_SIZE, mainREG_TEST_2_PARAMETER, tskIDLE_PRIORITY, NULL );
 
 	/* Create the task that just adds a little random behaviour. */
-	xTaskCreate( prvPseudoRandomiser, "Rnd", configMINIMAL_STACK_SIZE, NULL, configMAX_PRIORITIES - 1, NULL );
+	xTaskCreate( prvPseudoRandomiser, "Rnd", configMINIMAL_STACK_SIZE, NULL, configMAX_PRIORITIES - 2, NULL );
+
+	/* Start the tasks that implements the command console on the UART, as
+	described above. */
+	vUARTCommandConsoleStart( mainUART_COMMAND_CONSOLE_STACK_SIZE, mainUART_COMMAND_CONSOLE_TASK_PRIORITY );
+
+	/* Register the standard CLI commands. */
+	vRegisterSampleCLICommands();
 
 	/* Create the task that performs the 'check' functionality,	as described at
 	the top of this file. */
@@ -404,7 +420,6 @@
 			gone wrong (it might just be that the loop back connector required
 			by the comtest tasks has not been fitted). */
 			xDelayPeriod = mainERROR_CHECK_TASK_PERIOD;
-			pcStatusMessage = "Error found in at least one task.";
 		}
 	}
 }
@@ -412,7 +427,7 @@
 
 static void prvPseudoRandomiser( void *pvParameters )
 {
-const uint32_t ulMultiplier = 0x015a4e35UL, ulIncrement = 1UL, ulMinDelay = ( 35 / portTICK_PERIOD_MS );
+const uint32_t ulMultiplier = 0x015a4e35UL, ulIncrement = 1UL, ulMinDelay = pdMS_TO_TICKS( 35 );
 volatile uint32_t ulNextRand = ( uint32_t ) &pvParameters, ulValue;
 
 	/* This task does nothing other than ensure there is a little bit of
diff --git a/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/src/Renesas_Source/interrupt_handlers.c b/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/src/Renesas_Source/interrupt_handlers.c
index 8505c60..a52504c 100644
--- a/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/src/Renesas_Source/interrupt_handlers.c
+++ b/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/src/Renesas_Source/interrupt_handlers.c
@@ -16,6 +16,7 @@
 /*    Date Generated: 18/12/2014                                        */
 /************************************************************************/
 #include "interrupt_handlers.h"
+#include "iodefine.h"
 
 // Exception(Supervisor Instruction)
 void INT_Excep_SuperVisorInst(void){/* brk(); */}
@@ -328,7 +329,20 @@
 //;0x01B4 Reserved 
 
 //;0x01B8 GROUPBL0
-void INT_Excep_ICU_GROUPBL0(void){ }
+void INT_Excep_ICU_GROUPBL0(void)
+{
+extern void r_sci7_transmitend_interrupt( void );
+extern void r_sci7_receiveerror_interrupt( void );
+
+    if (ICU.GRPBL0.BIT.IS14 == 1U)
+    {
+        r_sci7_transmitend_interrupt();
+    }
+    if (ICU.GRPBL0.BIT.IS15 == 1U)
+    {
+        r_sci7_receiveerror_interrupt();
+    }
+}
 
 //;0x01BC GROUPBL1
 void INT_Excep_ICU_GROUPBL1(void){ }
diff --git a/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/src/Renesas_Source/vector_table.c b/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/src/Renesas_Source/vector_table.c
index 2c6ff85..486f4f1 100644
--- a/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/src/Renesas_Source/vector_table.c
+++ b/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/src/Renesas_Source/vector_table.c
@@ -25,6 +25,8 @@
 extern void vSoftwareInterruptISR( void );
 extern void vIntQTimerISR0( void );
 extern void vIntQTimerISR1( void );
+void r_sci7_transmit_interrupt(void);
+void r_sci7_receive_interrupt(void);
 
 #define EXVECT_SECT    __attribute__ ((section (".exvectors")))
 
@@ -365,10 +367,10 @@
     (fp)INT_Excep_PDC_PCDFI,
 
 //;0x0188 RXI7
-    (fp)INT_Excep_SCI7_RXI7,
+    (fp)r_sci7_receive_interrupt,
 
 //;0x018C TXI7
-    (fp)INT_Excep_SCI7_TXI7,
+    (fp)r_sci7_transmit_interrupt,
 
 //;0x0190 RXIF8
     (fp)INT_Excep_SCIFA8_RXIF8,
diff --git a/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/src/cg_src/r_cg_intprg_iar.c b/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/src/cg_src/r_cg_intprg_iar.c
new file mode 100644
index 0000000..60f3a75
--- /dev/null
+++ b/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/src/cg_src/r_cg_intprg_iar.c
@@ -0,0 +1,127 @@
+/* Adapted for use with IAR Embedded Workbench */
+/***********************************************************************************************************************
+* DISCLAIMER
+* This software is supplied by Renesas Electronics Corporation and is only
+* intended for use with Renesas products. No other uses are authorized. This
+* software is owned by Renesas Electronics Corporation and is protected under
+* all applicable laws, including copyright laws.
+* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING
+* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT
+* LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE
+* AND NON-INFRINGEMENT.  ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.
+* TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS
+* ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE
+* FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR
+* ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE
+* BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+* Renesas reserves the right, without notice, to make changes to this software
+* and to discontinue the availability of this software.  By using this software,
+* you agree to the additional terms and conditions found by accessing the
+* following link:
+* http://www.renesas.com/disclaimer
+*
+* Copyright (C) 2013, 2014 Renesas Electronics Corporation. All rights reserved.
+***********************************************************************************************************************/
+
+/***********************************************************************************************************************
+* File Name    : r_cg_intprg.c
+* Version      : Code Generator for RX64M V1.00.01.01 [09 May 2014]
+* Device(s)    : R5F571MLCxFC
+* Tool-Chain   : IAR Embedded Workbench
+* Description  : Setting of B.
+* Creation Date: 30/06/2014
+***********************************************************************************************************************/
+
+/***********************************************************************************************************************
+Pragma directive
+***********************************************************************************************************************/
+/* Start user code for pragma. Do not edit comment generated here */
+/* End user code. Do not edit comment generated here */
+
+/***********************************************************************************************************************
+Includes
+***********************************************************************************************************************/
+#include "r_cg_macrodriver.h"
+#include <machine.h>
+#include "r_cg_userdefine.h"
+
+/***********************************************************************************************************************
+Global variables and functions
+***********************************************************************************************************************/
+
+
+// fixedint.c in $TOOLKIT$/rx/src/lib/src
+/* Undefined exceptions for supervisor instruction, undefined instruction and floating point exceptions */
+__interrupt void __undefined_handler (void)
+{
+    /* Start user code. Do not edit comment generated here */
+    /* End user code. Do not edit comment generated here */
+}
+
+/* NMI */
+__interrupt void __NMI_handler (void)
+{
+    /* Start user code. Do not edit comment generated here */
+    /* End user code. Do not edit comment generated here */
+}
+
+
+/* BRK */
+#pragma vector=0
+__interrupt void r_brk_exception(void)
+{
+    /* Start user code. Do not edit comment generated here */
+    /* End user code. Do not edit comment generated here */
+}
+
+/* ICU GROUPBE0 */
+#pragma vector=VECT(ICU,GROUPBE0)
+__interrupt void r_icu_group_be0_interrupt(void)
+{
+    /* Start user code. Do not edit comment generated here */
+    /* End user code. Do not edit comment generated here */
+}
+
+
+/* ICU GROUPBL0 */
+#pragma vector=VECT(ICU,GROUPBL0)
+__interrupt void r_icu_group_bl0_interrupt(void)
+{
+    if (ICU.GRPBL0.BIT.IS14 == 1U)
+    {
+        r_sci7_transmitend_interrupt();
+    }
+    if (ICU.GRPBL0.BIT.IS15 == 1U)
+    {
+        r_sci7_receiveerror_interrupt();
+    }
+    /* Start user code. Do not edit comment generated here */
+    /* End user code. Do not edit comment generated here */
+}
+
+/* ICU GROUPBL1 */
+#pragma vector=VECT(ICU,GROUPBL1)
+__interrupt void r_icu_group_bl1_interrupt(void)
+{
+    /* Start user code. Do not edit comment generated here */
+    /* End user code. Do not edit comment generated here */
+}
+
+/* ICU GROUPAL0 */
+#pragma vector=VECT(ICU,GROUPAL0)
+__interrupt void r_icu_group_al0_interrupt(void)
+{
+    /* Start user code. Do not edit comment generated here */
+    /* End user code. Do not edit comment generated here */
+}
+
+/* ICU GROUPAL1 */
+#pragma vector=VECT(ICU,GROUPAL1)
+__interrupt void r_icu_group_al1_interrupt(void)
+{
+    /* Start user code. Do not edit comment generated here */
+    /* End user code. Do not edit comment generated here */
+}
+
+/* Start user code for adding. Do not edit comment generated here */
+/* End user code. Do not edit comment generated here */
diff --git a/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/src/cg_src/r_cg_macrodriver.h b/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/src/cg_src/r_cg_macrodriver.h
index a099d50..c3def9c 100644
--- a/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/src/cg_src/r_cg_macrodriver.h
+++ b/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/src/cg_src/r_cg_macrodriver.h
@@ -33,6 +33,7 @@
 #ifdef __ICCRX__
 	#include <iorx71m.h>
 	#include <machine.h>
+	#include <stdint.h>
 #endif
 
 #ifdef __GNUC__
diff --git a/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/src/cg_src/r_cg_sci_user.c b/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/src/cg_src/r_cg_sci_user.c
deleted file mode 100644
index 6f4c8bc..0000000
--- a/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/src/cg_src/r_cg_sci_user.c
+++ /dev/null
@@ -1,232 +0,0 @@
-/***********************************************************************************************************************
-* DISCLAIMER
-* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products.
-* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all
-* applicable laws, including copyright laws. 
-* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIESREGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED
-* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-* NON-INFRINGEMENT.  ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY
-* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT,
-* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR
-* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
-* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability 
-* of this software. By using this software, you agree to the additional terms and conditions found by accessing the 
-* following link:
-* http://www.renesas.com/disclaimer
-*
-* Copyright (C) 2015 Renesas Electronics Corporation. All rights reserved.
-***********************************************************************************************************************/
-
-/***********************************************************************************************************************
-* File Name    : r_cg_sci_user.c
-* Version      : Code Generator for RX71M V1.00.02.02 [28 May 2015]
-* Device(s)    : R5F571MLCxFC
-* Tool-Chain   : CCRX
-* Description  : This file implements device driver for SCI module.
-* Creation Date: 20/09/2015
-***********************************************************************************************************************/
-
-/***********************************************************************************************************************
-Pragma directive
-***********************************************************************************************************************/
-/* Start user code for pragma. Do not edit comment generated here */
-/* End user code. Do not edit comment generated here */
-
-/***********************************************************************************************************************
-Includes
-***********************************************************************************************************************/
-#include "r_cg_macrodriver.h"
-#include "r_cg_sci.h"
-/* Start user code for include. Do not edit comment generated here */
-/* End user code. Do not edit comment generated here */
-#include "r_cg_userdefine.h"
-
-/***********************************************************************************************************************
-Global variables and functions
-***********************************************************************************************************************/
-extern uint8_t * gp_sci7_tx_address;                /* SCI7 send buffer address */
-extern uint16_t  g_sci7_tx_count;                   /* SCI7 send data number */
-extern uint8_t * gp_sci7_rx_address;                /* SCI7 receive buffer address */
-extern uint16_t  g_sci7_rx_count;                   /* SCI7 receive data number */
-extern uint16_t  g_sci7_rx_length;                  /* SCI7 receive data length */
-/* Start user code for global. Do not edit comment generated here */
-/* Flag used locally to detect transmission complete */
-
-/* Global used to receive a character from the PC terminal */
-uint8_t g_rx_char;
-
-/* Flag used to control transmission to PC terminal */
-volatile uint8_t g_tx_flag = FALSE;
-
-/* Flag used locally to detect transmission complete */
-static volatile uint8_t sci6_txdone;
-static volatile uint8_t sci7_txdone;
-
-/* End user code. Do not edit comment generated here */
-
-/***********************************************************************************************************************
-* Function Name: r_sci7_transmit_interrupt
-* Description  : None
-* Arguments    : None
-* Return Value : None
-***********************************************************************************************************************/
-#if FAST_INTERRUPT_VECTOR == VECT_SCI7_TXI7
-#pragma interrupt r_sci7_transmit_interrupt(vect=VECT(SCI7,TXI7),fint)
-#else
-#pragma interrupt r_sci7_transmit_interrupt(vect=VECT(SCI7,TXI7))
-#endif
-static void r_sci7_transmit_interrupt(void)
-{
-    if (0U < g_sci7_tx_count)
-    {
-        SCI7.TDR = *gp_sci7_tx_address;
-        gp_sci7_tx_address++;
-        g_sci7_tx_count--;
-    }
-    else
-    {
-        SCI7.SCR.BIT.TIE = 0U;
-        SCI7.SCR.BIT.TEIE = 1U;
-    }
-}
-
-/***********************************************************************************************************************
-* Function Name: r_sci7_transmitend_interrupt
-* Description  : This function is TEI7 interrupt service routine.
-* Arguments    : None
-* Return Value : None
-***********************************************************************************************************************/
-void r_sci7_transmitend_interrupt(void)
-{
-    /* Set TXD7 pin */
-    PORT9.PMR.BYTE &= 0xFEU;
-    SCI7.SCR.BIT.TIE = 0U;
-    SCI7.SCR.BIT.TE = 0U;
-    SCI7.SCR.BIT.TEIE = 0U;
-
-    r_sci7_callback_transmitend();
-}
-/***********************************************************************************************************************
-* Function Name: r_sci7_receive_interrupt
-* Description  : None
-* Arguments    : None
-* Return Value : None
-***********************************************************************************************************************/
-#if FAST_INTERRUPT_VECTOR == VECT_SCI7_RXI7
-#pragma interrupt r_sci7_receive_interrupt(vect=VECT(SCI7,RXI7),fint)
-#else
-#pragma interrupt r_sci7_receive_interrupt(vect=VECT(SCI7,RXI7))
-#endif
-static void r_sci7_receive_interrupt(void)
-{
-    if (g_sci7_rx_length > g_sci7_rx_count)
-    {
-        *gp_sci7_rx_address = SCI7.RDR;
-        gp_sci7_rx_address++;
-        g_sci7_rx_count++;
-
-        if (g_sci7_rx_length <= g_sci7_rx_count)
-        {
-            r_sci7_callback_receiveend();
-        }
-    }
-}
-/***********************************************************************************************************************
-* Function Name: r_sci7_receiveerror_interrupt
-* Description  : This function is ERI7 interrupt service routine.
-* Arguments    : None
-* Return Value : None
-***********************************************************************************************************************/
-void r_sci7_receiveerror_interrupt(void)
-{
-    uint8_t err_type;
-
-    r_sci7_callback_receiveerror();
-
-    /* Clear overrun, framing and parity error flags */
-    err_type = SCI7.SSR.BYTE;
-    err_type &= 0xC7U;
-    err_type |= 0xC0U;
-    SCI7.SSR.BYTE = err_type;
-}
-/***********************************************************************************************************************
-* Function Name: r_sci7_callback_transmitend
-* Description  : This function is a callback function when SCI7 finishes transmission.
-* Arguments    : None
-* Return Value : None
-***********************************************************************************************************************/
-static void r_sci7_callback_transmitend(void)
-{
-    /* Start user code. Do not edit comment generated here */
-    sci7_txdone = TRUE;
-
-    /* End user code. Do not edit comment generated here */
-}
-/***********************************************************************************************************************
-* Function Name: r_sci7_callback_receiveend
-* Description  : This function is a callback function when SCI7 finishes reception.
-* Arguments    : None
-* Return Value : None
-***********************************************************************************************************************/
-static void r_sci7_callback_receiveend(void)
-{
-    /* Start user code. Do not edit comment generated here */
-    /* Check the contents of g_rx_char */
-    if (('c' == g_rx_char) || ('C' == g_rx_char))
-    {
-//_RB_        g_adc_trigger = TRUE;
-    }
-
-    /* Set up SCI7 receive buffer and callback function again */
-    R_SCI7_Serial_Receive((uint8_t *)&g_rx_char, 1);
-
-    /* End user code. Do not edit comment generated here */
-}
-/***********************************************************************************************************************
-* Function Name: r_sci7_callback_receiveerror
-* Description  : This function is a callback function when SCI7 reception encounters error.
-* Arguments    : None
-* Return Value : None
-***********************************************************************************************************************/
-static void r_sci7_callback_receiveerror(void)
-{
-    /* Start user code. Do not edit comment generated here */
-    /* End user code. Do not edit comment generated here */
-}
-
-/* Start user code for adding. Do not edit comment generated here */
-
-/*******************************************************************************
-* Function Name: R_SCI7_AsyncTransmit
-* Description  : This function sends SCI7 data and waits for the transmit end flag.
-* Arguments    : tx_buf -
-*                    transfer buffer pointer
-*                tx_num -
-*                    buffer size
-* Return Value : status -
-*                    MD_OK or MD_ARGERROR
-*******************************************************************************/
-MD_STATUS R_SCI7_AsyncTransmit (uint8_t * const tx_buf, const uint16_t tx_num)
-{
-    MD_STATUS status = MD_OK;
-    
-    /* clear the flag before initiating a new transmission */
-    sci7_txdone = FALSE;
-
-    /* Send the data using the API */
-    status = R_SCI7_Serial_Send(tx_buf, tx_num);
-
-    /* Wait for the transmit end flag */
-    while (FALSE == sci7_txdone)
-    {
-        /* Wait */
-    }
-    return (status);
-}
-
-/*******************************************************************************
-* End of function R_SCI7_AsyncTransmit
-*******************************************************************************/
-
-
-/* End user code. Do not edit comment generated here */
diff --git a/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/src/cg_src/r_cg_sci_user_gcc.c b/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/src/cg_src/r_cg_sci_user_gcc.c
new file mode 100644
index 0000000..d51f9c3
--- /dev/null
+++ b/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/src/cg_src/r_cg_sci_user_gcc.c
@@ -0,0 +1,368 @@
+/*Adapted for IAR Embedded Workbench*/
+/***********************************************************************************************************************
+* DISCLAIMER
+* This software is supplied by Renesas Electronics Corporation and is only
+* intended for use with Renesas products. No other uses are authorized. This
+* software is owned by Renesas Electronics Corporation and is protected under
+* all applicable laws, including copyright laws.
+* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING
+* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT
+* LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE
+* AND NON-INFRINGEMENT.  ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.
+* TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS
+* ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE
+* FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR
+* ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE
+* BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+* Renesas reserves the right, without notice, to make changes to this software
+* and to discontinue the availability of this software.  By using this software,
+* you agree to the additional terms and conditions found by accessing the
+* following link:
+* http://www.renesas.com/disclaimer
+*
+* Copyright (C) 2013, 2014 Renesas Electronics Corporation. All rights reserved.
+***********************************************************************************************************************/
+
+/***********************************************************************************************************************
+* File Name    : r_cg_sci_user.c
+* Version      : Code Generator for RX64M V1.00.01.01 [09 May 2014]
+* Device(s)    : R5F571MLCxFC
+* Tool-Chain   : IAR Embedded Workbench
+* Description  : This file implements device driver for SCI module.
+* Creation Date: 30/06/2014
+***********************************************************************************************************************/
+
+/***********************************************************************************************************************
+Pragma directive
+***********************************************************************************************************************/
+/* Start user code for pragma. Do not edit comment generated here */
+
+
+/*
+ * This file originated from an example project for the RSK - it has been
+ * adapted to allow it to be used in the FreeRTOS demo.  Functions required by
+ * UARTCommandConsole.c have been added.
+ */
+
+
+
+/* End user code. Do not edit comment generated here */
+
+/***********************************************************************************************************************
+Includes
+***********************************************************************************************************************/
+#include "r_cg_macrodriver.h"
+#include "r_cg_sci.h"
+/* Start user code for include. Do not edit comment generated here */
+#include "rskrx71mdef.h"
+#include "FreeRTOS.h"
+#include "task.h"
+#include "queue.h"
+#include "serial.h"
+/* End user code. Do not edit comment generated here */
+#include "r_cg_userdefine.h"
+
+/***********************************************************************************************************************
+Global variables and functions
+***********************************************************************************************************************/
+extern uint8_t * gp_sci7_tx_address;                /* SCI7 send buffer address */
+extern uint16_t  g_sci7_tx_count;                   /* SCI7 send data number */
+extern uint8_t * gp_sci7_rx_address;                /* SCI7 receive buffer address */
+extern uint16_t  g_sci7_rx_count;                   /* SCI7 receive data number */
+extern uint16_t  g_sci7_rx_length;                  /* SCI7 receive data length */
+/* Start user code for global. Do not edit comment generated here */
+
+/* Global used to receive a character from the PC terminal */
+uint8_t g_rx_char;
+
+/* Flag used to control transmission to PC terminal */
+volatile uint8_t g_tx_flag = FALSE;
+
+/* Characters received from the UART are stored in this queue, ready to be
+received by the application.  ***NOTE*** Using a queue in this way is very
+convenient, but also very inefficient.  It can be used here because characters
+will only arrive slowly.  In a higher bandwidth system a circular RAM buffer or
+DMA should be used in place of this queue. */
+static QueueHandle_t xRxQueue = NULL;
+
+/* When a task calls vSerialPutString() its handle is stored in xSendingTask,
+before being placed into the Blocked state (so does not use any CPU time) to
+wait for the transmission to end.  The task handle is then used from the UART
+transmit end interrupt to remove the task from the Blocked state. */
+static TaskHandle_t xSendingTask = NULL;
+
+/* Flag used locally to detect transmission complete.  This is used by the
+auto generated API only. */
+static volatile uint8_t sci7_txdone;
+
+/* End user code. Do not edit comment generated here */
+
+/***********************************************************************************************************************
+* Function Name: r_sci7_transmit_interrupt
+* Description  : None
+* Arguments    : None
+* Return Value : None
+***********************************************************************************************************************/
+void r_sci7_transmit_interrupt(void) __attribute__((interrupt));
+void r_sci7_transmit_interrupt(void)
+{
+    if (g_sci7_tx_count > 0U)
+    {
+        SCI7.TDR = *gp_sci7_tx_address;
+        gp_sci7_tx_address++;
+        g_sci7_tx_count--;
+    }
+    else
+    {
+        SCI7.SCR.BIT.TIE = 0U;
+        SCI7.SCR.BIT.TEIE = 1U;
+    }
+}
+
+/***********************************************************************************************************************
+* Function Name: r_sci7_transmitend_interrupt
+* Description  : This function is TEI7 interrupt service routine.
+* Arguments    : None
+* Return Value : None
+***********************************************************************************************************************/
+void r_sci7_transmitend_interrupt(void)
+{
+    MPC.P90PFS.BYTE = 0x00U;
+    PORT9.PMR.BYTE &= 0xFEU;
+    SCI7.SCR.BIT.TIE = 0U;
+    SCI7.SCR.BIT.TE = 0U;
+    SCI7.SCR.BIT.TEIE = 0U;
+
+    r_sci7_callback_transmitend();
+}
+/***********************************************************************************************************************
+* Function Name: r_sci7_receive_interrupt
+* Description  : None
+* Arguments    : None
+* Return Value : None
+***********************************************************************************************************************/
+void r_sci7_receive_interrupt(void) __attribute__((interrupt));
+void r_sci7_receive_interrupt(void)
+{
+    if (g_sci7_rx_length > g_sci7_rx_count)
+    {
+        *gp_sci7_rx_address = SCI7.RDR;
+        gp_sci7_rx_address++;
+        g_sci7_rx_count++;
+
+        if (g_sci7_rx_length <= g_sci7_rx_count)
+        {
+            r_sci7_callback_receiveend();
+        }
+    }
+}
+/***********************************************************************************************************************
+* Function Name: r_sci7_receiveerror_interrupt
+* Description  : This function is ERI7 interrupt service routine.
+* Arguments    : None
+* Return Value : None
+***********************************************************************************************************************/
+void r_sci7_receiveerror_interrupt(void)
+{
+    uint8_t err_type;
+
+    r_sci7_callback_receiveerror();
+
+    /* Clear overrun, framing and parity error flags */
+    err_type = SCI7.SSR.BYTE;
+    err_type &= 0xC7U;
+    err_type |= 0xC0U;
+    SCI7.SSR.BYTE = err_type;
+}
+/***********************************************************************************************************************
+* Function Name: r_sci7_callback_transmitend
+* Description  : This function is a callback function when SCI7 finishes transmission.
+* Arguments    : None
+* Return Value : None
+***********************************************************************************************************************/
+static void r_sci7_callback_transmitend(void)
+{
+    /* Start user code. Do not edit comment generated here */
+    BaseType_t xHigherPriorityTaskWoken = pdFALSE;
+
+    /* The sci7_txdone flag is used by the auto generated API only. */
+    sci7_txdone = TRUE;
+
+    if( xSendingTask != NULL )
+    {
+        /* A task is waiting for the end of the Tx, unblock it now.
+        http://www.freertos.org/vTaskNotifyGiveFromISR.html */
+        vTaskNotifyGiveFromISR( xSendingTask, &xHigherPriorityTaskWoken );
+        xSendingTask = NULL;
+
+        portYIELD_FROM_ISR( xHigherPriorityTaskWoken );
+    }
+    /* End user code. Do not edit comment generated here */
+}
+/***********************************************************************************************************************
+* Function Name: r_sci7_callback_receiveend
+* Description  : This function is a callback function when SCI7 finishes reception.
+* Arguments    : None
+* Return Value : None
+***********************************************************************************************************************/
+static void r_sci7_callback_receiveend(void)
+{
+    /* Start user code. Do not edit comment generated here */
+    BaseType_t xHigherPriorityTaskWoken = pdFALSE;
+
+    configASSERT( xRxQueue );
+
+    /* Transmitting generates an interrupt for each character, which consumes
+    CPU time, and can cause standard demo RTOS tasks that monitor their own
+    performance to fail asserts - so don't receive new CLI commands if a
+    transmit is not already in progress. */
+    if( sci7_txdone == TRUE )
+    {
+        /* Characters received from the UART are stored in this queue, ready to be
+        received by the application.  ***NOTE*** Using a queue in this way is very
+        convenient, but also very inefficient.  It can be used here because
+        characters will only arrive slowly.  In a higher bandwidth system a circular
+        RAM buffer or DMA should be used in place of this queue. */
+        xQueueSendFromISR( xRxQueue, &g_rx_char, &xHigherPriorityTaskWoken );
+    }
+
+    /* Set up SCI7 receive buffer again */
+    R_SCI7_Serial_Receive((uint8_t *)&g_rx_char, 1);
+
+    /* See http://www.freertos.org/xQueueOverwriteFromISR.html for information
+    on the semantics of this ISR. */
+    portYIELD_FROM_ISR( xHigherPriorityTaskWoken );
+    /* End user code. Do not edit comment generated here */
+}
+/***********************************************************************************************************************
+* Function Name: r_sci7_callback_receiveerror
+* Description  : This function is a callback function when SCI7 reception encounters error.
+* Arguments    : None
+* Return Value : None
+***********************************************************************************************************************/
+static void r_sci7_callback_receiveerror(void)
+{
+    /* Start user code. Do not edit comment generated here */
+    /* End user code. Do not edit comment generated here */
+}
+
+/***********************************************************************************************************************
+* Function Name: R_SCI7_AsyncTransmit
+* Description  : This function sends SCI7 data and waits for the transmit end flag.
+* Arguments    : tx_buf -
+*                    transfer buffer pointer
+*                tx_num -
+*                    buffer size
+* Return Value : status -
+*                    MD_OK or MD_ARGERROR
+***********************************************************************************************************************/
+MD_STATUS R_SCI7_AsyncTransmit (uint8_t * const tx_buf, const uint16_t tx_num)
+{
+    MD_STATUS status = MD_OK;
+taskDISABLE_INTERRUPTS();
+while( 1 );
+    /* clear the flag before initiating a new transmission */
+    sci7_txdone = FALSE;
+
+    /* Send the data using the API */
+    status = R_SCI7_Serial_Send(tx_buf, tx_num);
+
+    /* Wait for the transmit end flag */
+    while (FALSE == sci7_txdone)
+    {
+        /* Wait */
+    }
+    return (status);
+}
+/***********************************************************************************************************************
+* End of function R_SCI7_AsyncTransmit
+***********************************************************************************************************************/
+
+/* Function required in order to link UARTCommandConsole.c - which is used by
+multiple different demo application. */
+xComPortHandle xSerialPortInitMinimal( unsigned long ulWantedBaud, unsigned portBASE_TYPE uxQueueLength )
+{
+    ( void ) ulWantedBaud;
+    ( void ) uxQueueLength;
+
+    /* Characters received from the UART are stored in this queue, ready to be
+    received by the application.  ***NOTE*** Using a queue in this way is very
+    convenient, but also very inefficient.  It can be used here because
+    characters will only arrive slowly.  In a higher bandwidth system a circular
+    RAM buffer or DMA should be used in place of this queue. */
+    xRxQueue = xQueueCreate( uxQueueLength, sizeof( char ) );
+    configASSERT( xRxQueue );
+
+    /* Set up SCI1 receive buffer */
+    R_SCI7_Serial_Receive((uint8_t *) &g_rx_char, 1);
+
+    /* Ensure the interrupt priority is at or below
+    configMAX_SYSCALL_INTERRUPT_PRIORITY. */
+    IPR(SCI7, RXI7) = configMAX_SYSCALL_INTERRUPT_PRIORITY - 1;
+    IPR(SCI7, TXI7) = configMAX_SYSCALL_INTERRUPT_PRIORITY - 1;
+    IPR(ICU,GROUPBL0) = configMAX_SYSCALL_INTERRUPT_PRIORITY - 1;
+
+    /* Enable SCI1 operations */
+    R_SCI7_Start();
+
+    /* Only one UART is supported, so it doesn't matter what is returned
+    here. */
+    return 0;
+}
+
+/* Function required in order to link UARTCommandConsole.c - which is used by
+multiple different demo application. */
+void vSerialPutString( xComPortHandle pxPort, const signed char * const pcString, unsigned short usStringLength )
+{
+const TickType_t xMaxBlockTime = pdMS_TO_TICKS( 5000 );
+
+    /* Only one port is supported. */
+    ( void ) pxPort;
+
+    /* Clear the flag before initiating a new transmission */
+    sci7_txdone = FALSE;
+
+    /* Don't send the string unless the previous string has been sent. */
+    if( ( xSendingTask == NULL ) && ( usStringLength > 0 ) )
+    {
+        /* Ensure the calling task's notification state is not already
+        pending. */
+        vTaskNotifyStateClear( NULL );
+
+        /* Store the handle of the transmitting task.  This is used to unblock
+        the task when the transmission has completed. */
+        xSendingTask = xTaskGetCurrentTaskHandle();
+
+        /* Send the string using the auto-generated API. */
+        R_SCI7_Serial_Send( ( uint8_t * ) pcString, usStringLength );
+
+        /* Wait in the Blocked state (so not using any CPU time) until the
+        transmission has completed. */
+        ulTaskNotifyTake( pdTRUE, xMaxBlockTime );
+    }
+}
+
+/* Function required in order to link UARTCommandConsole.c - which is used by
+multiple different demo application. */
+signed portBASE_TYPE xSerialGetChar( xComPortHandle pxPort, signed char *pcRxedChar, TickType_t xBlockTime )
+{
+    /* Only one UART is supported. */
+    ( void ) pxPort;
+
+    /* Return a received character, if any are available.  Otherwise block to
+    wait for a character. */
+    return xQueueReceive( xRxQueue, pcRxedChar, xBlockTime );
+}
+
+/* Function required in order to link UARTCommandConsole.c - which is used by
+multiple different demo application. */
+signed portBASE_TYPE xSerialPutChar( xComPortHandle pxPort, signed char cOutChar, TickType_t xBlockTime )
+{
+    /* Just mapped to vSerialPutString() so the block time is not used. */
+    ( void ) xBlockTime;
+
+    vSerialPutString( pxPort, &cOutChar, sizeof( cOutChar ) );
+    return pdPASS;
+}
+
+/* End user code. Do not edit comment generated here */
diff --git a/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/src/cg_src/r_cg_sci_user_iar.c b/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/src/cg_src/r_cg_sci_user_iar.c
index 56dbc22..f00961d 100644
--- a/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/src/cg_src/r_cg_sci_user_iar.c
+++ b/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/src/cg_src/r_cg_sci_user_iar.c
@@ -36,6 +36,16 @@
 Pragma directive
 ***********************************************************************************************************************/
 /* Start user code for pragma. Do not edit comment generated here */
+
+
+/*
+ * This file originated from an example project for the RSK - it has been
+ * adapted to allow it to be used in the FreeRTOS demo.  Functions required by
+ * UARTCommandConsole.c have been added.
+ */
+
+
+
 /* End user code. Do not edit comment generated here */
 
 /***********************************************************************************************************************
@@ -45,7 +55,10 @@
 #include "r_cg_sci.h"
 /* Start user code for include. Do not edit comment generated here */
 #include "rskrx71mdef.h"
-//_RB_#include "r_cg_cmt.h"
+#include "FreeRTOS.h"
+#include "task.h"
+#include "queue.h"
+#include "serial.h"
 /* End user code. Do not edit comment generated here */
 #include "r_cg_userdefine.h"
 
@@ -65,7 +78,21 @@
 /* Flag used to control transmission to PC terminal */
 volatile uint8_t g_tx_flag = FALSE;
 
-/* Flag used locally to detect transmission complete */
+/* Characters received from the UART are stored in this queue, ready to be
+received by the application.  ***NOTE*** Using a queue in this way is very
+convenient, but also very inefficient.  It can be used here because characters
+will only arrive slowly.  In a higher bandwidth system a circular RAM buffer or
+DMA should be used in place of this queue. */
+static QueueHandle_t xRxQueue = NULL;
+
+/* When a task calls vSerialPutString() its handle is stored in xSendingTask,
+before being placed into the Blocked state (so does not use any CPU time) to
+wait for the transmission to end.  The task handle is then used from the UART
+transmit end interrupt to remove the task from the Blocked state. */
+static TaskHandle_t xSendingTask = NULL;
+
+/* Flag used locally to detect transmission complete.  This is used by the
+auto generated API only. */
 static volatile uint8_t sci7_txdone;
 
 /* End user code. Do not edit comment generated here */
@@ -156,7 +183,20 @@
 static void r_sci7_callback_transmitend(void)
 {
     /* Start user code. Do not edit comment generated here */
+    BaseType_t xHigherPriorityTaskWoken = pdFALSE;
+
+    /* The sci7_txdone flag is used by the auto generated API only. */
     sci7_txdone = TRUE;
+
+    if( xSendingTask != NULL )
+    {
+        /* A task is waiting for the end of the Tx, unblock it now.
+        http://www.freertos.org/vTaskNotifyGiveFromISR.html */
+        vTaskNotifyGiveFromISR( xSendingTask, &xHigherPriorityTaskWoken );
+        xSendingTask = NULL;
+
+        portYIELD_FROM_ISR( xHigherPriorityTaskWoken );
+    }
     /* End user code. Do not edit comment generated here */
 }
 /***********************************************************************************************************************
@@ -168,31 +208,31 @@
 static void r_sci7_callback_receiveend(void)
 {
     /* Start user code. Do not edit comment generated here */
-    /* Check the contents of g_rx_char */
-    if ('z' == g_rx_char)
-    {
-        /* Stop the timer used to control transmission to PC terminal*/
-//        R_CMT1_Stop();
+    BaseType_t xHigherPriorityTaskWoken = pdFALSE;
 
-        /* Turn off LED0 and turn on LED1 to indicate serial transmission
-           inactive */
-        LED0 = LED_OFF;
-        LED1 = LED_ON;
-    }
-    else
-    {
-        /* Start the timer used to control transmission to PC terminal*/
-//_RB_        R_CMT1_Start();
+    configASSERT( xRxQueue );
 
-        /* Turn on LED0 and turn off LED1 to indicate serial transmission
-           active */
-        LED0 = LED_ON;
-        LED1 = LED_OFF;
+    /* Transmitting generates an interrupt for each character, which consumes
+    CPU time, and can cause standard demo RTOS tasks that monitor their own
+    performance to fail asserts - so don't receive new CLI commands if a
+    transmit is not already in progress. */
+    if( sci7_txdone == TRUE )
+    {
+        /* Characters received from the UART are stored in this queue, ready to be
+        received by the application.  ***NOTE*** Using a queue in this way is very
+        convenient, but also very inefficient.  It can be used here because
+        characters will only arrive slowly.  In a higher bandwidth system a circular
+        RAM buffer or DMA should be used in place of this queue. */
+        xQueueSendFromISR( xRxQueue, &g_rx_char, &xHigherPriorityTaskWoken );
     }
 
     /* Set up SCI7 receive buffer again */
     R_SCI7_Serial_Receive((uint8_t *)&g_rx_char, 1);
-   /* End user code. Do not edit comment generated here */
+
+    /* See http://www.freertos.org/xQueueOverwriteFromISR.html for information
+    on the semantics of this ISR. */
+    portYIELD_FROM_ISR( xHigherPriorityTaskWoken );
+    /* End user code. Do not edit comment generated here */
 }
 /***********************************************************************************************************************
 * Function Name: r_sci7_callback_receiveerror
@@ -237,5 +277,91 @@
 * End of function R_SCI7_AsyncTransmit
 ***********************************************************************************************************************/
 
+/* Function required in order to link UARTCommandConsole.c - which is used by
+multiple different demo application. */
+xComPortHandle xSerialPortInitMinimal( unsigned long ulWantedBaud, unsigned portBASE_TYPE uxQueueLength )
+{
+    ( void ) ulWantedBaud;
+    ( void ) uxQueueLength;
+
+    /* Characters received from the UART are stored in this queue, ready to be
+    received by the application.  ***NOTE*** Using a queue in this way is very
+    convenient, but also very inefficient.  It can be used here because
+    characters will only arrive slowly.  In a higher bandwidth system a circular
+    RAM buffer or DMA should be used in place of this queue. */
+    xRxQueue = xQueueCreate( uxQueueLength, sizeof( char ) );
+    configASSERT( xRxQueue );
+
+    /* Set up SCI1 receive buffer */
+    R_SCI7_Serial_Receive((uint8_t *) &g_rx_char, 1);
+
+    /* Ensure the interrupt priority is at or below
+    configMAX_SYSCALL_INTERRUPT_PRIORITY. */
+    IPR(SCI7, RXI7) = configMAX_SYSCALL_INTERRUPT_PRIORITY - 1;
+    IPR(SCI7, TXI7) = configMAX_SYSCALL_INTERRUPT_PRIORITY - 1;
+    IPR(ICU,GROUPBL0) = configMAX_SYSCALL_INTERRUPT_PRIORITY - 1;
+
+    /* Enable SCI1 operations */
+    R_SCI7_Start();
+
+    /* Only one UART is supported, so it doesn't matter what is returned
+    here. */
+    return 0;
+}
+
+/* Function required in order to link UARTCommandConsole.c - which is used by
+multiple different demo application. */
+void vSerialPutString( xComPortHandle pxPort, const signed char * const pcString, unsigned short usStringLength )
+{
+const TickType_t xMaxBlockTime = pdMS_TO_TICKS( 5000 );
+
+    /* Only one port is supported. */
+    ( void ) pxPort;
+
+    /* Clear the flag before initiating a new transmission */
+    sci7_txdone = FALSE;
+
+    /* Don't send the string unless the previous string has been sent. */
+    if( ( xSendingTask == NULL ) && ( usStringLength > 0 ) )
+    {
+        /* Ensure the calling task's notification state is not already
+        pending. */
+        vTaskNotifyStateClear( NULL );
+
+        /* Store the handle of the transmitting task.  This is used to unblock
+        the task when the transmission has completed. */
+        xSendingTask = xTaskGetCurrentTaskHandle();
+
+        /* Send the string using the auto-generated API. */
+        R_SCI7_Serial_Send( ( uint8_t * ) pcString, usStringLength );
+
+        /* Wait in the Blocked state (so not using any CPU time) until the
+        transmission has completed. */
+        ulTaskNotifyTake( pdTRUE, xMaxBlockTime );
+    }
+}
+
+/* Function required in order to link UARTCommandConsole.c - which is used by
+multiple different demo application. */
+signed portBASE_TYPE xSerialGetChar( xComPortHandle pxPort, signed char *pcRxedChar, TickType_t xBlockTime )
+{
+    /* Only one UART is supported. */
+    ( void ) pxPort;
+
+    /* Return a received character, if any are available.  Otherwise block to
+    wait for a character. */
+    return xQueueReceive( xRxQueue, pcRxedChar, xBlockTime );
+}
+
+/* Function required in order to link UARTCommandConsole.c - which is used by
+multiple different demo application. */
+signed portBASE_TYPE xSerialPutChar( xComPortHandle pxPort, signed char cOutChar, TickType_t xBlockTime )
+{
+    /* Just mapped to vSerialPutString() so the block time is not used. */
+    ( void ) xBlockTime;
+
+    vSerialPutString( pxPort, &cOutChar, sizeof( cOutChar ) );
+    return pdPASS;
+}
 
 /* End user code. Do not edit comment generated here */
diff --git a/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/src/main.c b/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/src/main.c
index 75cfe54..3aa8f76 100644
--- a/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/src/main.c
+++ b/FreeRTOS/Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/src/main.c
@@ -144,6 +144,7 @@
 	}
 	#endif
 
+	/* Should never get reached. */
 	return 0;
 }
 /*-----------------------------------------------------------*/
@@ -205,6 +206,7 @@
 
 void vApplicationTickHook( void )
 {
+	/* The tick hook is not used by the blinky demo, but is by the full demo. */
 	#if mainCREATE_SIMPLE_BLINKY_DEMO_ONLY == 0
 	{
 		extern void vFullDemoTickHook( void );
@@ -216,7 +218,9 @@
 /*-----------------------------------------------------------*/
 
 /* The RX port uses this callback function to configure its tick interrupt.
-This allows the application to choose the tick interrupt source. */
+This allows the application to choose the tick interrupt source.
+***NOTE***: configTICK_VECTOR must be set in FreeRTOSConfig.h to be correct for
+whichever vector is used. */
 void vApplicationSetupTimerInterrupt( void )
 {
 const uint32_t ulEnableRegisterWrite = 0xA50BUL, ulDisableRegisterWrite = 0xA500UL;
diff --git a/FreeRTOS/Demo/RX700_RX71M_RSK_Renesas_e2studio/.cproject b/FreeRTOS/Demo/RX700_RX71M_RSK_Renesas_e2studio/.cproject
index 36e3679..da7884b 100644
--- a/FreeRTOS/Demo/RX700_RX71M_RSK_Renesas_e2studio/.cproject
+++ b/FreeRTOS/Demo/RX700_RX71M_RSK_Renesas_e2studio/.cproject
@@ -41,6 +41,7 @@
 								<option id="com.renesas.cdt.renesas.Compiler.option.deviceShortName.2099068857" name="DeviceShortName" superClass="com.renesas.cdt.renesas.Compiler.option.deviceShortName" value="R5F571MLCxFC" valueType="string"/>
 								<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.renesas.Compiler.option.incFileDirectories.1186627023" name="Include file directories" superClass="com.renesas.cdt.renesas.Compiler.option.incFileDirectories" valueType="includePath">
 									<listOptionValue builtIn="false" value="&quot;${TCINSTALL}/include&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/Full_Demo/FreeRTOS-Plus-CLI}&quot;"/>
 									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/Full_Demo/Standard_Demo_Tasks/Include}&quot;"/>
 									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/FreeRTOS_Source/include}&quot;"/>
 									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/FreeRTOS_Source/portable/Renesas/RX600v2}&quot;"/>
diff --git a/FreeRTOS/Demo/RX700_RX71M_RSK_Renesas_e2studio/.project b/FreeRTOS/Demo/RX700_RX71M_RSK_Renesas_e2studio/.project
index 6861ae5..eaaa266 100644
--- a/FreeRTOS/Demo/RX700_RX71M_RSK_Renesas_e2studio/.project
+++ b/FreeRTOS/Demo/RX700_RX71M_RSK_Renesas_e2studio/.project
@@ -31,11 +31,26 @@
 			<locationURI>FREERTOS_ROOT/FreeRTOS/Source</locationURI>
 		</link>
 		<link>
+			<name>src/Full_Demo/FreeRTOS-Plus-CLI</name>
+			<type>2</type>
+			<locationURI>FREERTOS_ROOT/FreeRTOS-Plus/Source/FreeRTOS-Plus-CLI</locationURI>
+		</link>
+		<link>
+			<name>src/Full_Demo/Sample-CLI-commands.c</name>
+			<type>1</type>
+			<locationURI>FREERTOS_ROOT/FreeRTOS-Plus/Demo/Common/FreeRTOS_Plus_CLI_Demos/Sample-CLI-commands.c</locationURI>
+		</link>
+		<link>
 			<name>src/Full_Demo/Standard_Demo_Tasks</name>
 			<type>2</type>
 			<locationURI>FREERTOS_ROOT/FreeRTOS/Demo/Common/Minimal</locationURI>
 		</link>
 		<link>
+			<name>src/Full_Demo/UARTCommandConsole.c</name>
+			<type>1</type>
+			<locationURI>FREERTOS_ROOT/FreeRTOS-Plus/Demo/Common/FreeRTOS_Plus_CLI_Demos/UARTCommandConsole.c</locationURI>
+		</link>
+		<link>
 			<name>src/Full_Demo/Standard_Demo_Tasks/Include</name>
 			<type>2</type>
 			<locationURI>FREERTOS_ROOT/FreeRTOS/Demo/Common/include</locationURI>
diff --git a/FreeRTOS/Demo/RX700_RX71M_RSK_Renesas_e2studio/RTOSDemo HardwareDebug.launch b/FreeRTOS/Demo/RX700_RX71M_RSK_Renesas_e2studio/RTOSDemo HardwareDebug.launch
index e46ec1f..196a30f 100644
--- a/FreeRTOS/Demo/RX700_RX71M_RSK_Renesas_e2studio/RTOSDemo HardwareDebug.launch
+++ b/FreeRTOS/Demo/RX700_RX71M_RSK_Renesas_e2studio/RTOSDemo HardwareDebug.launch
@@ -8,7 +8,7 @@
 <stringAttribute key="com.renesas.cdt.core.optionInitCommands" value=""/>
 <intAttribute key="com.renesas.cdt.core.portNumber" value="61234"/>
 <stringAttribute key="com.renesas.cdt.core.runCommands" value=""/>
-<stringAttribute key="com.renesas.cdt.core.serverParam" value="-g E1  -t R5F571ML  -p 61234 -d 61236 -uClockSrcHoco= 0 -uInputClock= 27.0 -uAllowClockSourceInternal= 1 -uUseFine= 0 -uJTagClockFreq= 16.5 -w 0 -z 0 -uRegisterSetting= 0 -uModePin= 0 -uDebugMode= 0 -uExecuteProgram= 0 -uIdCode= FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -b -n 0 -uWorkRamAddress= 1000 -uProgReWriteIRom= 0 -uProgReWriteDFlash= 0 -uPTimerClock= 120000000 -uhookWorkRamAddr= 0x1000 -uhookWorkRamSize= 0x230"/>
+<stringAttribute key="com.renesas.cdt.core.serverParam" value="-g E1  -t R5F571ML  -p 61234 -d 61236 -uClockSrcHoco= 0 -uInputClock= 27.0 -uAllowClockSourceInternal= 1 -uUseFine= 0 -uJTagClockFreq= 16.5 -w 1 -z 0 -uRegisterSetting= 0 -uModePin= 0 -uDebugMode= 0 -uExecuteProgram= 0 -uIdCode= FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -b -n 0 -uWorkRamAddress= 1000 -uProgReWriteIRom= 0 -uProgReWriteDFlash= 0 -uPTimerClock= 120000000 -uhookWorkRamAddr= 0x1000 -uhookWorkRamSize= 0x230"/>
 <booleanAttribute key="com.renesas.cdt.core.startServer" value="true"/>
 <stringAttribute key="com.renesas.cdt.core.targetDevice" value="R5F571ML"/>
 <booleanAttribute key="com.renesas.cdt.core.useRemoteTarget" value="true"/>
@@ -25,7 +25,7 @@
 <booleanAttribute key="com.renesas.hardwaredebug.e1.allow.clock.source.internal" value="true"/>
 <intAttribute key="com.renesas.hardwaredebug.e1.clock_source" value="0"/>
 <stringAttribute key="com.renesas.hardwaredebug.e1.connection.mode" value="0"/>
-<booleanAttribute key="com.renesas.hardwaredebug.e1.e1_pwr" value="false"/>
+<booleanAttribute key="com.renesas.hardwaredebug.e1.e1_pwr" value="true"/>
 <booleanAttribute key="com.renesas.hardwaredebug.e1.enable.hot.plug" value="false"/>
 <booleanAttribute key="com.renesas.hardwaredebug.e1.enable_external_flash" value="false"/>
 <booleanAttribute key="com.renesas.hardwaredebug.e1.execute.program" value="false"/>
@@ -84,7 +84,7 @@
 <intAttribute key="org.eclipse.cdt.debug.gdbjtag.core.delay" value="3"/>
 <booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.doHalt" value="false"/>
 <booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.doReset" value="false"/>
-<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.imageFileName" value="C:\E\Dev\FreeRTOS\WorkingCopy\FreeRTOS\Demo\RX700_RX71M_Renesas_e2studio\HardwareDebug\RTOSDemo.x"/>
+<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.imageFileName" value="C:\E\Dev\FreeRTOS\WorkingCopy\FreeRTOS\Demo\RX700_RX71M_RSK_Renesas_e2studio\HardwareDebug\RTOSDemo.x"/>
 <stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.imageOffset" value="0"/>
 <stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.initCommands" value=""/>
 <booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.loadImage" value="true"/>
@@ -95,7 +95,7 @@
 <booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setResume" value="true"/>
 <booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setStopAt" value="true"/>
 <stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.stopAt" value="main"/>
-<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.symbolsFileName" value="C:\E\Dev\FreeRTOS\WorkingCopy\FreeRTOS\Demo\RX700_RX71M_Renesas_e2studio\HardwareDebug\RTOSDemo.x"/>
+<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.symbolsFileName" value="C:\E\Dev\FreeRTOS\WorkingCopy\FreeRTOS\Demo\RX700_RX71M_RSK_Renesas_e2studio\HardwareDebug\RTOSDemo.x"/>
 <stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.symbolsOffset" value="0"/>
 <booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useFileForImage" value="false"/>
 <booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useFileForSymbols" value="false"/>
diff --git a/FreeRTOS/Demo/RX700_RX71M_RSK_Renesas_e2studio/src/Blinky_Demo/main_blinky.c b/FreeRTOS/Demo/RX700_RX71M_RSK_Renesas_e2studio/src/Blinky_Demo/main_blinky.c
index dab3ec0..afe12f0 100644
--- a/FreeRTOS/Demo/RX700_RX71M_RSK_Renesas_e2studio/src/Blinky_Demo/main_blinky.c
+++ b/FreeRTOS/Demo/RX700_RX71M_RSK_Renesas_e2studio/src/Blinky_Demo/main_blinky.c
@@ -84,24 +84,14 @@
  *
  * The Queue Send Task:
  * The queue send task is implemented by the prvQueueSendTask() function in
- * this file.  prvQueueSendTask() sits in a loop that causes it to repeatedly
- * block for 200 milliseconds, before sending the value 100 to the queue that
- * was created within main_blinky().  Once the value is sent, the task loops
- * back around to block for another 200 milliseconds...and so on.
+ * this file.  It sends the value 100 to the queue every 200 milliseconds.
  *
  * The Queue Receive Task:
  * The queue receive task is implemented by the prvQueueReceiveTask() function
- * in this file.  prvQueueReceiveTask() sits in a loop where it repeatedly
- * blocks on attempts to read data from the queue that was created within
- * main_blinky().  When data is received, the task checks the value of the
- * data, and if the value equals the expected 100, toggles an LED.  The 'block
- * time' parameter passed to the queue receive function specifies that the
- * task should be held in the Blocked state indefinitely to wait for data to
- * be available on the queue.  The queue receive task will only leave the
- * Blocked state when the queue send task writes to the queue.  As the queue
- * send task writes to the queue every 200 milliseconds, the queue receive
- * task leaves the Blocked state every 200 milliseconds, and therefore toggles
- * the LED every 200 milliseconds.
+ * in this file.  It blocks on the queue to wait for data to arrive from the
+ * queue send task - toggling the LED each time it receives the value 100.  The
+ * queue send task writes to the queue every 200ms, so the LED should toggle
+ * every 200ms.
  */
 
 /* Kernel includes. */
@@ -120,7 +110,7 @@
 
 /* The rate at which data is sent to the queue.  The 200ms value is converted
 to ticks using the portTICK_PERIOD_MS constant. */
-#define mainQUEUE_SEND_FREQUENCY_MS			( 200 / portTICK_PERIOD_MS )
+#define mainQUEUE_SEND_FREQUENCY_MS			( pdMS_TO_TICKS( 200UL ) )
 
 /* The number of items the queue can hold.  This is 1 as the receive task
 will remove items as they are added, meaning the send task should always find
diff --git a/FreeRTOS/Demo/RX700_RX71M_RSK_Renesas_e2studio/src/FreeRTOSConfig.h b/FreeRTOS/Demo/RX700_RX71M_RSK_Renesas_e2studio/src/FreeRTOSConfig.h
index e7bad4f..d885f18 100644
--- a/FreeRTOS/Demo/RX700_RX71M_RSK_Renesas_e2studio/src/FreeRTOSConfig.h
+++ b/FreeRTOS/Demo/RX700_RX71M_RSK_Renesas_e2studio/src/FreeRTOSConfig.h
@@ -88,11 +88,11 @@
 #define configUSE_PREEMPTION			1
 #define configUSE_IDLE_HOOK				1
 #define configUSE_TICK_HOOK				1
-#define configCPU_CLOCK_HZ				( 120000000UL ) /*_RB_ guess cg shows 240 and 120*/
-#define configPERIPHERAL_CLOCK_HZ		( 60000000UL ) /*_RB_ guess*/
+#define configCPU_CLOCK_HZ				( 120000000UL )
+#define configPERIPHERAL_CLOCK_HZ		( 60000000UL )
 #define configTICK_RATE_HZ				( ( TickType_t ) 1000 )
-#define configMINIMAL_STACK_SIZE		( ( unsigned short ) 140 )
-#define configTOTAL_HEAP_SIZE			( ( size_t ) ( 40 * 1024 ) )
+#define configMINIMAL_STACK_SIZE		( ( unsigned short ) 120 )
+#define configTOTAL_HEAP_SIZE			( ( size_t ) ( 50 * 1024 ) )
 #define configMAX_TASK_NAME_LEN			( 12 )
 #define configUSE_TRACE_FACILITY		1
 #define configUSE_16_BIT_TICKS			0
@@ -110,6 +110,12 @@
 #define configMAX_PRIORITIES			( 7 )
 #define configMAX_CO_ROUTINE_PRIORITIES ( 2 )
 
+/* This demo makes use of one or more example stats formatting functions.  These
+format the raw data provided by the uxTaskGetSystemState() function in to human
+readable ASCII form.  See the notes in the implementation of vTaskList() within
+FreeRTOS/Source/tasks.c for limitations. */
+#define configUSE_STATS_FORMATTING_FUNCTIONS	1
+
 /* Software timer definitions. */
 #define configUSE_TIMERS				1
 #define configTIMER_TASK_PRIORITY		( configMAX_PRIORITIES - 1 )
@@ -148,6 +154,12 @@
 void vAssertCalled( void );
 #define configASSERT( x ) if( ( x ) == 0 ) { brk(); taskDISABLE_INTERRUPTS(); for( ;; ); }
 
+/* The buffer into which output generated by FreeRTOS+CLI is placed.  This must
+be at least big enough to contain the output of the task-stats command, as the
+example implementation does not include buffer overlow checking. */
+#define configCOMMAND_INT_MAX_OUTPUT_SIZE	3500
+#define configINCLUDE_QUERY_HEAP_COMMAND	1
+
 /* Override some of the priorities set in the common demo tasks.  This is
 required to ensure flase positive timing errors are not reported. */
 #define bktPRIMARY_PRIORITY		( configMAX_PRIORITIES - 3 )
@@ -155,28 +167,4 @@
 #define intqHIGHER_PRIORITY		( configMAX_PRIORITIES - 3 )
 
 
-/*-----------------------------------------------------------
- * Ethernet configuration.
- *-----------------------------------------------------------*/
-
-/* MAC address configuration. */
-#define configMAC_ADDR0	0x00
-#define configMAC_ADDR1	0x12
-#define configMAC_ADDR2	0x13
-#define configMAC_ADDR3	0x10
-#define configMAC_ADDR4	0x15
-#define configMAC_ADDR5	0x11
-
-/* IP address configuration. */
-#define configIP_ADDR0		192
-#define configIP_ADDR1		168
-#define configIP_ADDR2		0
-#define configIP_ADDR3		200
-
-/* Netmask configuration. */
-#define configNET_MASK0		255
-#define configNET_MASK1		255
-#define configNET_MASK2		255
-#define configNET_MASK3		0
-
 #endif /* FREERTOS_CONFIG_H */
diff --git a/FreeRTOS/Demo/RX700_RX71M_RSK_Renesas_e2studio/src/Full_Demo/IntQueueTimer.c b/FreeRTOS/Demo/RX700_RX71M_RSK_Renesas_e2studio/src/Full_Demo/IntQueueTimer.c
index cb9e576..7de0f9d 100644
--- a/FreeRTOS/Demo/RX700_RX71M_RSK_Renesas_e2studio/src/Full_Demo/IntQueueTimer.c
+++ b/FreeRTOS/Demo/RX700_RX71M_RSK_Renesas_e2studio/src/Full_Demo/IntQueueTimer.c
@@ -68,9 +68,9 @@
 */
 
 /*
- * This file contains the non-portable and therefore RX62N specific parts of
- * the IntQueue standard demo task - namely the configuration of the timers
- * that generate the interrupts and the interrupt entry points.
+ * This file contains the non-portable and therefore RX specific parts of the
+ * IntQueue standard demo task - namely the configuration of the timers that
+ * generate the interrupts and the interrupt entry points.
  */
 
 /* Scheduler includes. */
@@ -92,6 +92,7 @@
 	/* Ensure interrupts do not start until full configuration is complete. */
 	portENTER_CRITICAL();
 	{
+		/* Give write access. */
 		SYSTEM.PRCR.WORD = 0xa502;
 
 		/* Cascade two 8bit timer channels to generate the interrupts. 
@@ -130,11 +131,9 @@
 		TMR0.TCR.BIT.CMIEA = 1;
 		TMR2.TCR.BIT.CMIEA = 1;
 
-		/* Map TMR0 CMIA0 interrupt to vector slot B number 128 and set
-		priority above the kernel's priority, but below the max syscall
-		priority. */
-	    ICU.SLIBXR128.BYTE = 3; /* Three is TMR0 compare match A. */
-	    IPR( PERIB, INTB128 ) = configMAX_SYSCALL_INTERRUPT_PRIORITY - 1;
+		/* Set priority and enable interrupt. */
+		ICU.SLIBXR128.BYTE = 3; /* Three is TMR0 compare match A. */
+		IPR( PERIB, INTB128 ) = configMAX_SYSCALL_INTERRUPT_PRIORITY - 1;
 		IEN( PERIB, INTB128 ) = 1;
 
 		/* Ensure that the flag is set to 0, otherwise the interrupt will not be
@@ -142,8 +141,8 @@
 		IR( PERIB, INTB128 ) = 0;
 
 		/* Do the same for TMR2, but to vector 129. */
-	    ICU.SLIBXR129.BYTE = 9; /* Nine is TMR2 compare match A. */
-	    IPR( PERIB, INTB129 ) = configMAX_SYSCALL_INTERRUPT_PRIORITY - 2;
+		ICU.SLIBXR129.BYTE = 9; /* Nine is TMR2 compare match A. */
+		IPR( PERIB, INTB129 ) = configMAX_SYSCALL_INTERRUPT_PRIORITY - 2;
 		IEN( PERIB, INTB129 ) = 1;
 		IR( PERIB, INTB129 ) = 0;
 	}
diff --git a/FreeRTOS/Demo/RX700_RX71M_RSK_Renesas_e2studio/src/Full_Demo/IntQueueTimer.h b/FreeRTOS/Demo/RX700_RX71M_RSK_Renesas_e2studio/src/Full_Demo/IntQueueTimer.h
index fcf9f8c..a26068c 100644
--- a/FreeRTOS/Demo/RX700_RX71M_RSK_Renesas_e2studio/src/Full_Demo/IntQueueTimer.h
+++ b/FreeRTOS/Demo/RX700_RX71M_RSK_Renesas_e2studio/src/Full_Demo/IntQueueTimer.h
@@ -71,8 +71,8 @@
 #define INT_QUEUE_TIMER_H
 
 void vInitialiseTimerForIntQueueTest( void );
-portBASE_TYPE xTimer0Handler( void );
-portBASE_TYPE xTimer1Handler( void );
+BaseType_t xTimer0Handler( void );
+BaseType_t xTimer1Handler( void );
 
 #endif
 
diff --git a/FreeRTOS/Demo/RX700_RX71M_RSK_Renesas_e2studio/src/Full_Demo/main_full.c b/FreeRTOS/Demo/RX700_RX71M_RSK_Renesas_e2studio/src/Full_Demo/main_full.c
index 50d2cc8..5ba7f68 100644
--- a/FreeRTOS/Demo/RX700_RX71M_RSK_Renesas_e2studio/src/Full_Demo/main_full.c
+++ b/FreeRTOS/Demo/RX700_RX71M_RSK_Renesas_e2studio/src/Full_Demo/main_full.c
@@ -81,7 +81,7 @@
  *
  ******************************************************************************
  *
- * main_full() creates all the demo application tasks and software timers, then
+ * main_full() creates a set of demo application tasks and software timers, then
  * starts the scheduler.  The web documentation provides more details of the
  * standard demo application tasks, which provide no particular functionality,
  * but do provide a good example of how to use the FreeRTOS API.
@@ -89,6 +89,12 @@
  * In addition to the standard demo tasks, the following tasks and tests are
  * defined and/or created within this file:
  *
+ * "FreeRTOS+CLI command console" -  The command console uses SCI1 for its
+ * input and output.  The baud rate is set to 19200.  Type "help" to see a list
+ * of registered commands.  The FreeRTOS+CLI license is different to the
+ * FreeRTOS license, see http://www.FreeRTOS.org/cli for license and usage
+ * details.
+ *
  * "Reg test" tasks - These fill both the core and floating point registers with
  * known values, then check that each register maintains its expected value for
  * the lifetime of the task.  Each task uses a different set of values.  The reg
@@ -97,19 +103,17 @@
  * error in the context switching mechanism.
  *
  * "Check" task - The check task period is initially set to three seconds.  The
- * task checks that all the standard demo tasks, and the register check tasks,
- * are not only still executing, but are executing without reporting any errors.
- * If the check task discovers that a task has either stalled, or reported an
- * error, then it changes its own execution period from the initial three
- * seconds, to just 200ms.  The check task also toggles an LED each time it is
- * called.  This provides a visual indication of the system status:  If the LED
- * toggles every three seconds, then no issues have been discovered.  If the LED
- * toggles every 200ms, then an issue has been discovered with at least one
- * task.
+ * task checks that all the standard demo tasks are not only still executing,
+ * but are executing without reporting any errors.  If the check task discovers
+ * that a task has either stalled, or reported an error, then it changes its own
+ * execution period from the initial three seconds, to just 200ms.  The check
+ * task also toggles an LED on each iteration of its loop.  This provides a
+ * visual indication of the system status:  If the LED toggles every three
+ * seconds, then no issues have been discovered.  If the LED toggles every
+ * 200ms, then an issue has been discovered with at least one task.
  */
 
 /* Standard includes. */
-#include <rskrx71mdef.h>
 #include <stdio.h>
 
 /* Kernel includes. */
@@ -139,6 +143,7 @@
 #include "IntSemTest.h"
 
 /* Renesas includes. */
+#include <rskrx71mdef.h>
 #include "r_cg_macrodriver.h"
 #include "r_cg_userdefine.h"
 
@@ -148,30 +153,26 @@
 #define mainCREATOR_TASK_PRIORITY			( tskIDLE_PRIORITY + 3UL )
 #define mainFLOP_TASK_PRIORITY				( tskIDLE_PRIORITY )
 #define mainUART_COMMAND_CONSOLE_STACK_SIZE	( configMINIMAL_STACK_SIZE * 3UL )
-#define mainCOM_TEST_TASK_PRIORITY			( tskIDLE_PRIORITY + 2 )
 #define mainCHECK_TASK_PRIORITY				( configMAX_PRIORITIES - 1 )
 #define mainQUEUE_OVERWRITE_PRIORITY		( tskIDLE_PRIORITY )
 
 /* The priority used by the UART command console task. */
 #define mainUART_COMMAND_CONSOLE_TASK_PRIORITY	( configMAX_PRIORITIES - 2 )
 
-/* A block time of zero simply means "don't block". */
-#define mainDONT_BLOCK						( 0UL )
-
 /* The period after which the check timer will expire, in ms, provided no errors
 have been reported by any of the standard demo tasks.  ms are converted to the
 equivalent in ticks using the portTICK_PERIOD_MS constant. */
-#define mainNO_ERROR_CHECK_TASK_PERIOD		( 3000UL / portTICK_PERIOD_MS )
+#define mainNO_ERROR_CHECK_TASK_PERIOD		pdMS_TO_TICKS( 3000UL )
 
 /* The period at which the check timer will expire, in ms, if an error has been
 reported in one of the standard demo tasks.  ms are converted to the equivalent
 in ticks using the portTICK_PERIOD_MS constant. */
-#define mainERROR_CHECK_TASK_PERIOD 		( 200UL / portTICK_PERIOD_MS )
+#define mainERROR_CHECK_TASK_PERIOD 		pdMS_TO_TICKS( 200UL )
 
 /* Parameters that are passed into the register check tasks solely for the
 purpose of ensuring parameters are passed into tasks correctly. */
-#define mainREG_TEST_1_PARAMETER	( ( void * ) 0x12121212UL )
-#define mainREG_TEST_2_PARAMETER	( ( void * ) 0x12345678UL )
+#define mainREG_TEST_1_PARAMETER			( ( void * ) 0x12121212UL )
+#define mainREG_TEST_2_PARAMETER			( ( void * ) 0x12345678UL )
 
 /* The base period used by the timer test tasks. */
 #define mainTIMER_TEST_PERIOD				( 50 )
@@ -212,6 +213,17 @@
  */
 static void prvPseudoRandomiser( void *pvParameters );
 
+/*
+ * Register commands that can be used with FreeRTOS+CLI.  The commands are
+ * defined in CLI-Commands.c and File-Related-CLI-Command.c respectively.
+ */
+extern void vRegisterSampleCLICommands( void );
+
+/*
+ * The task that manages the FreeRTOS+CLI input and output.
+ */
+extern void vUARTCommandConsoleStart( uint16_t usStackSize, UBaseType_t uxPriority );
+
 /*-----------------------------------------------------------*/
 
 /* The following two variables are used to communicate the status of the
@@ -220,9 +232,6 @@
 stops incrementing, then an error has been found. */
 volatile unsigned long ulRegTest1LoopCounter = 0UL, ulRegTest2LoopCounter = 0UL;
 
-/* String for display in the web server.  It is set to an error message if the
-check task detects an error.  */
-const char *pcStatusMessage = "All tasks running without error";
 /*-----------------------------------------------------------*/
 
 void main_full( void )
@@ -250,7 +259,14 @@
 	xTaskCreate( prvRegTest2Task, "RegTst2", configMINIMAL_STACK_SIZE, mainREG_TEST_2_PARAMETER, tskIDLE_PRIORITY, NULL );
 
 	/* Create the task that just adds a little random behaviour. */
-	xTaskCreate( prvPseudoRandomiser, "Rnd", configMINIMAL_STACK_SIZE, NULL, configMAX_PRIORITIES - 1, NULL );
+	xTaskCreate( prvPseudoRandomiser, "Rnd", configMINIMAL_STACK_SIZE, NULL, configMAX_PRIORITIES - 2, NULL );
+
+	/* Start the tasks that implements the command console on the UART, as
+	described above. */
+	vUARTCommandConsoleStart( mainUART_COMMAND_CONSOLE_STACK_SIZE, mainUART_COMMAND_CONSOLE_TASK_PRIORITY );
+
+	/* Register the standard CLI commands. */
+	vRegisterSampleCLICommands();
 
 	/* Create the task that performs the 'check' functionality,	as described at
 	the top of this file. */
@@ -404,7 +420,6 @@
 			gone wrong (it might just be that the loop back connector required
 			by the comtest tasks has not been fitted). */
 			xDelayPeriod = mainERROR_CHECK_TASK_PERIOD;
-			pcStatusMessage = "Error found in at least one task.";
 		}
 	}
 }
@@ -412,7 +427,7 @@
 
 static void prvPseudoRandomiser( void *pvParameters )
 {
-const uint32_t ulMultiplier = 0x015a4e35UL, ulIncrement = 1UL, ulMinDelay = ( 35 / portTICK_PERIOD_MS );
+const uint32_t ulMultiplier = 0x015a4e35UL, ulIncrement = 1UL, ulMinDelay = pdMS_TO_TICKS( 35 );
 volatile uint32_t ulNextRand = ( uint32_t ) &pvParameters, ulValue;
 
 	/* This task does nothing other than ensure there is a little bit of
diff --git a/FreeRTOS/Demo/RX700_RX71M_RSK_Renesas_e2studio/src/cg_src/r_cg_sci_user.c b/FreeRTOS/Demo/RX700_RX71M_RSK_Renesas_e2studio/src/cg_src/r_cg_sci_user.c
index 6f4c8bc..e163cc5 100644
--- a/FreeRTOS/Demo/RX700_RX71M_RSK_Renesas_e2studio/src/cg_src/r_cg_sci_user.c
+++ b/FreeRTOS/Demo/RX700_RX71M_RSK_Renesas_e2studio/src/cg_src/r_cg_sci_user.c
@@ -30,6 +30,16 @@
 Pragma directive
 ***********************************************************************************************************************/
 /* Start user code for pragma. Do not edit comment generated here */
+
+
+/*
+ * This file originated from an example project for the RSK - it has been
+ * adapted to allow it to be used in the FreeRTOS demo.  Functions required by
+ * UARTCommandConsole.c have been added.
+ */
+
+
+
 /* End user code. Do not edit comment generated here */
 
 /***********************************************************************************************************************
@@ -38,6 +48,11 @@
 #include "r_cg_macrodriver.h"
 #include "r_cg_sci.h"
 /* Start user code for include. Do not edit comment generated here */
+#include "rskrx71mdef.h"
+#include "FreeRTOS.h"
+#include "task.h"
+#include "queue.h"
+#include "serial.h"
 /* End user code. Do not edit comment generated here */
 #include "r_cg_userdefine.h"
 
@@ -50,7 +65,6 @@
 extern uint16_t  g_sci7_rx_count;                   /* SCI7 receive data number */
 extern uint16_t  g_sci7_rx_length;                  /* SCI7 receive data length */
 /* Start user code for global. Do not edit comment generated here */
-/* Flag used locally to detect transmission complete */
 
 /* Global used to receive a character from the PC terminal */
 uint8_t g_rx_char;
@@ -58,8 +72,21 @@
 /* Flag used to control transmission to PC terminal */
 volatile uint8_t g_tx_flag = FALSE;
 
-/* Flag used locally to detect transmission complete */
-static volatile uint8_t sci6_txdone;
+/* Characters received from the UART are stored in this queue, ready to be
+received by the application.  ***NOTE*** Using a queue in this way is very
+convenient, but also very inefficient.  It can be used here because characters
+will only arrive slowly.  In a higher bandwidth system a circular RAM buffer or
+DMA should be used in place of this queue. */
+static QueueHandle_t xRxQueue = NULL;
+
+/* When a task calls vSerialPutString() its handle is stored in xSendingTask,
+before being placed into the Blocked state (so does not use any CPU time) to
+wait for the transmission to end.  The task handle is then used from the UART
+transmit end interrupt to remove the task from the Blocked state. */
+static TaskHandle_t xSendingTask = NULL;
+
+/* Flag used locally to detect transmission complete.  This is used by the
+auto generated API only. */
 static volatile uint8_t sci7_txdone;
 
 /* End user code. Do not edit comment generated here */
@@ -98,7 +125,7 @@
 ***********************************************************************************************************************/
 void r_sci7_transmitend_interrupt(void)
 {
-    /* Set TXD7 pin */
+    MPC.P90PFS.BYTE = 0x00U;
     PORT9.PMR.BYTE &= 0xFEU;
     SCI7.SCR.BIT.TIE = 0U;
     SCI7.SCR.BIT.TE = 0U;
@@ -158,8 +185,20 @@
 static void r_sci7_callback_transmitend(void)
 {
     /* Start user code. Do not edit comment generated here */
+    BaseType_t xHigherPriorityTaskWoken = pdFALSE;
+
+    /* The sci7_txdone flag is used by the auto generated API only. */
     sci7_txdone = TRUE;
 
+    if( xSendingTask != NULL )
+    {
+        /* A task is waiting for the end of the Tx, unblock it now.
+        http://www.freertos.org/vTaskNotifyGiveFromISR.html */
+        vTaskNotifyGiveFromISR( xSendingTask, &xHigherPriorityTaskWoken );
+        xSendingTask = NULL;
+
+        portYIELD_FROM_ISR( xHigherPriorityTaskWoken );
+    }
     /* End user code. Do not edit comment generated here */
 }
 /***********************************************************************************************************************
@@ -171,15 +210,30 @@
 static void r_sci7_callback_receiveend(void)
 {
     /* Start user code. Do not edit comment generated here */
-    /* Check the contents of g_rx_char */
-    if (('c' == g_rx_char) || ('C' == g_rx_char))
+    BaseType_t xHigherPriorityTaskWoken = pdFALSE;
+
+    configASSERT( xRxQueue );
+
+    /* Transmitting generates an interrupt for each character, which consumes
+    CPU time, and can cause standard demo RTOS tasks that monitor their own
+    performance to fail asserts - so don't receive new CLI commands if a
+    transmit is not already in progress. */
+    if( sci7_txdone == TRUE )
     {
-//_RB_        g_adc_trigger = TRUE;
+        /* Characters received from the UART are stored in this queue, ready to be
+        received by the application.  ***NOTE*** Using a queue in this way is very
+        convenient, but also very inefficient.  It can be used here because
+        characters will only arrive slowly.  In a higher bandwidth system a circular
+        RAM buffer or DMA should be used in place of this queue. */
+        xQueueSendFromISR( xRxQueue, &g_rx_char, &xHigherPriorityTaskWoken );
     }
 
-    /* Set up SCI7 receive buffer and callback function again */
+    /* Set up SCI7 receive buffer again */
     R_SCI7_Serial_Receive((uint8_t *)&g_rx_char, 1);
 
+    /* See http://www.freertos.org/xQueueOverwriteFromISR.html for information
+    on the semantics of this ISR. */
+    portYIELD_FROM_ISR( xHigherPriorityTaskWoken );
     /* End user code. Do not edit comment generated here */
 }
 /***********************************************************************************************************************
@@ -228,5 +282,91 @@
 * End of function R_SCI7_AsyncTransmit
 *******************************************************************************/
 
+/* Function required in order to link UARTCommandConsole.c - which is used by
+multiple different demo application. */
+xComPortHandle xSerialPortInitMinimal( unsigned long ulWantedBaud, unsigned portBASE_TYPE uxQueueLength )
+{
+    ( void ) ulWantedBaud;
+    ( void ) uxQueueLength;
+
+    /* Characters received from the UART are stored in this queue, ready to be
+    received by the application.  ***NOTE*** Using a queue in this way is very
+    convenient, but also very inefficient.  It can be used here because
+    characters will only arrive slowly.  In a higher bandwidth system a circular
+    RAM buffer or DMA should be used in place of this queue. */
+    xRxQueue = xQueueCreate( uxQueueLength, sizeof( char ) );
+    configASSERT( xRxQueue );
+
+    /* Set up SCI1 receive buffer */
+    R_SCI7_Serial_Receive((uint8_t *) &g_rx_char, 1);
+
+    /* Ensure the interrupt priority is at or below
+    configMAX_SYSCALL_INTERRUPT_PRIORITY. */
+    IPR(SCI7, RXI7) = configMAX_SYSCALL_INTERRUPT_PRIORITY - 1;
+    IPR(SCI7, TXI7) = configMAX_SYSCALL_INTERRUPT_PRIORITY - 1;
+    IPR(ICU,GROUPBL0) = configMAX_SYSCALL_INTERRUPT_PRIORITY - 1;
+
+    /* Enable SCI1 operations */
+    R_SCI7_Start();
+
+    /* Only one UART is supported, so it doesn't matter what is returned
+    here. */
+    return 0;
+}
+
+/* Function required in order to link UARTCommandConsole.c - which is used by
+multiple different demo application. */
+void vSerialPutString( xComPortHandle pxPort, const signed char * const pcString, unsigned short usStringLength )
+{
+const TickType_t xMaxBlockTime = pdMS_TO_TICKS( 5000 );
+
+    /* Only one port is supported. */
+    ( void ) pxPort;
+
+    /* Clear the flag before initiating a new transmission */
+    sci7_txdone = FALSE;
+
+    /* Don't send the string unless the previous string has been sent. */
+    if( ( xSendingTask == NULL ) && ( usStringLength > 0 ) )
+    {
+        /* Ensure the calling task's notification state is not already
+        pending. */
+        vTaskNotifyStateClear( NULL );
+
+        /* Store the handle of the transmitting task.  This is used to unblock
+        the task when the transmission has completed. */
+        xSendingTask = xTaskGetCurrentTaskHandle();
+
+        /* Send the string using the auto-generated API. */
+        R_SCI7_Serial_Send( ( uint8_t * ) pcString, usStringLength );
+
+        /* Wait in the Blocked state (so not using any CPU time) until the
+        transmission has completed. */
+        ulTaskNotifyTake( pdTRUE, xMaxBlockTime );
+    }
+}
+
+/* Function required in order to link UARTCommandConsole.c - which is used by
+multiple different demo application. */
+signed portBASE_TYPE xSerialGetChar( xComPortHandle pxPort, signed char *pcRxedChar, TickType_t xBlockTime )
+{
+    /* Only one UART is supported. */
+    ( void ) pxPort;
+
+    /* Return a received character, if any are available.  Otherwise block to
+    wait for a character. */
+    return xQueueReceive( xRxQueue, pcRxedChar, xBlockTime );
+}
+
+/* Function required in order to link UARTCommandConsole.c - which is used by
+multiple different demo application. */
+signed portBASE_TYPE xSerialPutChar( xComPortHandle pxPort, signed char cOutChar, TickType_t xBlockTime )
+{
+    /* Just mapped to vSerialPutString() so the block time is not used. */
+    ( void ) xBlockTime;
+
+    vSerialPutString( pxPort, &cOutChar, sizeof( cOutChar ) );
+    return pdPASS;
+}
 
 /* End user code. Do not edit comment generated here */
diff --git a/FreeRTOS/Demo/RX700_RX71M_RSK_Renesas_e2studio/src/main.c b/FreeRTOS/Demo/RX700_RX71M_RSK_Renesas_e2studio/src/main.c
index 9cb47b3..c2f2855 100644
--- a/FreeRTOS/Demo/RX700_RX71M_RSK_Renesas_e2studio/src/main.c
+++ b/FreeRTOS/Demo/RX700_RX71M_RSK_Renesas_e2studio/src/main.c
@@ -96,7 +96,7 @@
 
 /* Set mainCREATE_SIMPLE_BLINKY_DEMO_ONLY to one to run the simple blinky demo,
 or 0 to run the more comprehensive test and demo application. */
-#define mainCREATE_SIMPLE_BLINKY_DEMO_ONLY	0
+#define mainCREATE_SIMPLE_BLINKY_DEMO_ONLY	1
 
 /*-----------------------------------------------------------*/
 
@@ -141,6 +141,7 @@
 	}
 	#endif
 
+	/* Should never get reached. */
 	return 0;
 }
 /*-----------------------------------------------------------*/
@@ -202,6 +203,7 @@
 
 void vApplicationTickHook( void )
 {
+	/* The tick hook is not used by the blinky demo, but is by the full demo. */
 	#if mainCREATE_SIMPLE_BLINKY_DEMO_ONLY == 0
 	{
 		extern void vFullDemoTickHook( void );
@@ -213,7 +215,9 @@
 /*-----------------------------------------------------------*/
 
 /* The RX port uses this callback function to configure its tick interrupt.
-This allows the application to choose the tick interrupt source. */
+This allows the application to choose the tick interrupt source.
+***NOTE***: configTICK_VECTOR must be set in FreeRTOSConfig.h to be correct for
+whichever vector is used. */
 void vApplicationSetupTimerInterrupt( void )
 {
 const uint32_t ulEnableRegisterWrite = 0xA50BUL, ulDisableRegisterWrite = 0xA500UL;
diff --git a/FreeRTOS/Source/include/FreeRTOS.h b/FreeRTOS/Source/include/FreeRTOS.h
index d8f969d..37e38bc 100644
--- a/FreeRTOS/Source/include/FreeRTOS.h
+++ b/FreeRTOS/Source/include/FreeRTOS.h
@@ -819,6 +819,14 @@
 	#define xList List_t
 #endif /* configENABLE_BACKWARD_COMPATIBILITY */
 
+/* Set configUSE_TASK_FPU_SUPPORT to 0 to omit floating point support even
+if floating point hardware is otherwise supported by the FreeRTOS port in use.
+This constant is not supported by all FreeRTOS ports that include floating 
+point support. */
+#ifndef configUSE_TASK_FPU_SUPPORT
+    #define configUSE_TASK_FPU_SUPPORT 1
+#endif
+    
 #ifdef __cplusplus
 }
 #endif
diff --git a/FreeRTOS/Source/include/StackMacros.h b/FreeRTOS/Source/include/StackMacros.h
index 915fe20..32b28e6 100644
--- a/FreeRTOS/Source/include/StackMacros.h
+++ b/FreeRTOS/Source/include/StackMacros.h
@@ -86,28 +86,10 @@
 
 /*-----------------------------------------------------------*/
 
-#if( configCHECK_FOR_STACK_OVERFLOW == 0 )
-
-	/* FreeRTOSConfig.h is not set to check for stack overflows. */
-	#define taskFIRST_CHECK_FOR_STACK_OVERFLOW()
-	#define taskSECOND_CHECK_FOR_STACK_OVERFLOW()
-
-#endif /* configCHECK_FOR_STACK_OVERFLOW == 0 */
-/*-----------------------------------------------------------*/
-
-#if( configCHECK_FOR_STACK_OVERFLOW == 1 )
-
-	/* FreeRTOSConfig.h is only set to use the first method of
-	overflow checking. */
-	#define taskSECOND_CHECK_FOR_STACK_OVERFLOW()
-
-#endif
-/*-----------------------------------------------------------*/
-
-#if( ( configCHECK_FOR_STACK_OVERFLOW > 0 ) && ( portSTACK_GROWTH < 0 ) )
+#if( ( configCHECK_FOR_STACK_OVERFLOW == 1 ) && ( portSTACK_GROWTH < 0 ) )
 
 	/* Only the current stack state is to be checked. */
-	#define taskFIRST_CHECK_FOR_STACK_OVERFLOW()														\
+	#define taskCHECK_FOR_STACK_OVERFLOW()																\
 	{																									\
 		/* Is the currently saved stack pointer within the stack limit? */								\
 		if( pxCurrentTCB->pxTopOfStack <= pxCurrentTCB->pxStack )										\
@@ -116,13 +98,13 @@
 		}																								\
 	}
 
-#endif /* configCHECK_FOR_STACK_OVERFLOW > 0 */
+#endif /* configCHECK_FOR_STACK_OVERFLOW == 1 */
 /*-----------------------------------------------------------*/
 
-#if( ( configCHECK_FOR_STACK_OVERFLOW > 0 ) && ( portSTACK_GROWTH > 0 ) )
+#if( ( configCHECK_FOR_STACK_OVERFLOW == 1 ) && ( portSTACK_GROWTH > 0 ) )
 
 	/* Only the current stack state is to be checked. */
-	#define taskFIRST_CHECK_FOR_STACK_OVERFLOW()														\
+	#define taskCHECK_FOR_STACK_OVERFLOW()																\
 	{																									\
 																										\
 		/* Is the currently saved stack pointer within the stack limit? */								\
@@ -137,20 +119,18 @@
 
 #if( ( configCHECK_FOR_STACK_OVERFLOW > 1 ) && ( portSTACK_GROWTH < 0 ) )
 
-	#define taskSECOND_CHECK_FOR_STACK_OVERFLOW()																						\
-	{																																	\
-	static const uint8_t ucExpectedStackBytes[] = {	tskSTACK_FILL_BYTE, tskSTACK_FILL_BYTE, tskSTACK_FILL_BYTE, tskSTACK_FILL_BYTE,		\
-													tskSTACK_FILL_BYTE, tskSTACK_FILL_BYTE, tskSTACK_FILL_BYTE, tskSTACK_FILL_BYTE,		\
-													tskSTACK_FILL_BYTE, tskSTACK_FILL_BYTE, tskSTACK_FILL_BYTE, tskSTACK_FILL_BYTE,		\
-													tskSTACK_FILL_BYTE, tskSTACK_FILL_BYTE, tskSTACK_FILL_BYTE, tskSTACK_FILL_BYTE,		\
-													tskSTACK_FILL_BYTE, tskSTACK_FILL_BYTE, tskSTACK_FILL_BYTE, tskSTACK_FILL_BYTE };	\
-																																		\
-																																		\
-		/* Has the extremity of the task stack ever been written over? */																\
-		if( memcmp( ( const void * ) pxCurrentTCB->pxStack, ( const void * ) ucExpectedStackBytes, sizeof( ucExpectedStackBytes ) ) != 0 )			\
-		{																																\
-			vApplicationStackOverflowHook( ( TaskHandle_t ) pxCurrentTCB, pxCurrentTCB->pcTaskName );									\
-		}																																\
+	#define taskCHECK_FOR_STACK_OVERFLOW()																\
+	{																									\
+		const uint32_t * const pulStack = ( uint32_t * ) pxCurrentTCB->pxStack;							\
+		const uint32_t ulCheckValue = ( uint32_t ) 0xa5a5a5a5;											\
+																										\
+		if( ( pulStack[ 0 ] != ulCheckValue ) ||												\
+			( pulStack[ 1 ] != ulCheckValue ) ||												\
+			( pulStack[ 2 ] != ulCheckValue ) ||												\
+			( pulStack[ 3 ] != ulCheckValue ) )												\
+		{																								\
+			vApplicationStackOverflowHook( ( TaskHandle_t ) pxCurrentTCB, pxCurrentTCB->pcTaskName );	\
+		}																								\
 	}
 
 #endif /* #if( configCHECK_FOR_STACK_OVERFLOW > 1 ) */
@@ -158,7 +138,7 @@
 
 #if( ( configCHECK_FOR_STACK_OVERFLOW > 1 ) && ( portSTACK_GROWTH > 0 ) )
 
-	#define taskSECOND_CHECK_FOR_STACK_OVERFLOW()																						\
+	#define taskCHECK_FOR_STACK_OVERFLOW()																								\
 	{																																	\
 	int8_t *pcEndOfStack = ( int8_t * ) pxCurrentTCB->pxEndOfStack;																		\
 	static const uint8_t ucExpectedStackBytes[] = {	tskSTACK_FILL_BYTE, tskSTACK_FILL_BYTE, tskSTACK_FILL_BYTE, tskSTACK_FILL_BYTE,		\
@@ -180,5 +160,12 @@
 #endif /* #if( configCHECK_FOR_STACK_OVERFLOW > 1 ) */
 /*-----------------------------------------------------------*/
 
+/* Remove stack overflow macro if not being used. */
+#ifndef taskCHECK_FOR_STACK_OVERFLOW
+	#define taskCHECK_FOR_STACK_OVERFLOW()
+#endif
+
+
+
 #endif /* STACK_MACROS_H */
 
diff --git a/FreeRTOS/Source/include/task.h b/FreeRTOS/Source/include/task.h
index deda894..5ecd9af 100644
--- a/FreeRTOS/Source/include/task.h
+++ b/FreeRTOS/Source/include/task.h
@@ -1812,6 +1812,18 @@
  */
 uint32_t ulTaskNotifyTake( BaseType_t xClearCountOnExit, TickType_t xTicksToWait ) PRIVILEGED_FUNCTION;
 
+/**
+ * task. h
+ * <PRE>void vTaskNotifyClear( TaskHandle_t xTask );</pre>
+ *
+ * Clear the notification state of the task referenced by the handle xTask.  The
+ * task's notification value is not altered.  Set xTask to NULL to clear the
+ * notification state of the calling task.
+ * \defgroup vTaskNotifyClear vTaskNotifyClear
+ * \ingroup TaskNotifications
+ */
+void vTaskNotifyStateClear( TaskHandle_t xTask );
+
 /*-----------------------------------------------------------
  * SCHEDULER INTERNALS AVAILABLE FOR PORTING PURPOSES
  *----------------------------------------------------------*/
diff --git a/FreeRTOS/Source/portable/IAR/RXv2/port.c b/FreeRTOS/Source/portable/IAR/RXv2/port.c
index 1ba4c92..4d5306d 100644
--- a/FreeRTOS/Source/portable/IAR/RXv2/port.c
+++ b/FreeRTOS/Source/portable/IAR/RXv2/port.c
@@ -79,7 +79,6 @@
 #include "string.h"
 
 /* Hardware specifics. */
-#warning RX600v1 port included chip specific header file here.
 #include <machine.h>
 
 /*-----------------------------------------------------------*/
diff --git a/FreeRTOS/Source/portable/MPLAB/PIC32MZ/ISR_Support.h b/FreeRTOS/Source/portable/MPLAB/PIC32MZ/ISR_Support.h
index a5b0fd4..6127054 100644
--- a/FreeRTOS/Source/portable/MPLAB/PIC32MZ/ISR_Support.h
+++ b/FreeRTOS/Source/portable/MPLAB/PIC32MZ/ISR_Support.h
@@ -69,9 +69,94 @@
 
 #include "FreeRTOSConfig.h"
 
-#define portCONTEXT_SIZE 160
-#define portEPC_STACK_LOCATION 152
-#define portSTATUS_STACK_LOCATION 156
+#define portCONTEXT_SIZE                160
+#define portEPC_STACK_LOCATION          152
+#define portSTATUS_STACK_LOCATION       156
+#define portFPCSR_STACK_LOCATION        0
+#define portTASK_HAS_FPU_STACK_LOCATION     0
+#define portFPU_CONTEXT_SIZE            264
+
+/******************************************************************/
+.macro  portSAVE_FPU_REGS    offset, base
+    /* Macro to assist with saving just the FPU registers to the
+     * specified address and base offset,
+     * offset is a constant, base is the base pointer register  */
+
+	sdc1		$f31, \offset + 248(\base)
+	sdc1		$f30, \offset + 240(\base)
+	sdc1		$f29, \offset + 232(\base)
+	sdc1		$f28, \offset + 224(\base)
+	sdc1		$f27, \offset + 216(\base)
+	sdc1		$f26, \offset + 208(\base)
+	sdc1		$f25, \offset + 200(\base)
+	sdc1		$f24, \offset + 192(\base)
+	sdc1		$f23, \offset + 184(\base)
+	sdc1		$f22, \offset + 176(\base)
+	sdc1		$f21, \offset + 168(\base)
+	sdc1		$f20, \offset + 160(\base)
+	sdc1		$f19, \offset + 152(\base)
+	sdc1		$f18, \offset + 144(\base)
+	sdc1		$f17, \offset + 136(\base)
+	sdc1		$f16, \offset + 128(\base)
+	sdc1		$f15, \offset + 120(\base)
+	sdc1		$f14, \offset + 112(\base)
+	sdc1		$f13, \offset + 104(\base)
+	sdc1		$f12, \offset + 96(\base)
+	sdc1		$f11, \offset + 88(\base)
+	sdc1		$f10, \offset + 80(\base)
+	sdc1		$f9, \offset + 72(\base)
+	sdc1		$f8, \offset + 64(\base)
+	sdc1		$f7, \offset + 56(\base)
+	sdc1		$f6, \offset + 48(\base)
+	sdc1		$f5, \offset + 40(\base)
+	sdc1		$f4, \offset + 32(\base)
+	sdc1		$f3, \offset + 24(\base)
+	sdc1		$f2, \offset + 16(\base)
+	sdc1		$f1, \offset + 8(\base)
+	sdc1		$f0, \offset + 0(\base)
+
+    .endm
+
+/******************************************************************/
+.macro  portLOAD_FPU_REGS    offset, base
+    /* Macro to assist with loading just the FPU registers from the
+     * specified address and base offset, offset is a constant,
+     * base is the base pointer register  */
+
+	ldc1		$f0, \offset + 0(\base)
+	ldc1		$f1, \offset + 8(\base)
+	ldc1		$f2, \offset + 16(\base)
+	ldc1		$f3, \offset + 24(\base)
+	ldc1		$f4, \offset + 32(\base)
+	ldc1		$f5, \offset + 40(\base)
+	ldc1		$f6, \offset + 48(\base)
+	ldc1		$f7, \offset + 56(\base)
+	ldc1		$f8, \offset + 64(\base)
+	ldc1		$f9, \offset + 72(\base)
+	ldc1		$f10, \offset + 80(\base)
+	ldc1		$f11, \offset + 88(\base)
+	ldc1		$f12, \offset + 96(\base)
+	ldc1		$f13, \offset + 104(\base)
+	ldc1		$f14, \offset + 112(\base)
+	ldc1		$f15, \offset + 120(\base)
+	ldc1		$f16, \offset + 128(\base)
+	ldc1		$f17, \offset + 136(\base)
+	ldc1		$f18, \offset + 144(\base)
+	ldc1		$f19, \offset + 152(\base)
+	ldc1		$f20, \offset + 160(\base)
+	ldc1		$f21, \offset + 168(\base)
+	ldc1		$f22, \offset + 176(\base)
+	ldc1		$f23, \offset + 184(\base)
+	ldc1		$f24, \offset + 192(\base)
+	ldc1		$f25, \offset + 200(\base)
+	ldc1		$f26, \offset + 208(\base)
+	ldc1		$f27, \offset + 216(\base)
+	ldc1		$f28, \offset + 224(\base)
+	ldc1		$f29, \offset + 232(\base)
+	ldc1		$f30, \offset + 240(\base)
+	ldc1		$f31, \offset + 248(\base)
+
+    .endm
 
 /******************************************************************/
 .macro	portSAVE_CONTEXT
@@ -81,10 +166,37 @@
 	captured. */
 	mfc0		k0, _CP0_CAUSE
 	addiu		sp, sp, -portCONTEXT_SIZE
+
+	#if ( __mips_hard_float == 1 ) && ( configUSE_TASK_FPU_SUPPORT == 1 )
+		/* Test if we are already using the system stack. Only tasks may use the
+		FPU so if we are already in a nested interrupt then the FPU context does
+		not require saving. */
+		la			k1, uxInterruptNesting
+		lw			k1, 0(k1)
+		bne			k1, zero, 2f
+		nop
+
+		/* Test if the current task needs the FPU context saving. */
+		la			k1, ulTaskHasFPUContext
+		lw			k1, 0(k1)
+		beq			k1, zero, 1f
+		nop
+
+		/* Adjust the stack to account for the additional FPU context.*/
+		addiu		sp, sp, -portFPU_CONTEXT_SIZE
+
+	1:
+		/* Save the ulTaskHasFPUContext flag. */
+		sw			k1, portTASK_HAS_FPU_STACK_LOCATION(sp)
+
+	2:
+	#endif
+
 	mfc0		k1, _CP0_STATUS
 
-	/* Also save s6 and s5 so they can be used.  Any nesting interrupts should
-	maintain the values of these registers across the ISR. */
+	/* Also save s7, s6 and s5 so they can be used.  Any nesting interrupts
+	should maintain the values of these registers across the ISR. */
+	sw			s7, 48(sp)
 	sw			s6, 44(sp)
 	sw			s5, 40(sp)
 	sw			k1, portSTATUS_STACK_LOCATION(sp)
@@ -173,6 +285,29 @@
 	mflo		s6, $ac0
 	sw			s6, 8(s5)
 
+	/* Save the FPU context if the nesting count was zero. */
+	#if ( __mips_hard_float == 1 ) && ( configUSE_TASK_FPU_SUPPORT == 1 )
+		la			s6, uxInterruptNesting
+		lw			s6, 0(s6)
+		addiu		s6, s6, -1
+		bne			s6, zero, 1f
+		nop
+
+		/* Test if the current task needs the FPU context saving. */
+		lw			s6, portTASK_HAS_FPU_STACK_LOCATION(s5)
+		beq			s6, zero, 1f
+		nop
+
+		/* Save the FPU registers. */
+		portSAVE_FPU_REGS ( portCONTEXT_SIZE + 8 ), s5
+
+		/* Save the FPU status register */
+		cfc1		s6, $f31
+		sw			s6, (portCONTEXT_SIZE + portFPCSR_STACK_LOCATION)(s5)
+
+		1:
+	#endif
+
 	/* Update the task stack pointer value if nesting is zero. */
 	la			s6, uxInterruptNesting
 	lw			s6, (s6)
@@ -199,8 +334,24 @@
 	la			s6, uxSavedTaskStackPointer
 	lw			s5, (s6)
 
+    #if ( __mips_hard_float == 1 ) && ( configUSE_TASK_FPU_SUPPORT == 1 )
+		/* Restore the FPU context if required. */
+		lw			s6, portTASK_HAS_FPU_STACK_LOCATION(s5)
+		beq			s6, zero, 1f
+		nop
+
+		/* Restore the FPU registers. */
+		portLOAD_FPU_REGS   ( portCONTEXT_SIZE + 8 ), s5
+
+		/* Restore the FPU status register. */
+		lw			s6, ( portCONTEXT_SIZE + portFPCSR_STACK_LOCATION )(s5)
+		ctc1		s6, $f31
+   	#endif
+
+1:
+
 	/* Restore the context. */
-1:	lw			s6, 128(s5)
+	lw			s6, 128(s5)
 	mthi		s6, $ac1
 	lw			s6, 124(s5)
 	mtlo		s6, $ac1
@@ -213,7 +364,7 @@
 	lw			s6, 144(s5)
 	mthi		s6, $ac3
 	lw			s6, 140(s5)
-	mtlo			s6, $ac3
+	mtlo		s6, $ac3
 
 	/* Restore DSPControl. */
 	lw			s6, 148(s5)
@@ -227,6 +378,7 @@
 
 	/* s6 is loaded as it was used as a scratch register and therefore saved
 	as part of the interrupt context. */
+	lw			s7, 48(s5)
 	lw			s6, 44(s5)
 	lw			v0, 52(s5)
 	lw			v1, 56(s5)
@@ -257,14 +409,60 @@
 	addiu		k1, k1, -1
 	sw			k1, 0(k0)
 
-	lw			k0, portSTATUS_STACK_LOCATION(s5)
-	lw			k1, portEPC_STACK_LOCATION(s5)
+	#if ( __mips_hard_float == 1 ) && ( configUSE_TASK_FPU_SUPPORT == 1 )
+		/* If the nesting count is now zero then the FPU context may be restored. */
+		bne			k1, zero, 1f
+		nop
 
-	/* Leave the stack in its original state.  First load sp from s5, then
-	restore s5 from the stack. */
-	add			sp, zero, s5
-	lw			s5, 40(sp)
-	addiu		sp, sp,	portCONTEXT_SIZE
+		/* Restore the value of ulTaskHasFPUContext */
+		la			k0, ulTaskHasFPUContext
+		lw			k1, 0(s5)
+		sw			k1, 0(k0)
+
+		/* If the task does not have an FPU context then adjust the stack normally. */
+		beq			k1, zero, 1f
+		nop
+
+		/* Restore the STATUS and EPC registers */
+		lw			k0, portSTATUS_STACK_LOCATION(s5)
+		lw			k1, portEPC_STACK_LOCATION(s5)
+
+		/* Leave the stack in its original state.  First load sp from s5, then
+		restore s5 from the stack. */
+		add			sp, zero, s5
+		lw			s5, 40(sp)
+
+		/* Adjust the stack pointer to remove the FPU context */
+		addiu		sp, sp,	portFPU_CONTEXT_SIZE
+		beq			zero, zero, 2f
+		nop
+
+		1:  /* Restore the STATUS and EPC registers */
+		lw			k0, portSTATUS_STACK_LOCATION(s5)
+		lw			k1, portEPC_STACK_LOCATION(s5)
+
+		/* Leave the stack in its original state.  First load sp from s5, then
+		restore s5 from the stack. */
+		add			sp, zero, s5
+		lw			s5, 40(sp)
+
+		2:  /* Adjust the stack pointer */
+		addiu		sp, sp, portCONTEXT_SIZE
+
+	#else
+
+		/* Restore the frame when there is no hardware FP support. */
+		lw			k0, portSTATUS_STACK_LOCATION(s5)
+		lw			k1, portEPC_STACK_LOCATION(s5)
+
+		/* Leave the stack in its original state.  First load sp from s5, then
+		restore s5 from the stack. */
+		add			sp, zero, s5
+		lw			s5, 40(sp)
+
+		addiu		sp, sp,	portCONTEXT_SIZE
+
+	#endif // ( __mips_hard_float == 1 ) && ( configUSE_TASK_FPU_SUPPORT == 1 )
 
 	mtc0		k0, _CP0_STATUS
 	mtc0 		k1, _CP0_EPC
diff --git a/FreeRTOS/Source/portable/MPLAB/PIC32MZ/port.c b/FreeRTOS/Source/portable/MPLAB/PIC32MZ/port.c
index db16867..26d7e85 100644
--- a/FreeRTOS/Source/portable/MPLAB/PIC32MZ/port.c
+++ b/FreeRTOS/Source/portable/MPLAB/PIC32MZ/port.c
@@ -93,6 +93,8 @@
 #define portIE_BIT					( 0x00000001 )
 #define portEXL_BIT					( 0x00000002 )
 #define portMX_BIT					( 0x01000000 ) /* Allow access to DSP instructions. */
+#define portCU1_BIT					( 0x20000000 ) /* enable CP1 for parts with hardware. */
+#define portFR_BIT					( 0x04000000 ) /* Enable 64 bit floating point registers. */
 
 /* Bits within the CAUSE register. */
 #define portCORE_SW_0				( 0x00000100 )
@@ -100,7 +102,16 @@
 
 /* The EXL bit is set to ensure interrupts do not occur while the context of
 the first task is being restored. */
-#define portINITIAL_SR				( portIE_BIT | portEXL_BIT | portMX_BIT )
+#if ( __mips_hard_float == 1 )
+    #define portINITIAL_SR			( portIE_BIT | portEXL_BIT | portMX_BIT | portFR_BIT | portCU1_BIT )
+#else
+    #define portINITIAL_SR			( portIE_BIT | portEXL_BIT | portMX_BIT )
+#endif
+
+/* The initial value to store into the FPU status and control register. This is
+ only used on parts that support a hardware FPU. */
+#define portINITIAL_FPSCR			(0x1000000) /* High perf on denormal ops */
+
 
 /*
 By default port.c generates its tick interrupt from TIMER1.  The user can
@@ -184,6 +195,12 @@
 the callers stack, as some functions seem to want to do this. */
 const StackType_t * const xISRStackTop = &( xISRStack[ configISR_STACK_SIZE - 7 ] );
 
+/* Saved as part of the task context. Set to pdFALSE if the task does not
+ require an FPU context. */
+#if ( __mips_hard_float == 1 ) && ( configUSE_TASK_FPU_SUPPORT == 1 )
+	uint32_t ulTaskHasFPUContext = 0;
+#endif
+
 /*-----------------------------------------------------------*/
 
 /*
@@ -191,7 +208,8 @@
  */
 StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters )
 {
-	/* Ensure byte alignment is maintained when leaving this function. */
+	/* Ensure 8 byte alignment is maintained when leaving this function. */
+	pxTopOfStack--;
 	pxTopOfStack--;
 
 	*pxTopOfStack = (StackType_t) 0xDEADBEEF;
@@ -207,10 +225,10 @@
 	pxTopOfStack--;
 
 	*pxTopOfStack = (StackType_t) pxCode; 		/* CP0_EPC */
-	pxTopOfStack -= 7;  							/* Includes space for AC1 - AC3. */
-
-	*pxTopOfStack = (StackType_t) 0x00000000;	/* DSPControl */
 	pxTopOfStack--;
+    
+	*pxTopOfStack = (StackType_t) 0x00000000;	/* DSPControl */    
+	pxTopOfStack -= 7;  						/* Includes space for AC1 - AC3. */
 
 	*pxTopOfStack = (StackType_t) portTASK_RETURN_ADDRESS;	/* ra */
 	pxTopOfStack -= 15;
@@ -218,6 +236,8 @@
 	*pxTopOfStack = (StackType_t) pvParameters; /* Parameters to pass in. */
 	pxTopOfStack -= 15;
 
+	*pxTopOfStack = (StackType_t) pdFALSE; /*by default disable FPU context save on parts with FPU */
+    
 	return pxTopOfStack;
 }
 /*-----------------------------------------------------------*/
@@ -361,6 +381,27 @@
 }
 /*-----------------------------------------------------------*/
 
+#if ( __mips_hard_float == 1 ) && ( configUSE_TASK_FPU_SUPPORT == 1 )
+
+	void vPortTaskUsesFPU(void)
+	{
+	extern void vPortInitialiseFPSCR( uint32_t uxFPSCRInit );
+
+		portENTER_CRITICAL();
+    
+		/* Initialise the floating point status register. */
+		vPortInitialiseFPSCR(portINITIAL_FPSCR);  
+    
+		/* A task is registering the fact that it needs a FPU context. Set the
+		FPU flag (saved as part of the task context). */
+		ulTaskHasFPUContext = pdTRUE;
+    
+		portEXIT_CRITICAL();
+	}
+
+#endif /* __mips_hard_float == 1 */
+
+/*-----------------------------------------------------------*/
 
 
 
diff --git a/FreeRTOS/Source/portable/MPLAB/PIC32MZ/port_asm.S b/FreeRTOS/Source/portable/MPLAB/PIC32MZ/port_asm.S
index 05da997..c6bf4a3 100644
--- a/FreeRTOS/Source/portable/MPLAB/PIC32MZ/port_asm.S
+++ b/FreeRTOS/Source/portable/MPLAB/PIC32MZ/port_asm.S
@@ -77,10 +77,12 @@
 	.extern vTaskSwitchContext
 	.extern vPortIncrementTick
 	.extern xISRStackTop
+	.extern ulTaskHasFPUContext
 
 	.global vPortStartFirstTask
 	.global vPortYieldISR
 	.global vPortTickInterruptHandler
+	.global vPortInitialiseFPSCR
 
 
 /******************************************************************/
@@ -189,228 +191,621 @@
 	.ent  vPortYieldISR
 vPortYieldISR:
 
-	/* Make room for the context. First save the current status so it can be
-	manipulated, and the cause and EPC registers so thier original values are
-	captured. */
-	addiu		sp, sp, -portCONTEXT_SIZE
-	mfc0		k1, _CP0_STATUS
+	#if ( __mips_hard_float == 1 ) && ( configUSE_TASK_FPU_SUPPORT == 1 )
+		/* Code sequence for FPU support, the context save requires advance
+		knowledge of the stack frame size and if the current task actually uses the 
+		FPU. */
 
-	/* Also save s6 and s5 so they can be used.  Any nesting interrupts should
-	maintain the values of these registers across the ISR. */
-	sw			s6, 44(sp)
-	sw			s5, 40(sp)
-	sw			k1, portSTATUS_STACK_LOCATION(sp)
+		/* Make room for the context. First save the current status so it can be
+		manipulated, and the cause and EPC registers so their original values are
+		captured. */
+		la		k0, ulTaskHasFPUContext
+		lw		k0, 0(k0)
+		beq		k0, zero, 1f
+		addiu	sp, sp, -portCONTEXT_SIZE	/* always reserve space for the context. */
+		addiu	sp, sp, -portFPU_CONTEXT_SIZE	/* reserve additional space for the FPU context. */
+	1:
+		mfc0	k1, _CP0_STATUS
 
-	/* Prepare to re-enabled interrupts above the kernel priority. */
-	ins 		k1, zero, 10, 7         /* Clear IPL bits 0:6. */
-    ins 		k1, zero, 18, 1         /* Clear IPL bit 7.  It would be an error here if this bit were set anyway. */
-	ori			k1, k1, ( configMAX_SYSCALL_INTERRUPT_PRIORITY << 10 )
-    ins			k1, zero, 1, 4          /* Clear EXL, ERL and UM. */
+		/* Also save s6 and s5 so they can be used.  Any nesting interrupts should
+		maintain the values of these registers across the ISR. */
+		sw		s6, 44(sp)
+		sw		s5, 40(sp)
+		sw		k1, portSTATUS_STACK_LOCATION(sp)
+		sw		k0, portTASK_HAS_FPU_STACK_LOCATION(sp)
 
-	/* s5 is used as the frame pointer. */
-	add			s5, zero, sp
+		/* Prepare to re-enabled interrupts above the kernel priority. */
+		ins 	k1, zero, 10, 7         /* Clear IPL bits 0:6. */
+		ins 	k1, zero, 18, 1         /* Clear IPL bit 7.  It would be an error here if this bit were set anyway. */
+		ori		k1, k1, ( configMAX_SYSCALL_INTERRUPT_PRIORITY << 10 )
+		ins		k1, zero, 1, 4          /* Clear EXL, ERL and UM. */
 
-	/* Swap to the system stack.  This is not conditional on the nesting
-	count as this interrupt is always the lowest priority and therefore
-	the nesting is always 0. */
-	la			sp, xISRStackTop
-	lw			sp, (sp)
+		/* s5 is used as the frame pointer. */
+		add		s5, zero, sp
 
-	/* Set the nesting count. */
-	la			k0, uxInterruptNesting
-	addiu		s6, zero, 1
-	sw			s6, 0(k0)
+		/* Swap to the system stack.  This is not conditional on the nesting
+		count as this interrupt is always the lowest priority and therefore
+		the nesting is always 0. */
+		la		sp, xISRStackTop
+		lw		sp, (sp)
 
-	/* s6 holds the EPC value, this is saved with the rest of the context
-	after interrupts are enabled. */
-	mfc0 		s6, _CP0_EPC
+		/* Set the nesting count. */
+		la		k0, uxInterruptNesting
+		addiu	s6, zero, 1
+		sw		s6, 0(k0)
 
-	/* Re-enable interrupts above configMAX_SYSCALL_INTERRUPT_PRIORITY. */
-	mtc0		k1, _CP0_STATUS
+		/* s6 holds the EPC value, this is saved with the rest of the context
+		after interrupts are enabled. */
+		mfc0 	s6, _CP0_EPC
 
-	/* Save the context into the space just created.  s6 is saved again
-	here as it now contains the EPC value. */
-	sw			ra, 120(s5)
-	sw			s8, 116(s5)
-	sw			t9, 112(s5)
-	sw			t8, 108(s5)
-	sw			t7, 104(s5)
-	sw			t6, 100(s5)
-	sw			t5, 96(s5)
-	sw			t4, 92(s5)
-	sw			t3, 88(s5)
-	sw			t2, 84(s5)
-	sw			t1, 80(s5)
-	sw			t0, 76(s5)
-	sw			a3, 72(s5)
-	sw			a2, 68(s5)
-	sw			a1, 64(s5)
-	sw			a0, 60(s5)
-	sw			v1, 56(s5)
-	sw			v0, 52(s5)
-	sw			s7, 48(s5)
-	sw			s6, portEPC_STACK_LOCATION(s5)
-	/* s5 and s6 has already been saved. */
-	sw			s4,	36(s5)
-	sw			s3, 32(s5)
-	sw			s2, 28(s5)
-	sw			s1, 24(s5)
-	sw			s0, 20(s5)
-	sw			$1, 16(s5)
+		/* Re-enable interrupts above configMAX_SYSCALL_INTERRUPT_PRIORITY. */
+		mtc0	k1, _CP0_STATUS
 
-	/* s7 is used as a scratch register as this should always be saved across
-	nesting interrupts. */
+		/* Save the context into the space just created.  s6 is saved again
+		here as it now contains the EPC value. */
+		sw		ra, 120(s5)
+		sw		s8, 116(s5)
+		sw		t9, 112(s5)
+		sw		t8, 108(s5)
+		sw		t7, 104(s5)
+		sw		t6, 100(s5)
+		sw		t5, 96(s5)
+		sw		t4, 92(s5)
+		sw		t3, 88(s5)
+		sw		t2, 84(s5)
+		sw		t1, 80(s5)
+		sw		t0, 76(s5)
+		sw		a3, 72(s5)
+		sw		a2, 68(s5)
+		sw		a1, 64(s5)
+		sw		a0, 60(s5)
+		sw		v1, 56(s5)
+		sw		v0, 52(s5)
+		sw		s7, 48(s5)
+		sw		s6, portEPC_STACK_LOCATION(s5)
+		/* s5 and s6 has already been saved. */
+		sw		s4, 36(s5)
+		sw		s3, 32(s5)
+		sw		s2, 28(s5)
+		sw		s1, 24(s5)
+		sw		s0, 20(s5)
+		sw		$1, 16(s5)
 
-	/* Save the AC0, AC1, AC2 and AC3. */
-	mfhi		s7, $ac1
-	sw			s7, 128(s5)
-	mflo		s7, $ac1
-	sw			s7, 124(s5)
+		/* s7 is used as a scratch register as this should always be saved across
+		nesting interrupts. */
 
-	mfhi		s7, $ac2
-	sw			s7, 136(s5)
-	mflo		s7, $ac2
-	sw			s7, 132(s5)
+		/* Save the AC0, AC1, AC2 and AC3. */
+		mfhi	s7, $ac1
+		sw		s7, 128(s5)
+		mflo	s7, $ac1
+		sw		s7, 124(s5)
 
-	mfhi		s7, $ac3
-	sw			s7, 144(s5)
-	mflo		s7, $ac3
-	sw			s7, 140(s5)
+		mfhi	s7, $ac2
+		sw		s7, 136(s5)
+		mflo	s7, $ac2
+		sw		s7, 132(s5)
 
-	rddsp		s7
-	sw			s7, 148(s5)
+		mfhi	s7, $ac3
+		sw		s7, 144(s5)
+		mflo	s7, $ac3
+		sw		s7, 140(s5)
 
-	mfhi		s7, $ac0
-	sw			s7, 12(s5)
-	mflo		s7, $ac0
-	sw			s7, 8(s5)
+		rddsp	s7
+		sw		s7, 148(s5)
 
-	/* Save the stack pointer to the task. */
-	la			s7, pxCurrentTCB
-	lw			s7, (s7)
-	sw			s5, (s7)
+		mfhi	s7, $ac0
+		sw		s7, 12(s5)
+		mflo	s7, $ac0
+		sw		s7, 8(s5)
 
-	/* Set the interrupt mask to the max priority that can use the API.  The
-	yield handler will only be called at configKERNEL_INTERRUPT_PRIORITY which
-	is below configMAX_SYSCALL_INTERRUPT_PRIORITY - so this can only ever
-	raise the IPL value and never lower it. */
-	di
-	ehb
-	mfc0		s7, _CP0_STATUS
-	ins 		s7, zero, 10, 7
-    ins 		s7, zero, 18, 1
-	ori			s6, s7, ( configMAX_SYSCALL_INTERRUPT_PRIORITY << 10 ) | 1
+		/* Test if FPU context save is required. */
+		lw		s7, portTASK_HAS_FPU_STACK_LOCATION(s5)
+		beq		s7, zero, 1f
+		nop
 
-	/* This mtc0 re-enables interrupts, but only above
-	configMAX_SYSCALL_INTERRUPT_PRIORITY. */
-	mtc0		s6, _CP0_STATUS
-	ehb
+		/* Save the FPU registers above the normal context. */
+		portSAVE_FPU_REGS   (portCONTEXT_SIZE + 8), s5
 
-	/* Clear the software interrupt in the core. */
-	mfc0		s6, _CP0_CAUSE
-	ins			s6, zero, 8, 1
-	mtc0		s6, _CP0_CAUSE
-	ehb
+		/* Save the FPU status register */
+		cfc1	s7, $f31
+		sw		s7, ( portCONTEXT_SIZE + portFPCSR_STACK_LOCATION )(s5)
 
-	/* Clear the interrupt in the interrupt controller. */
-	la			s6, IFS0CLR
-	addiu		s4, zero, 2
-	sw			s4, (s6)
+	1:
+		/* Save the stack pointer to the task. */
+		la		s7, pxCurrentTCB
+		lw		s7, (s7)
+		sw		s5, (s7)
 
-	jal			vTaskSwitchContext
-	nop
+		/* Set the interrupt mask to the max priority that can use the API.  The
+		yield handler will only be called at configKERNEL_INTERRUPT_PRIORITY which
+		is below configMAX_SYSCALL_INTERRUPT_PRIORITY - so this can only ever
+		raise the IPL value and never lower it. */
+		di
+		ehb
+		mfc0	s7, _CP0_STATUS
+		ins 	s7, zero, 10, 7
+		ins 	s7, zero, 18, 1
+		ori		s6, s7, ( configMAX_SYSCALL_INTERRUPT_PRIORITY << 10 ) | 1
 
-	/* Clear the interrupt mask again.  The saved status value is still in s7. */
-	mtc0		s7, _CP0_STATUS
-	ehb
+		/* This mtc0 re-enables interrupts, but only above
+		configMAX_SYSCALL_INTERRUPT_PRIORITY. */
+		mtc0	s6, _CP0_STATUS
+		ehb
 
-	/* Restore the stack pointer from the TCB. */
-	la			s0, pxCurrentTCB
-	lw			s0, (s0)
-	lw			s5, (s0)
+		/* Clear the software interrupt in the core. */
+		mfc0	s6, _CP0_CAUSE
+		ins		s6, zero, 8, 1
+		mtc0	s6, _CP0_CAUSE
+		ehb
 
-	/* Restore the rest of the context. */
-	lw			s0, 128(s5)
-	mthi		s0, $ac1
-	lw			s0, 124(s5)
-	mtlo		s0, $ac1
+		/* Clear the interrupt in the interrupt controller. */
+		la		s6, IFS0CLR
+		addiu	s4, zero, 2
+		sw		s4, (s6)
 
-	lw			s0, 136(s5)
-	mthi		s0, $ac2
-	lw			s0, 132(s5)
-	mtlo		s0, $ac2
+		jal		vTaskSwitchContext
+		nop
 
-	lw			s0, 144(s5)
-	mthi		s0, $ac3
-	lw			s0, 140(s5)
-	mtlo		s0, $ac3
+		/* Clear the interrupt mask again.  The saved status value is still in s7. */
+		mtc0	s7, _CP0_STATUS
+		ehb
 
-	lw			s0, 148(s5)
-	wrdsp		s0
+		/* Restore the stack pointer from the TCB. */
+		la		s0, pxCurrentTCB
+		lw		s0, (s0)
+		lw		s5, (s0)
 
-	lw			s0, 8(s5)
-	mtlo		s0, $ac0
-	lw			s0, 12(s5)
-	mthi		s0, $ac0
+		/* Test if the FPU context needs restoring. */
+		lw		s0, portTASK_HAS_FPU_STACK_LOCATION(s5)
+		beq		s0, zero, 1f
+		nop
 
-	lw			$1, 16(s5)
-	lw			s0, 20(s5)
-	lw			s1, 24(s5)
-	lw			s2, 28(s5)
-	lw			s3, 32(s5)
-	lw			s4, 36(s5)
+		/* Restore the FPU status register. */
+		lw		s0, ( portCONTEXT_SIZE + portFPCSR_STACK_LOCATION )(s5)
+		ctc1	s0, $f31
 
-	/* s5 is loaded later. */
-	lw			s6, 44(s5)
-	lw			s7, 48(s5)
-	lw			v0, 52(s5)
-	lw			v1, 56(s5)
-	lw			a0, 60(s5)
-	lw			a1, 64(s5)
-	lw			a2, 68(s5)
-	lw			a3, 72(s5)
-	lw			t0, 76(s5)
-	lw			t1, 80(s5)
-	lw			t2, 84(s5)
-	lw			t3, 88(s5)
-	lw			t4, 92(s5)
-	lw			t5, 96(s5)
-	lw			t6, 100(s5)
-	lw			t7, 104(s5)
-	lw			t8, 108(s5)
-	lw			t9, 112(s5)
-	lw			s8, 116(s5)
-	lw			ra, 120(s5)
+		/* Restore the FPU registers. */
+		portLOAD_FPU_REGS   ( portCONTEXT_SIZE + 8 ), s5
 
-	/* Protect access to the k registers, and others. */
-	di
-	ehb
+	1:
+		/* Restore the rest of the context. */
+		lw		s0, 128(s5)
+		mthi	s0, $ac1
+		lw		s0, 124(s5)
+		mtlo		s0, $ac1
 
-	/* Set nesting back to zero.  As the lowest priority interrupt this
-	interrupt cannot have nested. */
-	la			k0, uxInterruptNesting
-	sw			zero, 0(k0)
+		lw		s0, 136(s5)
+		mthi	s0, $ac2
+		lw		s0, 132(s5)
+		mtlo	s0, $ac2
 
-	/* Switch back to use the real stack pointer. */
-	add			sp, zero, s5
+		lw		s0, 144(s5)
+		mthi	s0, $ac3
+		lw		s0, 140(s5)
+		mtlo	s0, $ac3
 
-	/* Restore the real s5 value. */
-	lw			s5, 40(sp)
+		lw		s0, 148(s5)
+		wrdsp	s0
 
-	/* Pop the status and epc values. */
-	lw			k1, portSTATUS_STACK_LOCATION(sp)
-	lw			k0, portEPC_STACK_LOCATION(sp)
+		lw		s0, 8(s5)
+		mtlo	s0, $ac0
+		lw		s0, 12(s5)
+		mthi	s0, $ac0
 
-	/* Remove stack frame. */
-	addiu		sp, sp, portCONTEXT_SIZE
+		lw		$1, 16(s5)
+		lw		s0, 20(s5)
+		lw		s1, 24(s5)
+		lw		s2, 28(s5)
+		lw		s3, 32(s5)
+		lw		s4, 36(s5)
 
-	mtc0		k1, _CP0_STATUS
-	mtc0 		k0, _CP0_EPC
+		/* s5 is loaded later. */
+		lw		s6, 44(s5)
+		lw		s7, 48(s5)
+		lw		v0, 52(s5)
+		lw		v1, 56(s5)
+		lw		a0, 60(s5)
+		lw		a1, 64(s5)
+		lw		a2, 68(s5)
+		lw		a3, 72(s5)
+		lw		t0, 76(s5)
+		lw		t1, 80(s5)
+		lw		t2, 84(s5)
+		lw		t3, 88(s5)
+		lw		t4, 92(s5)
+		lw		t5, 96(s5)
+		lw		t6, 100(s5)
+		lw		t7, 104(s5)
+		lw		t8, 108(s5)
+		lw		t9, 112(s5)
+		lw		s8, 116(s5)
+		lw		ra, 120(s5)
+
+		/* Protect access to the k registers, and others. */
+		di
+		ehb
+
+		/* Set nesting back to zero.  As the lowest priority interrupt this
+		interrupt cannot have nested. */
+		la		k0, uxInterruptNesting
+		sw		zero, 0(k0)
+
+		/* Switch back to use the real stack pointer. */
+		add		sp, zero, s5
+
+		/* Restore the real s5 value. */
+		lw		s5, 40(sp)
+
+		/* Pop the FPU context value from the stack */
+		lw		k0, portTASK_HAS_FPU_STACK_LOCATION(sp)
+		la		k1, ulTaskHasFPUContext
+		sw		k0, 0(k1)
+		beq		k0, zero, 1f
+		nop
+
+		/* task has FPU context so adjust the stack frame after popping the
+		status and epc values. */
+		lw		k1, portSTATUS_STACK_LOCATION(sp)
+		lw		k0, portEPC_STACK_LOCATION(sp)
+		addiu	sp, sp, portFPU_CONTEXT_SIZE
+		beq		zero, zero, 2f
+		nop
+
+	1:
+		/* Pop the status and epc values. */
+		lw		k1, portSTATUS_STACK_LOCATION(sp)
+		lw		k0, portEPC_STACK_LOCATION(sp)
+
+	2:
+		/* Remove stack frame. */
+		addiu	sp, sp, portCONTEXT_SIZE
+
+	#else
+		/* Code sequence for no FPU support, the context save requires advance
+		knowledge of the stack frame size when no FPU is being used */
+
+		/* Make room for the context. First save the current status so it can be
+		manipulated, and the cause and EPC registers so thier original values are
+		captured. */
+		addiu	sp, sp, -portCONTEXT_SIZE
+		mfc0	k1, _CP0_STATUS
+
+		/* Also save s6 and s5 so they can be used.  Any nesting interrupts should
+		maintain the values of these registers across the ISR. */
+		sw		s6, 44(sp)
+		sw		s5, 40(sp)
+		sw		k1, portSTATUS_STACK_LOCATION(sp)
+
+		/* Prepare to re-enabled interrupts above the kernel priority. */
+		ins 	k1, zero, 10, 7         /* Clear IPL bits 0:6. */
+		ins 	k1, zero, 18, 1         /* Clear IPL bit 7.  It would be an error here if this bit were set anyway. */
+		ori		k1, k1, ( configMAX_SYSCALL_INTERRUPT_PRIORITY << 10 )
+		ins		k1, zero, 1, 4          /* Clear EXL, ERL and UM. */
+
+		/* s5 is used as the frame pointer. */
+		add		s5, zero, sp
+
+		/* Swap to the system stack.  This is not conditional on the nesting
+		count as this interrupt is always the lowest priority and therefore
+		the nesting is always 0. */
+		la		sp, xISRStackTop
+		lw		sp, (sp)
+
+		/* Set the nesting count. */
+		la		k0, uxInterruptNesting
+		addiu	s6, zero, 1
+		sw		s6, 0(k0)
+
+		/* s6 holds the EPC value, this is saved with the rest of the context
+		after interrupts are enabled. */
+		mfc0 	s6, _CP0_EPC
+
+		/* Re-enable interrupts above configMAX_SYSCALL_INTERRUPT_PRIORITY. */
+		mtc0	k1, _CP0_STATUS
+
+		/* Save the context into the space just created.  s6 is saved again
+		here as it now contains the EPC value. */
+		sw		ra, 120(s5)
+		sw		s8, 116(s5)
+		sw		t9, 112(s5)
+		sw		t8, 108(s5)
+		sw		t7, 104(s5)
+		sw		t6, 100(s5)
+		sw		t5, 96(s5)
+		sw		t4, 92(s5)
+		sw		t3, 88(s5)
+		sw		t2, 84(s5)
+		sw		t1, 80(s5)
+		sw		t0, 76(s5)
+		sw		a3, 72(s5)
+		sw		a2, 68(s5)
+		sw		a1, 64(s5)
+		sw		a0, 60(s5)
+		sw		v1, 56(s5)
+		sw		v0, 52(s5)
+		sw		s7, 48(s5)
+		sw		s6, portEPC_STACK_LOCATION(s5)
+		/* s5 and s6 has already been saved. */
+		sw		s4, 36(s5)
+		sw		s3, 32(s5)
+		sw		s2, 28(s5)
+		sw		s1, 24(s5)
+		sw		s0, 20(s5)
+		sw		$1, 16(s5)
+
+		/* s7 is used as a scratch register as this should always be saved across
+		nesting interrupts. */
+
+		/* Save the AC0, AC1, AC2 and AC3. */
+		mfhi	s7, $ac1
+		sw		s7, 128(s5)
+		mflo	s7, $ac1
+		sw		s7, 124(s5)
+
+		mfhi	s7, $ac2
+		sw		s7, 136(s5)
+		mflo	s7, $ac2
+		sw		s7, 132(s5)
+
+		mfhi	s7, $ac3
+		sw		s7, 144(s5)
+		mflo	s7, $ac3
+		sw		s7, 140(s5)
+
+		rddsp	s7
+		sw		s7, 148(s5)
+
+		mfhi	s7, $ac0
+		sw		s7, 12(s5)
+		mflo	s7, $ac0
+		sw		s7, 8(s5)
+
+		/* Save the stack pointer to the task. */
+		la		s7, pxCurrentTCB
+		lw		s7, (s7)
+		sw		s5, (s7)
+
+		/* Set the interrupt mask to the max priority that can use the API.  The
+		yield handler will only be called at configKERNEL_INTERRUPT_PRIORITY which
+		is below configMAX_SYSCALL_INTERRUPT_PRIORITY - so this can only ever
+		raise the IPL value and never lower it. */
+		di
+		ehb
+		mfc0	s7, _CP0_STATUS
+		ins 	s7, zero, 10, 7
+		ins 	s7, zero, 18, 1
+		ori		s6, s7, ( configMAX_SYSCALL_INTERRUPT_PRIORITY << 10 ) | 1
+
+		/* This mtc0 re-enables interrupts, but only above
+		configMAX_SYSCALL_INTERRUPT_PRIORITY. */
+		mtc0	s6, _CP0_STATUS
+		ehb
+
+		/* Clear the software interrupt in the core. */
+		mfc0	s6, _CP0_CAUSE
+		ins		s6, zero, 8, 1
+		mtc0	s6, _CP0_CAUSE
+		ehb
+
+		/* Clear the interrupt in the interrupt controller. */
+		la		s6, IFS0CLR
+		addiu	s4, zero, 2
+		sw		s4, (s6)
+
+		jal		vTaskSwitchContext
+		nop
+
+		/* Clear the interrupt mask again.  The saved status value is still in s7. */
+		mtc0	s7, _CP0_STATUS
+		ehb
+
+		/* Restore the stack pointer from the TCB. */
+		la		s0, pxCurrentTCB
+		lw		s0, (s0)
+		lw		s5, (s0)
+
+		/* Restore the rest of the context. */
+		lw		s0, 128(s5)
+		mthi	s0, $ac1
+		lw		s0, 124(s5)
+		mtlo	s0, $ac1
+
+		lw		s0, 136(s5)
+		mthi	s0, $ac2
+		lw		s0, 132(s5)
+		mtlo	s0, $ac2
+
+		lw		s0, 144(s5)
+		mthi	s0, $ac3
+		lw		s0, 140(s5)
+		mtlo	s0, $ac3
+
+		lw		s0, 148(s5)
+		wrdsp	s0
+
+		lw		s0, 8(s5)
+		mtlo	s0, $ac0
+		lw		s0, 12(s5)
+		mthi	s0, $ac0
+
+		lw		$1, 16(s5)
+		lw		s0, 20(s5)
+		lw		s1, 24(s5)
+		lw		s2, 28(s5)
+		lw		s3, 32(s5)
+		lw		s4, 36(s5)
+
+		/* s5 is loaded later. */
+		lw		s6, 44(s5)
+		lw		s7, 48(s5)
+		lw		v0, 52(s5)
+		lw		v1, 56(s5)
+		lw		a0, 60(s5)
+		lw		a1, 64(s5)
+		lw		a2, 68(s5)
+		lw		a3, 72(s5)
+		lw		t0, 76(s5)
+		lw		t1, 80(s5)
+		lw		t2, 84(s5)
+		lw		t3, 88(s5)
+		lw		t4, 92(s5)
+		lw		t5, 96(s5)
+		lw		t6, 100(s5)
+		lw		t7, 104(s5)
+		lw		t8, 108(s5)
+		lw		t9, 112(s5)
+		lw		s8, 116(s5)
+		lw		ra, 120(s5)
+
+		/* Protect access to the k registers, and others. */
+		di
+		ehb
+
+		/* Set nesting back to zero.  As the lowest priority interrupt this
+		interrupt cannot have nested. */
+		la		k0, uxInterruptNesting
+		sw		zero, 0(k0)
+
+		/* Switch back to use the real stack pointer. */
+		add		sp, zero, s5
+
+		/* Restore the real s5 value. */
+		lw		s5, 40(sp)
+
+		/* Pop the status and epc values. */
+		lw		k1, portSTATUS_STACK_LOCATION(sp)
+		lw		k0, portEPC_STACK_LOCATION(sp)
+
+		/* Remove stack frame. */
+		addiu	sp, sp, portCONTEXT_SIZE
+
+	#endif /* ( __mips_hard_float == 1 ) && ( configUSE_TASK_FPU_SUPPORT == 1 ) */
+
+	/* Restore the status and EPC registers and return */
+	mtc0	k1, _CP0_STATUS
+	mtc0 	k0, _CP0_EPC
 	ehb
 	eret
 	nop
 
-	.end		vPortYieldISR
+	.end	vPortYieldISR
+
+/******************************************************************/
+
+#if ( __mips_hard_float == 1 ) && ( configUSE_TASK_FPU_SUPPORT == 1 )
+
+	.macro portFPUSetAndInc reg, dest
+	mtc1	\reg, \dest
+	cvt.d.w	\dest, \dest
+	addiu	\reg, \reg, 1
+	.endm
+
+	.set	noreorder
+	.set 	noat
+	.section .text, code
+	.ent	vPortInitialiseFPSCR
+
+vPortInitialiseFPSCR:
+
+	/* Initialize the floating point status register in CP1. The initial
+	value is passed in a0. */
+	ctc1		a0, $f31
+
+	/* Clear the FPU registers */
+	addiu			a0, zero, 0x0000
+	portFPUSetAndInc	a0, $f0
+	portFPUSetAndInc	a0, $f1
+	portFPUSetAndInc	a0, $f2
+	portFPUSetAndInc	a0, $f3
+	portFPUSetAndInc	a0, $f4
+	portFPUSetAndInc	a0, $f5
+	portFPUSetAndInc	a0, $f6
+	portFPUSetAndInc	a0, $f7
+	portFPUSetAndInc	a0, $f8
+	portFPUSetAndInc	a0, $f9
+	portFPUSetAndInc	a0, $f10
+	portFPUSetAndInc	a0, $f11
+	portFPUSetAndInc	a0, $f12
+	portFPUSetAndInc	a0, $f13
+	portFPUSetAndInc	a0, $f14
+	portFPUSetAndInc	a0, $f15
+	portFPUSetAndInc	a0, $f16
+	portFPUSetAndInc	a0, $f17
+	portFPUSetAndInc	a0, $f18
+	portFPUSetAndInc	a0, $f19
+	portFPUSetAndInc	a0, $f20
+	portFPUSetAndInc	a0, $f21
+	portFPUSetAndInc	a0, $f22
+	portFPUSetAndInc	a0, $f23
+	portFPUSetAndInc	a0, $f24
+	portFPUSetAndInc	a0, $f25
+	portFPUSetAndInc	a0, $f26
+	portFPUSetAndInc	a0, $f27
+	portFPUSetAndInc	a0, $f28
+	portFPUSetAndInc	a0, $f29
+	portFPUSetAndInc	a0, $f30
+	portFPUSetAndInc	a0, $f31
+
+	jr		ra
+	nop
+
+	.end vPortInitialiseFPSCR
+
+#endif /* ( __mips_hard_float == 1 ) && ( configUSE_TASK_FPU_SUPPORT == 1 ) */
+	
+#if ( __mips_hard_float == 1 ) && ( configUSE_TASK_FPU_SUPPORT == 1 )
+
+	/**********************************************************************/
+	/* Test read back								*/
+	/* a0 = address to store registers				*/
+
+	.set		noreorder
+	.set 		noat
+	.section	.text, code
+	.ent		vPortFPUReadback
+	.global		vPortFPUReadback
+
+vPortFPUReadback:
+	sdc1		$f0, 0(a0)
+	sdc1		$f1, 8(a0)
+	sdc1		$f2, 16(a0)
+	sdc1		$f3, 24(a0)
+	sdc1		$f4, 32(a0)
+	sdc1		$f5, 40(a0)
+	sdc1		$f6, 48(a0)
+	sdc1		$f7, 56(a0)
+	sdc1		$f8, 64(a0)
+	sdc1		$f9, 72(a0)
+	sdc1		$f10, 80(a0)
+	sdc1		$f11, 88(a0)
+	sdc1		$f12, 96(a0)
+	sdc1		$f13, 104(a0)
+	sdc1		$f14, 112(a0)
+	sdc1		$f15, 120(a0)
+	sdc1		$f16, 128(a0)
+	sdc1		$f17, 136(a0)
+	sdc1		$f18, 144(a0)
+	sdc1		$f19, 152(a0)
+	sdc1		$f20, 160(a0)
+	sdc1		$f21, 168(a0)
+	sdc1		$f22, 176(a0)
+	sdc1		$f23, 184(a0)
+	sdc1		$f24, 192(a0)
+	sdc1		$f25, 200(a0)
+	sdc1		$f26, 208(a0)
+	sdc1		$f27, 216(a0)
+	sdc1		$f28, 224(a0)
+	sdc1		$f29, 232(a0)
+	sdc1		$f30, 240(a0)
+	sdc1		$f31, 248(a0)
+
+	jr		ra
+	nop
+
+	.end vPortFPUReadback
+
+#endif /* ( __mips_hard_float == 1 ) && ( configUSE_TASK_FPU_SUPPORT == 1 ) */
+
 
 
 
diff --git a/FreeRTOS/Source/portable/MPLAB/PIC32MZ/portmacro.h b/FreeRTOS/Source/portable/MPLAB/PIC32MZ/portmacro.h
index 7b5034f..e400070 100644
--- a/FreeRTOS/Source/portable/MPLAB/PIC32MZ/portmacro.h
+++ b/FreeRTOS/Source/portable/MPLAB/PIC32MZ/portmacro.h
@@ -183,6 +183,15 @@
 #define portSET_INTERRUPT_MASK_FROM_ISR() uxPortSetInterruptMaskFromISR()
 #define portCLEAR_INTERRUPT_MASK_FROM_ISR( uxSavedStatusRegister ) vPortClearInterruptMaskFromISR( uxSavedStatusRegister )
 
+#if ( __mips_hard_float == 0 ) && ( configUSE_TASK_FPU_SUPPORT == 1 )
+    #error configUSE_TASK_FPU_SUPPORT can only be set to 1 when the part supports a hardware FPU module.
+#endif
+
+#if ( __mips_hard_float == 1 ) && ( configUSE_TASK_FPU_SUPPORT == 1 )
+    void vPortTaskUsesFPU( void );
+	#define portTASK_USES_FLOATING_POINT() vPortTaskUsesFPU()
+#endif
+
 #ifndef configUSE_PORT_OPTIMISED_TASK_SELECTION
 	#define configUSE_PORT_OPTIMISED_TASK_SELECTION 1
 #endif
diff --git a/FreeRTOS/Source/timers.c b/FreeRTOS/Source/timers.c
index 9ede09f..663b60a 100644
--- a/FreeRTOS/Source/timers.c
+++ b/FreeRTOS/Source/timers.c
@@ -233,7 +233,7 @@
  * If a timer has expired, process it.  Otherwise, block the timer service task
  * until either a timer does expire or a command is received.
  */
-static void prvProcessTimerOrBlockTask( const TickType_t xNextExpireTime, const BaseType_t xListWasEmpty ) PRIVILEGED_FUNCTION;
+static void prvProcessTimerOrBlockTask( const TickType_t xNextExpireTime, BaseType_t xListWasEmpty ) PRIVILEGED_FUNCTION;
 
 /*-----------------------------------------------------------*/
 
@@ -442,7 +442,7 @@
 }
 /*-----------------------------------------------------------*/
 
-static void prvProcessTimerOrBlockTask( const TickType_t xNextExpireTime, const BaseType_t xListWasEmpty )
+static void prvProcessTimerOrBlockTask( const TickType_t xNextExpireTime, BaseType_t xListWasEmpty )
 {
 TickType_t xTimeNow;
 BaseType_t xTimerListsWereSwitched;
@@ -471,6 +471,13 @@
 				received - whichever comes first.  The following line cannot
 				be reached unless xNextExpireTime > xTimeNow, except in the
 				case when the current timer list is empty. */
+				if( xListWasEmpty != pdFALSE )
+				{
+					/* The current timer list is empty - is the overflow list
+					also empty? */
+					xListWasEmpty = listLIST_IS_EMPTY( pxOverflowTimerList );
+				}
+
 				vQueueWaitForMessageRestricted( xTimerQueue, ( xNextExpireTime - xTimeNow ), xListWasEmpty );
 
 				if( xTaskResumeAll() == pdFALSE )
