diff --git a/Demo/RX600_RX62N-RDK_GNURX/RTOSDemo/FreeRTOSConfig.h b/Demo/RX600_RX62N-RDK_GNURX/RTOSDemo/FreeRTOSConfig.h
index 249fc98..c4a7da8 100644
--- a/Demo/RX600_RX62N-RDK_GNURX/RTOSDemo/FreeRTOSConfig.h
+++ b/Demo/RX600_RX62N-RDK_GNURX/RTOSDemo/FreeRTOSConfig.h
@@ -93,6 +93,12 @@
 #define configMAX_PRIORITIES			( ( unsigned portBASE_TYPE ) 7 )
 #define configMAX_CO_ROUTINE_PRIORITIES ( 2 )
 
+/* Software timer definitions. */
+#define configUSE_TIMERS				1
+#define configTIMER_TASK_PRIORITY		( 3 )
+#define configTIMER_QUEUE_LENGTH		5
+#define configTIMER_TASK_STACK_DEPTH	( configMINIMAL_STACK_SIZE )
+
 /* The interrupt priority used by the kernel itself for the tick interrupt and
 the pended interrupt.  This would normally be the lowest priority. */
 #define configKERNEL_INTERRUPT_PRIORITY         1
@@ -115,6 +121,8 @@
 #define INCLUDE_uxTaskGetStackHighWaterMark	1
 #define INCLUDE_xTaskGetSchedulerState		1
 
+#define configASSERT( x ) if( ( x ) == 0 ) { taskDISABLE_INTERRUPTS(); for( ;; ); }	
+
 extern volatile unsigned long ulHighFrequencyTickCount;
 #define portCONFIGURE_TIMER_FOR_RUN_TIME_STATS() portNOP() /* Run time stats use the same timer as the high frequency timer test. */
 #define portGET_RUN_TIME_COUNTER_VALUE() ulHighFrequencyTickCount
diff --git a/Demo/RX600_RX62N-RDK_GNURX/RTOSDemo/RTOSDemo.hwp b/Demo/RX600_RX62N-RDK_GNURX/RTOSDemo/RTOSDemo.hwp
index 5d7f002..780e1ab 100644
--- a/Demo/RX600_RX62N-RDK_GNURX/RTOSDemo/RTOSDemo.hwp
+++ b/Demo/RX600_RX62N-RDK_GNURX/RTOSDemo/RTOSDemo.hwp
@@ -159,6 +159,7 @@
 "C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\MemMang\heap_2.c" "User" "C source file|FreeRTOS Source|Portable Layer" 2 
 "C:\E\Dev\FreeRTOS\WorkingCopy\Source\queue.c" "User" "C source file|FreeRTOS Source" 2 
 "C:\E\Dev\FreeRTOS\WorkingCopy\Source\tasks.c" "User" "C source file|FreeRTOS Source" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\timers.c" "User" "C source file|FreeRTOS Source" 2 
 [FOLDER]
 "C header file" "C header file" 
 "C source file" "C source file" 
@@ -224,11 +225,12 @@
 "C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\MemMang\heap_2.c" "099d5a320aa5bc10" 2 
 "C:\E\Dev\FreeRTOS\WorkingCopy\Source\queue.c" "099d5a320aa5bc10" 2 
 "C:\E\Dev\FreeRTOS\WorkingCopy\Source\tasks.c" "099d5a320aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\timers.c" "0b0cb036c811cc10" 2 
 "Preprocess Assembly file" "099d5a320aa5bc10" 2 
 [OPTIONS_Blinky_GNU Library Generator]
 "Single Shot" "099d5a320aa5bc10" 1 
 [OPTIONS_Blinky_GNU Linker]
-"Single Shot" "099d5a320aa5bc10" 4 
+"Single Shot" "083de136c811cc10" 4 
 [OPTIONS_Blinky]
 "" 0 
 "[V|VERSION|2] [B|DOEXTF|1] [S|INCDIR|^"$(TCINSTALL)\rx-elf\lib\gcc\rx-elf\4.5-GNURX_v10.03^"|^"$(CONFIGDIR)^"] [B|RSARCH|1] [B|FIXUPLIBS|1] [S|ARCHIVE|lib$(PROJECTNAME).a*libgcc.a] [S|OUTFORM|BOTH] [B|MFILEGEN|1] [S|PLMFILE|^"$(CONFIGDIR)\$(PROJECTNAME).map^"] [S|OUTFILE|^"$(CONFIGDIR)\$(PROJECTNAME).x^"] [S|GROUPDET|.fvectors|0|0||1|0xFFFFFF80|0|1|0|.fvectors|All-files|<<FEND>>|<<CEND>>|<<GEND>>|.text|0|0||1|0xFFF80000|0|0|0|.text|All-files|<<FEND>>|0|.text.*|All-files|<<FEND>>|0|P|All-files|<<FEND>>|1|etext|<<FEND>>|<<CEND>>|<<GEND>>|.rvectors|0|0||0||0|1|1|_rvectors_start|<<FEND>>|0|.rvectors|All-files|<<FEND>>|1|_rvectors_end|<<FEND>>|<<CEND>>|<<GEND>>|.init|0|0||0||0|0|0|.init|All-files|<<FEND>>|<<CEND>>|<<GEND>>|.fini|0|0||0||0|0|0|.fini|All-files|<<FEND>>|<<CEND>>|<<GEND>>|.got|0|0||0||0|0|0|.got|All-files|<<FEND>>|0|.got.plt|All-files|<<FEND>>|<<CEND>>|<<GEND>>|.rodata|0|0||0||0|0|0|.rodata|All-files|<<FEND>>|0|.rodata.*|All-files|<<FEND>>|0|C_1|All-files|<<FEND>>|0|C_2|All-files|<<FEND>>|0|C|All-files|<<FEND>>|1|_erodata|<<FEND>>|<<CEND>>|<<GEND>>|.eh_frame_hdr|0|0||0||0|0|0|.eh_frame_hdr|All-files|<<FEND>>|<<CEND>>|<<GEND>>|.eh_frame|0|0||0||0|0|0|.eh_frame|All-files|<<FEND>>|<<CEND>>|<<GEND>>|.jcr|0|0||0||0|0|0|.jcr|All-files|<<FEND>>|<<CEND>>|<<GEND>>|.tors|0|0||0||0|0|1|__CTOR_LIST__|<<FEND>>|1|___ctors|<<FEND>>|0|.ctors|All-files|<<FEND>>|1|___ctors_end|<<FEND>>|1|__CTOR_END__|<<FEND>>|1|__DTOR_LIST__|<<FEND>>|1|___dtors|<<FEND>>|0|.dtors|All-files|<<FEND>>|1|___dtors_end|<<FEND>>|1|__DTOR_END__|<<FEND>>|1|_mdata|<<FEND>>|<<CEND>>|<<GEND>>|.istack|0|0||1|0x00017FFC|0|0|1|_istack|<<FEND>>|<<CEND>>|<<GEND>>|.ustack|0|0||1|0x000179BC|0|0|1|_ustack|<<FEND>>|<<CEND>>|<<GEND>>|.data|0|2|_mdata|1|0x00001000|0|0|1|_data|<<FEND>>|0|.data|All-files|<<FEND>>|0|.data.*|All-files|<<FEND>>|0|D|All-files|<<FEND>>|0|D_1|All-files|<<FEND>>|0|D_2|All-files|<<FEND>>|1|_edata|<<FEND>>|<<CEND>>|<<GEND>>|.gcc_exc|0|0||0||0|0|0|.gcc_exc|All-files|<<FEND>>|<<CEND>>|<<GEND>>|.bss|0|0||0||0|0|1|_bss|<<FEND>>|0|.bss|All-files|<<FEND>>|0|.bss.*|All-files|<<FEND>>|0|COMMON|All-files|<<FEND>>|0|B|All-files|<<FEND>>|0|B_1|All-files|<<FEND>>|0|B_2|All-files|<<FEND>>|1|_ebss|<<FEND>>|1|_end|<<FEND>>|<<CEND>>|<<GEND>>|] [S|APPTXT|^"-e _start^"] [S|CPUTYPE|RX600] [S|ENDIAN|LITTLE] [S|CPU|Other] [I|RMINTREGVAL|0] [I|RMMAXCONSTVAL|0] [I|RMMAXVARSVAL|0] [S|PROJECTTYPE|CAPPPROJECT] [B|DOOPTLIB|1] [B|DOPROJBUILT|1]
@@ -309,11 +311,12 @@
 "C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\MemMang\heap_2.c" "0adae9320aa5bc10" 2 
 "C:\E\Dev\FreeRTOS\WorkingCopy\Source\queue.c" "0adae9320aa5bc10" 2 
 "C:\E\Dev\FreeRTOS\WorkingCopy\Source\tasks.c" "0adae9320aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\timers.c" "0b0cb036c811cc10" 2 
 "Preprocess Assembly file" "0adae9320aa5bc10" 2 
 [OPTIONS_Debug_GNU Library Generator]
 "Single Shot" "0adae9320aa5bc10" 1 
 [OPTIONS_Debug_GNU Linker]
-"Single Shot" "097f0a320aa5bc10" 4 
+"Single Shot" "083de136c811cc10" 4 
 [OPTIONS_Debug]
 "" 0 
 "[V|VERSION|2] [B|DOEXTF|1] [S|INCDIR|^"$(TCINSTALL)\rx-elf\lib\gcc\rx-elf\4.5-GNURX_v10.03^"|^"$(CONFIGDIR)^"] [B|RSARCH|1] [B|FIXUPLIBS|1] [S|ARCHIVE|libgcc.a*lib$(PROJECTNAME).a] [S|OUTFORM|BOTH] [B|MFILEGEN|1] [S|PLMFILE|^"$(CONFIGDIR)\$(PROJECTNAME).map^"] [S|OUTFILE|^"$(CONFIGDIR)\$(PROJECTNAME).x^"] [S|GROUPDET|.fvectors|0|0||1|0xFFFFFF80|0|1|0|.fvectors|All-files|<<FEND>>|<<CEND>>|<<GEND>>|.text|0|0||1|0xFFF80000|0|0|0|.text|All-files|<<FEND>>|0|.text.*|All-files|<<FEND>>|0|P|All-files|<<FEND>>|1|etext|<<FEND>>|<<CEND>>|<<GEND>>|.rvectors|0|0||0||0|1|1|_rvectors_start|<<FEND>>|0|.rvectors|All-files|<<FEND>>|1|_rvectors_end|<<FEND>>|<<CEND>>|<<GEND>>|.init|0|0||0||0|0|0|.init|All-files|<<FEND>>|<<CEND>>|<<GEND>>|.fini|0|0||0||0|0|0|.fini|All-files|<<FEND>>|<<CEND>>|<<GEND>>|.got|0|0||0||0|0|0|.got|All-files|<<FEND>>|0|.got.plt|All-files|<<FEND>>|<<CEND>>|<<GEND>>|.rodata|0|0||0||0|0|0|.rodata|All-files|<<FEND>>|0|.rodata.*|All-files|<<FEND>>|0|C_1|All-files|<<FEND>>|0|C_2|All-files|<<FEND>>|0|C|All-files|<<FEND>>|1|_erodata|<<FEND>>|<<CEND>>|<<GEND>>|.eh_frame_hdr|0|0||0||0|0|0|.eh_frame_hdr|All-files|<<FEND>>|<<CEND>>|<<GEND>>|.eh_frame|0|0||0||0|0|0|.eh_frame|All-files|<<FEND>>|<<CEND>>|<<GEND>>|.jcr|0|0||0||0|0|0|.jcr|All-files|<<FEND>>|<<CEND>>|<<GEND>>|.tors|0|0||0||0|0|1|__CTOR_LIST__|<<FEND>>|1|___ctors|<<FEND>>|0|.ctors|All-files|<<FEND>>|1|___ctors_end|<<FEND>>|1|__CTOR_END__|<<FEND>>|1|__DTOR_LIST__|<<FEND>>|1|___dtors|<<FEND>>|0|.dtors|All-files|<<FEND>>|1|___dtors_end|<<FEND>>|1|__DTOR_END__|<<FEND>>|1|_mdata|<<FEND>>|<<CEND>>|<<GEND>>|.istack|0|0||1|0x00017FFC|0|0|1|_istack|<<FEND>>|<<CEND>>|<<GEND>>|.ustack|0|0||1|0x000179BC|0|0|1|_ustack|<<FEND>>|<<CEND>>|<<GEND>>|.data|0|2|_mdata|1|0x00001000|0|0|1|_data|<<FEND>>|0|.data|All-files|<<FEND>>|0|.data.*|All-files|<<FEND>>|0|D|All-files|<<FEND>>|0|D_1|All-files|<<FEND>>|0|D_2|All-files|<<FEND>>|1|_edata|<<FEND>>|<<CEND>>|<<GEND>>|.gcc_exc|0|0||0||0|0|0|.gcc_exc|All-files|<<FEND>>|<<CEND>>|<<GEND>>|.bss|0|0||0||0|0|1|_bss|<<FEND>>|0|.bss|All-files|<<FEND>>|0|.bss.*|All-files|<<FEND>>|0|COMMON|All-files|<<FEND>>|0|B|All-files|<<FEND>>|0|B_1|All-files|<<FEND>>|0|B_2|All-files|<<FEND>>|1|_ebss|<<FEND>>|1|_end|<<FEND>>|<<CEND>>|<<GEND>>|] [B|WONCEU|1] [B|OUTTRAD|1] [S|APPTXT|^"-e _start^"] [S|CPUTYPE|RX600] [S|ENDIAN|LITTLE] [S|CPU|Other] [I|RMINTREGVAL|0] [I|RMMAXCONSTVAL|0] [I|RMMAXVARSVAL|0] [S|PROJECTTYPE|CAPPPROJECT] [B|DOOPTLIB|1] [B|DOPROJBUILT|1]
@@ -370,11 +373,12 @@
 "C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\MemMang\heap_2.c" "08328a320aa5bc10" 2 
 "C:\E\Dev\FreeRTOS\WorkingCopy\Source\queue.c" "08328a320aa5bc10" 2 
 "C:\E\Dev\FreeRTOS\WorkingCopy\Source\tasks.c" "08328a320aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\timers.c" "0b0cb036c811cc10" 2 
 "Preprocess Assembly file" "08328a320aa5bc10" 2 
 [OPTIONS_Debug_RX600_E1_E20_SYSTEM_GNU Library Generator]
 "Single Shot" "08328a320aa5bc10" 1 
 [OPTIONS_Debug_RX600_E1_E20_SYSTEM_GNU Linker]
-"Single Shot" "0849aa320aa5bc10" 4 
+"Single Shot" "083de136c811cc10" 4 
 [OPTIONS_Debug_RX600_E1_E20_SYSTEM]
 "" 0 
 "[V|VERSION|2] [S|OBJPATH|^"$(CONFIGDIR)\$(FILELEAF).o^"] [I|DEBUGLV|2] [B|LINCHLS|1] [B|LINCASS|1] [B|LINCSYM|1] [S|LFILE|^"$(CONFIGDIR)\$(FILELEAF).^"] [S|PROJECTTYPE|CAPPPROJECT] [S|INCDIR|^"$(PROJDIR)^"] [S|CPUTYPE|RX600] [S|ENDIAN|LITTLE] [S|CPU|Other] " 3 
@@ -427,11 +431,12 @@
 "C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\MemMang\heap_2.c" "020673517aa5bc10" 2 
 "C:\E\Dev\FreeRTOS\WorkingCopy\Source\queue.c" "020673517aa5bc10" 2 
 "C:\E\Dev\FreeRTOS\WorkingCopy\Source\tasks.c" "020673517aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\timers.c" "0b0cb036c811cc10" 2 
 "Preprocess Assembly file" "020673517aa5bc10" 2 
 [OPTIONS_Debug_with_optimisation_GNU Library Generator]
 "Single Shot" "097f0a320aa5bc10" 1 
 [OPTIONS_Debug_with_optimisation_GNU Linker]
-"Single Shot" "09863a320aa5bc10" 4 
+"Single Shot" "083de136c811cc10" 4 
 [OPTIONS_Debug_with_optimisation]
 "" 0 
 "[V|VERSION|2] [B|DOEXTF|1] [S|INCDIR|^"$(TCINSTALL)\rx-elf\lib\gcc\rx-elf\4.5-GNURX_v10.03^"|^"$(CONFIGDIR)^"] [B|RSARCH|1] [B|FIXUPLIBS|1] [S|ARCHIVE|lib$(PROJECTNAME).a*libgcc.a] [S|OUTFORM|BOTH] [B|MFILEGEN|1] [S|PLMFILE|^"$(CONFIGDIR)\$(PROJECTNAME).map^"] [S|OUTFILE|^"$(CONFIGDIR)\$(PROJECTNAME).x^"] [S|GROUPDET|.fvectors|0|0||1|0xFFFFFF80|0|1|0|.fvectors|All-files|<<FEND>>|<<CEND>>|<<GEND>>|.text|0|0||1|0xFFF80000|0|0|0|.text|All-files|<<FEND>>|0|.text.*|All-files|<<FEND>>|0|P|All-files|<<FEND>>|1|etext|<<FEND>>|<<CEND>>|<<GEND>>|.rvectors|0|0||0||0|1|1|_rvectors_start|<<FEND>>|0|.rvectors|All-files|<<FEND>>|1|_rvectors_end|<<FEND>>|<<CEND>>|<<GEND>>|.init|0|0||0||0|0|0|.init|All-files|<<FEND>>|<<CEND>>|<<GEND>>|.fini|0|0||0||0|0|0|.fini|All-files|<<FEND>>|<<CEND>>|<<GEND>>|.got|0|0||0||0|0|0|.got|All-files|<<FEND>>|0|.got.plt|All-files|<<FEND>>|<<CEND>>|<<GEND>>|.rodata|0|0||0||0|0|0|.rodata|All-files|<<FEND>>|0|.rodata.*|All-files|<<FEND>>|0|C_1|All-files|<<FEND>>|0|C_2|All-files|<<FEND>>|0|C|All-files|<<FEND>>|1|_erodata|<<FEND>>|<<CEND>>|<<GEND>>|.eh_frame_hdr|0|0||0||0|0|0|.eh_frame_hdr|All-files|<<FEND>>|<<CEND>>|<<GEND>>|.eh_frame|0|0||0||0|0|0|.eh_frame|All-files|<<FEND>>|<<CEND>>|<<GEND>>|.jcr|0|0||0||0|0|0|.jcr|All-files|<<FEND>>|<<CEND>>|<<GEND>>|.tors|0|0||0||0|0|1|__CTOR_LIST__|<<FEND>>|1|___ctors|<<FEND>>|0|.ctors|All-files|<<FEND>>|1|___ctors_end|<<FEND>>|1|__CTOR_END__|<<FEND>>|1|__DTOR_LIST__|<<FEND>>|1|___dtors|<<FEND>>|0|.dtors|All-files|<<FEND>>|1|___dtors_end|<<FEND>>|1|__DTOR_END__|<<FEND>>|1|_mdata|<<FEND>>|<<CEND>>|<<GEND>>|.istack|0|0||1|0x00017FFC|0|0|1|_istack|<<FEND>>|<<CEND>>|<<GEND>>|.ustack|0|0||1|0x000179BC|0|0|1|_ustack|<<FEND>>|<<CEND>>|<<GEND>>|.data|0|2|_mdata|1|0x00001000|0|0|1|_data|<<FEND>>|0|.data|All-files|<<FEND>>|0|.data.*|All-files|<<FEND>>|0|D|All-files|<<FEND>>|0|D_1|All-files|<<FEND>>|0|D_2|All-files|<<FEND>>|1|_edata|<<FEND>>|<<CEND>>|<<GEND>>|.gcc_exc|0|0||0||0|0|0|.gcc_exc|All-files|<<FEND>>|<<CEND>>|<<GEND>>|.bss|0|0||0||0|0|1|_bss|<<FEND>>|0|.bss|All-files|<<FEND>>|0|.bss.*|All-files|<<FEND>>|0|COMMON|All-files|<<FEND>>|0|B|All-files|<<FEND>>|0|B_1|All-files|<<FEND>>|0|B_2|All-files|<<FEND>>|1|_ebss|<<FEND>>|1|_end|<<FEND>>|<<CEND>>|<<GEND>>|] [S|APPTXT|^"-e _start^"] [S|CPUTYPE|RX600] [S|ENDIAN|LITTLE] [S|CPU|Other] [I|RMINTREGVAL|0] [I|RMMAXCONSTVAL|0] [I|RMMAXVARSVAL|0] [S|PROJECTTYPE|CAPPPROJECT] [B|DOOPTLIB|1] [B|DOPROJBUILT|1]
diff --git a/Demo/RX600_RX62N-RDK_GNURX/RTOSDemo/RTOSDemo.nav b/Demo/RX600_RX62N-RDK_GNURX/RTOSDemo/RTOSDemo.nav
index 31df56a..f536075 100644
--- a/Demo/RX600_RX62N-RDK_GNURX/RTOSDemo/RTOSDemo.nav
+++ b/Demo/RX600_RX62N-RDK_GNURX/RTOSDemo/RTOSDemo.nav
Binary files differ
diff --git a/Demo/RX600_RX62N-RDK_GNURX/RTOSDemo/RTOSDemo.tps b/Demo/RX600_RX62N-RDK_GNURX/RTOSDemo/RTOSDemo.tps
index fa61cca..dd7288e 100644
--- a/Demo/RX600_RX62N-RDK_GNURX/RTOSDemo/RTOSDemo.tps
+++ b/Demo/RX600_RX62N-RDK_GNURX/RTOSDemo/RTOSDemo.tps
@@ -11,7 +11,7 @@
 "Debug_RX600_E1_E20_SYSTEM" 
 "Debug_with_optimisation" 
 [CURRENT_CONFIGURATION]
-"Debug_with_optimisation" 
+"Debug" 
 [CURRENT_SESSION]
 "SessionRX600_E1_E20_SYSTEM" 
 [GENERAL_DATA_PROJECT]
@@ -21,7 +21,7 @@
 "DefaultSession" 
 "SessionRX600_E1_E20_SYSTEM" 
 [GENERAL_DATA_CONFIGURATION_Debug]
-"PROJECT_FILES_MODIFIED_DATA_TAG" "TRUE" 
+"PROJECT_FILES_MODIFIED_DATA_TAG" "FALSE" 
 [SESSIONS_Debug]
 "DefaultSession" 
 "SessionRX600_E1_E20_SYSTEM" 
diff --git a/Demo/RX600_RX62N-RDK_GNURX/RTOSDemo/SessionRX600_E1_E20_SYSTEM.hsf b/Demo/RX600_RX62N-RDK_GNURX/RTOSDemo/SessionRX600_E1_E20_SYSTEM.hsf
index d84bc7a..8f6b59b 100644
--- a/Demo/RX600_RX62N-RDK_GNURX/RTOSDemo/SessionRX600_E1_E20_SYSTEM.hsf
+++ b/Demo/RX600_RX62N-RDK_GNURX/RTOSDemo/SessionRX600_E1_E20_SYSTEM.hsf
@@ -104,32 +104,32 @@
 "{5F75FDA0-6FF0-11D5-B7CE-00E029352378}PACtrlViews" "0" 
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_EVAL_DENORMAL_MODE" "16777216" 
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_EVAL_ROUND_MODE" "768" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_0" "000000000000B0FC" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_1" "000000000000C504" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_10" "000000000000C518" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_11" "000000000000C514" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_12" "000000000000C510" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_13" "000000000000C50C" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_14" "0000000042900000" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_15" "000000000000C51C" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_16" "000000000000B0FC" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_17" "0000000000017FE0" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_0" "000000000000BBB0" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_1" "000000000000C9BC" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_10" "0000000000000004" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_11" "0000000041180000" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_12" "00000000A5A5A5A5" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_13" "00000000A5A5A5A5" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_14" "00000000A5A5A5A5" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_15" "00000000A5A5A5A5" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_16" "000000000000BBB0" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_17" "0000000000017FA0" 
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_18" "0000000000030000" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_19" "00000000FFF9135E" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_2" "0000000000000000" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_20" "00000000FFF92768" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_19" "00000000FFF8B898" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_2" "00000000A5A5A5A5" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_20" "00000000FFF8E908" 
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_21" "0000000080000000" 
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_22" "0000000000000000" 
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_23" "0000000000000000" 
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_24" "0000000000000100" 
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_25" "1234567887650000" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_3" "0000000000000000" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_4" "0000000000000000" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_5" "0000000000000000" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_6" "0000000000000000" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_3" "00000000A5A5A5A5" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_4" "00000000A5A5A5A5" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_5" "00000000A5A5A5A5" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_6" "000000000000BBB0" 
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_7" "0000000000000000" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_8" "0000000000000000" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_9" "000000000000C508" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_8" "00000000A5A5A5A5" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_9" "00000000A5A5A5A5" 
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_COUNT" "26" 
 "{6C4D5B81-FD67-46A9-A089-EA44DCDE47FD}RAMMonitorManagerCtrlBlockInfoFileDir" "" 
 "{6C4D5B81-FD67-46A9-A089-EA44DCDE47FD}RAMMonitorManagerCtrlBlockInfoFileName" "" 
@@ -209,7 +209,7 @@
 "{B39CE26B-928D-4241-BF8F-E15980C81200}DebugConsoleCtrlPortBaudIndex" "0" 
 "{B39CE26B-928D-4241-BF8F-E15980C81200}DebugConsoleCtrlPortName" "" 
 "{B39CE26B-928D-4241-BF8F-E15980C81200}DebugConsoleCtrlSendDataTimeout" "50" 
-"{B39CE26B-928D-4241-BF8F-E15980C81200}DebugConsoleCtrlViews" "0" 
+"{B39CE26B-928D-4241-BF8F-E15980C81200}DebugConsoleCtrlViews" "1" 
 "{B39CE26B-928D-4241-BF8F-E15980C81200}DebugConsoleWndInstanceKey0" "{WK_00000001_DEBUGCONSOLE}RTOSDemoSessionRX600_E1_E20_SYSTEM" 
 "{B6AE2E1F-5221-4A44-91C2-8C3097B41A69}StartStopCheckAfter" "0" 
 "{B6AE2E1F-5221-4A44-91C2-8C3097B41A69}StartStopCheckBefore" "0" 
@@ -222,7 +222,7 @@
 "{EEDC9300-6FBE-11D5-8613-00A024591A38}LocalsCtrlViews" "0" 
 "{EEDC9301-6FBE-11D5-8613-00A024591A38}StackTraceCtrlViews" "0" 
 "{F866DB60-6186-11D5-8BBE-0004E2013C71}IOCtrlIOFile" "" 
-"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOCtrlSaveFileDir" "" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOCtrlSaveFileDir" "$(CONFIGDIR)" 
 "{F866DB60-6186-11D5-8BBE-0004E2013C71}IOCtrlSaveFileName" "" 
 "{F866DB60-6186-11D5-8BBE-0004E2013C71}IOCtrlViews" "0" 
 "{F923CED3-3318-4B43-B931-0AE76B289176}TaskTraceCtrlAnalyzeViews" "0" 
@@ -240,10 +240,10 @@
 0 
 [WINDOW_POSITION_STATE_DATA_VD1]
 "Help" "TOOLBAR 0" 59419 1 5 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
-"{WK_00000001_CmdLine}" "WINDOW" 59422 0 1 "0.07" 400 0 0 100 100 17 0 "32771|32772|32778|<<separator>>|32773|32774|<<separator>>" "0.0" 
+"{WK_00000001_CmdLine}" "WINDOW" 59422 0 1 "0.07" 372 0 0 100 100 17 0 "32771|32772|32778|<<separator>>|32773|32774|<<separator>>" "0.0" 
 "{WK_00000001_DEBUGCONSOLE}RTOSDemoSessionRX600_E1_E20_SYSTEM" "WINDOW" 59422 5 0 "1.00" 146 0 0 350 200 17 0 "57634|57637|57633|<<separator>>|32781|32782|<<separator>>|32780|32785|32787" "0.0" 
 "{WK_00000001_MEMORY}RTOSDemoSessionRX600_E1_E20_SYSTEM" "WINDOW" 59422 0 0 "0.27" 252 0 0 350 200 2065 0 "42202|42203|42204|42233|<<separator>>|42206|42205|42230|42229|42207|<<separator>>|42208|42209|42210|49076|42228|42227|<<separator>>|42231|42232|42234|42235|<<separator>>|42211|<<separator>>" "0.0" 
-"{WK_00000001_OUTPUT}" "WINDOW" 59422 0 0 "1.00" 400 560 340 350 200 18 0 "36756|36757|36758|36759|<<separator>>|36746|36747|<<separator>>|39531|<<separator>>|39500|39534|<<separator>>|36687" "0.0" 
+"{WK_00000001_OUTPUT}" "WINDOW" 59422 0 0 "1.00" 372 560 340 350 200 18 0 "36756|36757|36758|36759|<<separator>>|36746|36747|<<separator>>|39531|<<separator>>|39500|39534|<<separator>>|36687" "0.0" 
 "{WK_00000001_REGISTERS}RTOSDemoSessionRX600_E1_E20_SYSTEM" "WINDOW" 59421 0 0 "1.00" 413 0 0 350 200 2065 0 "" "0.0" 
 "{WK_00000001_WATCH}RTOSDemoSessionRX600_E1_E20_SYSTEM" "WINDOW" 59421 0 0 "1.00" 441 0 0 853 610 17 0 "32781|32783|<<separator>>|32771|32829|32772|32827|32773|<<separator>>|32786|<<separator>>|32810|32811" "0.0" 
 "{WK_00000002_WORKSPACE}" "WINDOW" 59420 0 0 "1.00" 342 560 340 350 200 18 0 "" "0.0" 
@@ -273,6 +273,7 @@
 [WINDOW_POSITION_STATE_DATA_VD4]
 [WINDOW_Z_ORDER]
 "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RDK_GNURX\RTOSDemo\main-full.c" 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RDK_GNURX\RTOSDemo\main-blinky.c" 
 [TARGET_NAME]
 "RX600 Segger J-Link" "" 0 
 [STATUSBAR_STATEINFO_VD1]
diff --git a/Demo/RX600_RX62N-RDK_GNURX/RTOSDemo/uIP_Task.c b/Demo/RX600_RX62N-RDK_GNURX/RTOSDemo/uIP_Task.c
index 1521ef8..847c9cb 100644
--- a/Demo/RX600_RX62N-RDK_GNURX/RTOSDemo/uIP_Task.c
+++ b/Demo/RX600_RX62N-RDK_GNURX/RTOSDemo/uIP_Task.c
@@ -57,7 +57,8 @@
 /* Scheduler includes. */
 #include "FreeRTOS.h"
 #include "task.h"
-#include "semphr.h"
+#include "timers.h"
+#include "queue.h"
 
 /* uip includes. */
 #include "net/uip.h"
@@ -81,6 +82,15 @@
 /* Standard constant. */
 #define uipTOTAL_FRAME_HEADER_SIZE	54
 
+/* The ARP timer and the periodic timer share a callback function, so the
+respective timer IDs are used to determine which timer actually expired.  These
+constants are assigned to the timer IDs. */
+#define uipARP_TIMER				0
+#define uipPERIODIC_TIMER			1
+
+/* A block time of zero ticks simply means, "don't block". */
+#define uipDONT_BLOCK				0UL
+
 /*-----------------------------------------------------------*/
 
 /*
@@ -89,24 +99,28 @@
 static void prvSetMACAddress( void );
 
 /*
+ * Perform any uIP initialisation necessary. 
+ */
+static void prvInitialise_uIP( void );
+
+/*
+ * The callback function that is assigned to both the periodic timer and the
+ * ARP timer.
+ */
+static void prvUIPTimerCallback( xTimerHandle xTimer );
+
+/*
  * Port functions required by the uIP stack.
  */
-void clock_init( void );
 clock_time_t clock_time( void );
 
 /*-----------------------------------------------------------*/
 
-/* The semaphore used by the ISR to wake the uIP task. */
-xSemaphoreHandle xEMACSemaphore = NULL;
+/* The queue used to send TCP/IP events to the uIP stack. */
+xQueueHandle xEMACEventQueue = NULL;
 
 /*-----------------------------------------------------------*/
 
-void clock_init(void)
-{
-	/* This is done when the scheduler starts. */
-}
-/*-----------------------------------------------------------*/
-
 clock_time_t clock_time( void )
 {
 	return xTaskGetTickCount();
@@ -115,25 +129,14 @@
 
 void vuIP_Task( void *pvParameters )
 {
-portBASE_TYPE i, xDoneSomething;
-uip_ipaddr_t xIPAddr;
-struct timer periodic_timer, arp_timer;
+portBASE_TYPE i;
+unsigned long ulNewEvent = 0UL;
+unsigned long ulUIP_Events = 0UL;
 
 	( void ) pvParameters;
-
+	
 	/* Initialise the uIP stack. */
-	timer_set( &periodic_timer, configTICK_RATE_HZ / 2 );
-	timer_set( &arp_timer, configTICK_RATE_HZ * 10 );
-	uip_init();
-	uip_ipaddr( &xIPAddr, configIP_ADDR0, configIP_ADDR1, configIP_ADDR2, configIP_ADDR3 );
-	uip_sethostaddr( &xIPAddr );
-	uip_ipaddr( &xIPAddr, configNET_MASK0, configNET_MASK1, configNET_MASK2, configNET_MASK3 );
-	uip_setnetmask( &xIPAddr );
-	prvSetMACAddress();
-	httpd_init();
-
-	/* Create the semaphore used to wake the uIP task. */
-	vSemaphoreCreateBinary( xEMACSemaphore );
+	prvInitialise_uIP();
 
 	/* Initialise the MAC. */
 	vInitEmac();
@@ -145,49 +148,51 @@
 
 	for( ;; )
 	{
-		xDoneSomething = pdFALSE;
-		
-		/* Is there received data ready to be processed? */
-		uip_len = ( unsigned short ) ulEMACRead();
-		
-		if( ( uip_len > 0 ) && ( uip_buf != NULL ) )
-		{
-			/* Standard uIP loop taken from the uIP manual. */
-			if( xHeader->type == htons( UIP_ETHTYPE_IP ) )
+		if( ( ulUIP_Events & uipETHERNET_RX_EVENT ) != 0UL )
+		{		
+			/* Is there received data ready to be processed? */
+			uip_len = ( unsigned short ) ulEMACRead();
+			
+			if( ( uip_len > 0 ) && ( uip_buf != NULL ) )
 			{
-				uip_arp_ipin();
-				uip_input();
-
-				/* If the above function invocation resulted in data that
-				should be sent out on the network, the global variable
-				uip_len is set to a value > 0. */
-				if( uip_len > 0 )
+				/* Standard uIP loop taken from the uIP manual. */
+				if( xHeader->type == htons( UIP_ETHTYPE_IP ) )
 				{
-					uip_arp_out();
-					vEMACWrite();
+					uip_arp_ipin();
+					uip_input();
+
+					/* If the above function invocation resulted in data that
+					should be sent out on the network, the global variable
+					uip_len is set to a value > 0. */
+					if( uip_len > 0 )
+					{
+						uip_arp_out();
+						vEMACWrite();
+					}
 				}
-				
-				xDoneSomething = pdTRUE;
+				else if( xHeader->type == htons( UIP_ETHTYPE_ARP ) )
+				{
+					uip_arp_arpin();
+
+					/* If the above function invocation resulted in data that
+					should be sent out on the network, the global variable
+					uip_len is set to a value > 0. */
+					if( uip_len > 0 )
+					{
+						vEMACWrite();
+					}
+				}
 			}
-			else if( xHeader->type == htons( UIP_ETHTYPE_ARP ) )
+			else
 			{
-				uip_arp_arpin();
-
-				/* If the above function invocation resulted in data that
-				should be sent out on the network, the global variable
-				uip_len is set to a value > 0. */
-				if( uip_len > 0 )
-				{
-					vEMACWrite();
-				}
-				
-				xDoneSomething = pdTRUE;
+				ulUIP_Events &= ~uipETHERNET_RX_EVENT;
 			}
 		}
-
-		if( timer_expired( &periodic_timer ) && ( uip_buf != NULL ) )
+		
+		if( ( ulUIP_Events & uipPERIODIC_TIMER_EVENT ) != 0UL )
 		{
-			timer_reset( &periodic_timer );
+			ulUIP_Events &= ~uipPERIODIC_TIMER_EVENT;
+					
 			for( i = 0; i < UIP_CONNS; i++ )
 			{
 				uip_periodic( i );
@@ -201,25 +206,82 @@
 					vEMACWrite();
 				}
 			}
-
-			/* Call the ARP timer function every 10 seconds. */
-			if( timer_expired( &arp_timer ) )
-			{
-				timer_reset( &arp_timer );
-				uip_arp_timer();
-			}
-			
-			xDoneSomething = pdTRUE;
 		}
 		
-		if( xDoneSomething == pdFALSE )
+		/* Call the ARP timer function every 10 seconds. */
+		if( ( ulUIP_Events & uipARP_TIMER_EVENT ) != 0 )
 		{
-			/* We did not receive a packet, and there was no periodic
-			processing to perform.  Block for a fixed period.  If a packet
-			is received during this period we will be woken by the ISR
-			giving us the Semaphore. */
-			xSemaphoreTake( xEMACSemaphore, configTICK_RATE_HZ / 20 );
+			ulUIP_Events &= ~uipARP_TIMER_EVENT;
+			uip_arp_timer();
 		}
+			
+		if( ulUIP_Events == pdFALSE )
+		{
+			xQueueReceive( xEMACEventQueue, &ulNewEvent, portMAX_DELAY );
+			ulUIP_Events |= ulNewEvent;
+		}
+	}
+}
+/*-----------------------------------------------------------*/
+
+static void prvInitialise_uIP( void )
+{
+xTimerHandle xARPTimer, xPeriodicTimer;
+uip_ipaddr_t xIPAddr;
+const unsigned long ul_uIPEventQueueLength = 10UL;
+
+	/* Initialise the uIP stack. */
+	uip_init();
+	uip_ipaddr( &xIPAddr, configIP_ADDR0, configIP_ADDR1, configIP_ADDR2, configIP_ADDR3 );
+	uip_sethostaddr( &xIPAddr );
+	uip_ipaddr( &xIPAddr, configNET_MASK0, configNET_MASK1, configNET_MASK2, configNET_MASK3 );
+	uip_setnetmask( &xIPAddr );
+	prvSetMACAddress();
+	httpd_init();
+
+	/* Create the queue used to sent TCP/IP events to the uIP stack. */
+	xEMACEventQueue = xQueueCreate( ul_uIPEventQueueLength, sizeof( unsigned long ) );
+
+	/* Create and start the uIP timers. */
+	xARPTimer = xTimerCreate( 	( const signed char * const ) "ARPTimer", /* Just a name that is helpful for debugging, not used by the kernel. */
+								( 10000UL / portTICK_RATE_MS ), /* Timer period. */
+								pdTRUE, /* Autor-reload. */
+								( void * ) uipARP_TIMER,
+								prvUIPTimerCallback
+							);
+
+	xPeriodicTimer = xTimerCreate( 	( const signed char * const ) "PeriodicTimer",
+									( 500 / portTICK_RATE_MS ),
+									pdTRUE, /* Autor-reload. */
+									( void * ) uipPERIODIC_TIMER,
+									prvUIPTimerCallback
+								);
+
+	configASSERT( xARPTimer );
+	configASSERT( xPeriodicTimer );
+
+	xTimerStart( xARPTimer, portMAX_DELAY );
+	xTimerStart( xPeriodicTimer, portMAX_DELAY );
+}
+/*-----------------------------------------------------------*/
+
+static void prvUIPTimerCallback( xTimerHandle xTimer )
+{
+static const unsigned long ulARPTimerExpired = uipARP_TIMER_EVENT;
+static const unsigned long ulPeriodicTimerExpired = uipPERIODIC_TIMER_EVENT;
+
+	/* This is a time callback, so calls to xQueueSend() must not attempt to
+	block. */
+	switch( ( int ) pvTimerGetTimerID( xTimer ) )
+	{
+		case uipARP_TIMER		:	xQueueSend( xEMACEventQueue, &ulARPTimerExpired, uipDONT_BLOCK );
+									break;
+
+		case uipPERIODIC_TIMER	:	xQueueSend( xEMACEventQueue, &ulPeriodicTimerExpired, uipDONT_BLOCK );
+									break;
+
+		default					:  	/* Should not get here. */
+									break;
 	}
 }
 /*-----------------------------------------------------------*/
diff --git a/Demo/RX600_RX62N-RDK_GNURX/RTOSDemo/webserver/EMAC.c b/Demo/RX600_RX62N-RDK_GNURX/RTOSDemo/webserver/EMAC.c
index bf63bb6..945796a 100644
--- a/Demo/RX600_RX62N-RDK_GNURX/RTOSDemo/webserver/EMAC.c
+++ b/Demo/RX600_RX62N-RDK_GNURX/RTOSDemo/webserver/EMAC.c
@@ -242,23 +242,29 @@
 
 	if( ulBytesReceived > 0 )
 	{
-		pxCurrentRxDesc->status &= ~( FP1 | FP0 );
-		pxCurrentRxDesc->status |= ACT;			
+		/* Mark the pxDescriptor buffer as free as uip_buf is going to be set to
+		the buffer that contains the received data. */
+		prvReturnBuffer( uip_buf );
 
+		/* Point uip_buf to the data about ot be processed. */
+		uip_buf = ( void * ) pxCurrentRxDesc->buf_p;
+		
+		/* Allocate a new buffer to the descriptor, as uip_buf is now using it's
+		old descriptor. */
+		pxCurrentRxDesc->buf_p = ( char * ) prvGetNextBuffer();
+
+		/* Prepare the descriptor to go again. */
+		pxCurrentRxDesc->status &= ~( FP1 | FP0 );
+		pxCurrentRxDesc->status |= ACT;
+
+		/* Move onto the next buffer in the ring. */
+		pxCurrentRxDesc = pxCurrentRxDesc->next;
+		
 		if( EDMAC.EDRRR.LONG == 0x00000000L )
 		{
 			/* Restart Ethernet if it has stopped */
 			EDMAC.EDRRR.LONG = 0x00000001L;
 		}
-
-		/* Mark the pxDescriptor buffer as free as uip_buf is going to be set to
-		the buffer that contains the received data. */
-		prvReturnBuffer( uip_buf );
-		
-		uip_buf = ( void * ) pxCurrentRxDesc->buf_p;
-
-		/* Move onto the next buffer in the ring. */
-		pxCurrentRxDesc = pxCurrentRxDesc->next;
 	}
 
 	return ulBytesReceived;
@@ -517,6 +523,7 @@
 	EDMAC.TFTR.LONG = 0x00000000;				/* Threshold of Tx_FIFO */
 	EDMAC.FDR.LONG = 0x00000000;				/* Transmit fifo & receive fifo is 256 bytes */
 	EDMAC.RMCR.LONG = 0x00000003;				/* Receive function is normal mode(continued) */
+	ETHERC.ECMR.BIT.PRM = 0;					/* Ensure promiscuous mode is off. */
 	
 	/* Enable the interrupt... */
 	_IEN( _ETHER_EINT ) = 1;	
@@ -527,8 +534,8 @@
 {
 unsigned long ul = EDMAC.EESR.LONG;
 long lHigherPriorityTaskWoken = pdFALSE;
-extern xSemaphoreHandle xEMACSemaphore;
-static long ulTxEndInts = 0;
+extern xQueueHandle xEMACEventQueue;
+const unsigned long ulRxEvent = uipETHERNET_RX_EVENT;
 
 	/* Re-enabled interrupts. */
 	__asm volatile( "SETPSW	I" );
@@ -536,13 +543,8 @@
 	/* Has a Tx end occurred? */
 	if( ul & emacTX_END_INTERRUPT )
 	{
-		++ulTxEndInts;
-		if( ulTxEndInts >= 2 )
-		{
-			/* Only return the buffer to the pool once both Txes have completed. */
-			prvReturnBuffer( ( void * ) xTxDescriptors[ 0 ].buf_p );
-			ulTxEndInts = 0;
-		}
+		/* Only return the buffer to the pool once both Txes have completed. */
+		prvReturnBuffer( ( void * ) xTxDescriptors[ 0 ].buf_p );
 		EDMAC.EESR.LONG = emacTX_END_INTERRUPT;
 	}
 
@@ -550,7 +552,7 @@
 	if( ul & emacRX_END_INTERRUPT )
 	{
 		/* Make sure the Ethernet task is not blocked waiting for a packet. */
-		xSemaphoreGiveFromISR( xEMACSemaphore, &lHigherPriorityTaskWoken );
+		xQueueSendFromISR( xEMACEventQueue, &ulRxEvent, &lHigherPriorityTaskWoken );
 		portYIELD_FROM_ISR( lHigherPriorityTaskWoken );
 		EDMAC.EESR.LONG = emacRX_END_INTERRUPT;
 	}
diff --git a/Demo/RX600_RX62N-RDK_GNURX/RX600_RX62N_RDK_GNURX.tws b/Demo/RX600_RX62N-RDK_GNURX/RX600_RX62N_RDK_GNURX.tws
index be1f60a..1b881c6 100644
--- a/Demo/RX600_RX62N-RDK_GNURX/RX600_RX62N_RDK_GNURX.tws
+++ b/Demo/RX600_RX62N-RDK_GNURX/RX600_RX62N_RDK_GNURX.tws
@@ -7,9 +7,11 @@
 [GENERAL_DATA]
 [BREAKPOINTS]
 [OPEN_WORKSPACE_FILES]
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RDK_GNURX\RTOSDemo\main-blinky.c" 
 "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RDK_GNURX\RTOSDemo\main-full.c" 
 [WORKSPACE_FILE_STATES]
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RDK_GNURX\RTOSDemo\main-full.c" -4 -23 1314 460 1 0 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RDK_GNURX\RTOSDemo\main-blinky.c" 66 66 1174 329 0 1 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RDK_GNURX\RTOSDemo\main-full.c" -4 -23 1314 488 1 0 
 [LOADED_PROJECTS]
 "RTOSDemo" 
 [END]
diff --git a/Demo/RX600_RX62N-RDK_IAR/FreeRTOSConfig.h b/Demo/RX600_RX62N-RDK_IAR/FreeRTOSConfig.h
index 7cb94b7..17d4fc2 100644
--- a/Demo/RX600_RX62N-RDK_IAR/FreeRTOSConfig.h
+++ b/Demo/RX600_RX62N-RDK_IAR/FreeRTOSConfig.h
@@ -93,6 +93,11 @@
 #define configMAX_PRIORITIES			( ( unsigned portBASE_TYPE ) 7 )
 #define configMAX_CO_ROUTINE_PRIORITIES ( 2 )
 
+/* Software timer definitions. */
+#define configUSE_TIMERS				1
+#define configTIMER_TASK_PRIORITY		( 3 )
+#define configTIMER_QUEUE_LENGTH		5
+#define configTIMER_TASK_STACK_DEPTH	( configMINIMAL_STACK_SIZE )
 
 /*
 The interrupt priority used by the kernel itself for the tick interrupt and
diff --git a/Demo/RX600_RX62N-RDK_IAR/RTOSDemo.ewp b/Demo/RX600_RX62N-RDK_IAR/RTOSDemo.ewp
index b8d0cbc..6350bd8 100644
--- a/Demo/RX600_RX62N-RDK_IAR/RTOSDemo.ewp
+++ b/Demo/RX600_RX62N-RDK_IAR/RTOSDemo.ewp
@@ -12,7 +12,7 @@
       <name>General</name>
       <archiveVersion>2</archiveVersion>
       <data>
-        <version>3</version>
+        <version>4</version>
         <wantNonLocal>1</wantNonLocal>
         <debug>1</debug>
         <option>
@@ -129,13 +129,17 @@
           <name>GenIntSize</name>
           <state>1</state>
         </option>
+        <option>
+          <name>GenRopi</name>
+          <state>0</state>
+        </option>
       </data>
     </settings>
     <settings>
       <name>ICCRX</name>
       <archiveVersion>3</archiveVersion>
       <data>
-        <version>10</version>
+        <version>11</version>
         <wantNonLocal>1</wantNonLocal>
         <debug>1</debug>
         <option>
@@ -369,13 +373,25 @@
           <name>IccIntSize</name>
           <state>1</state>
         </option>
+        <option>
+          <name>IccPosIndRopi</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>AggressiveInlining</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>AggressiveUnrolling</name>
+          <state>0</state>
+        </option>
       </data>
     </settings>
     <settings>
       <name>ARX</name>
       <archiveVersion>2</archiveVersion>
       <data>
-        <version>3</version>
+        <version>5</version>
         <wantNonLocal>1</wantNonLocal>
         <debug>1</debug>
         <option>
@@ -524,6 +540,14 @@
           <name>AsmIntSize</name>
           <state>1</state>
         </option>
+        <option>
+          <name>AsmPosIndRopi</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>AsmCpuCore</name>
+          <state>0</state>
+        </option>
       </data>
     </settings>
     <settings>
@@ -581,7 +605,7 @@
       <name>ILINK</name>
       <archiveVersion>1</archiveVersion>
       <data>
-        <version>0</version>
+        <version>1</version>
         <wantNonLocal>1</wantNonLocal>
         <debug>1</debug>
         <option>
@@ -807,6 +831,10 @@
           <name>IlinkLogUnusedFragments</name>
           <state>0</state>
         </option>
+        <option>
+          <name>IlinkSubnormal</name>
+          <state>1</state>
+        </option>
       </data>
     </settings>
     <settings>
@@ -846,7 +874,7 @@
       <name>General</name>
       <archiveVersion>2</archiveVersion>
       <data>
-        <version>3</version>
+        <version>4</version>
         <wantNonLocal>1</wantNonLocal>
         <debug>1</debug>
         <option>
@@ -963,13 +991,17 @@
           <name>GenIntSize</name>
           <state>1</state>
         </option>
+        <option>
+          <name>GenRopi</name>
+          <state>0</state>
+        </option>
       </data>
     </settings>
     <settings>
       <name>ICCRX</name>
       <archiveVersion>3</archiveVersion>
       <data>
-        <version>10</version>
+        <version>11</version>
         <wantNonLocal>1</wantNonLocal>
         <debug>1</debug>
         <option>
@@ -1202,13 +1234,25 @@
           <name>IccIntSize</name>
           <state>1</state>
         </option>
+        <option>
+          <name>IccPosIndRopi</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>AggressiveInlining</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>AggressiveUnrolling</name>
+          <state>0</state>
+        </option>
       </data>
     </settings>
     <settings>
       <name>ARX</name>
       <archiveVersion>2</archiveVersion>
       <data>
-        <version>3</version>
+        <version>5</version>
         <wantNonLocal>1</wantNonLocal>
         <debug>1</debug>
         <option>
@@ -1357,6 +1401,14 @@
           <name>AsmIntSize</name>
           <state>1</state>
         </option>
+        <option>
+          <name>AsmPosIndRopi</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>AsmCpuCore</name>
+          <state>0</state>
+        </option>
       </data>
     </settings>
     <settings>
@@ -1414,7 +1466,7 @@
       <name>ILINK</name>
       <archiveVersion>1</archiveVersion>
       <data>
-        <version>0</version>
+        <version>1</version>
         <wantNonLocal>1</wantNonLocal>
         <debug>1</debug>
         <option>
@@ -1640,6 +1692,10 @@
           <name>IlinkLogUnusedFragments</name>
           <state>0</state>
         </option>
+        <option>
+          <name>IlinkSubnormal</name>
+          <state>1</state>
+        </option>
       </data>
     </settings>
     <settings>
@@ -1679,7 +1735,7 @@
       <name>General</name>
       <archiveVersion>2</archiveVersion>
       <data>
-        <version>3</version>
+        <version>4</version>
         <wantNonLocal>1</wantNonLocal>
         <debug>1</debug>
         <option>
@@ -1796,13 +1852,17 @@
           <name>GenIntSize</name>
           <state>1</state>
         </option>
+        <option>
+          <name>GenRopi</name>
+          <state>0</state>
+        </option>
       </data>
     </settings>
     <settings>
       <name>ICCRX</name>
       <archiveVersion>3</archiveVersion>
       <data>
-        <version>10</version>
+        <version>11</version>
         <wantNonLocal>1</wantNonLocal>
         <debug>1</debug>
         <option>
@@ -2036,13 +2096,25 @@
           <name>IccIntSize</name>
           <state>1</state>
         </option>
+        <option>
+          <name>IccPosIndRopi</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>AggressiveInlining</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>AggressiveUnrolling</name>
+          <state>0</state>
+        </option>
       </data>
     </settings>
     <settings>
       <name>ARX</name>
       <archiveVersion>2</archiveVersion>
       <data>
-        <version>3</version>
+        <version>5</version>
         <wantNonLocal>1</wantNonLocal>
         <debug>1</debug>
         <option>
@@ -2191,6 +2263,14 @@
           <name>AsmIntSize</name>
           <state>1</state>
         </option>
+        <option>
+          <name>AsmPosIndRopi</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>AsmCpuCore</name>
+          <state>0</state>
+        </option>
       </data>
     </settings>
     <settings>
@@ -2248,7 +2328,7 @@
       <name>ILINK</name>
       <archiveVersion>1</archiveVersion>
       <data>
-        <version>0</version>
+        <version>1</version>
         <wantNonLocal>1</wantNonLocal>
         <debug>1</debug>
         <option>
@@ -2474,6 +2554,10 @@
           <name>IlinkLogUnusedFragments</name>
           <state>0</state>
         </option>
+        <option>
+          <name>IlinkSubnormal</name>
+          <state>1</state>
+        </option>
       </data>
     </settings>
     <settings>
@@ -2568,6 +2652,9 @@
     <file>
       <name>$PROJ_DIR$\..\..\Source\tasks.c</name>
     </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\Source\timers.c</name>
+    </file>
   </group>
   <group>
     <name>FreeTCPIP (based on uIP)</name>
diff --git a/Demo/RX600_RX62N-RDK_IAR/settings/RTOSDemo.cspy.bat b/Demo/RX600_RX62N-RDK_IAR/settings/RTOSDemo.cspy.bat
index b5065a3..90ccab7 100644
--- a/Demo/RX600_RX62N-RDK_IAR/settings/RTOSDemo.cspy.bat
+++ b/Demo/RX600_RX62N-RDK_IAR/settings/RTOSDemo.cspy.bat
@@ -1,33 +1,15 @@
-@REM This bat file has been generated by the IAR Embeddded Workbench
-@REM C-SPY interactive debugger,as an aid to preparing a command
-@REM line for running the cspybat command line utility with the
-@REM appropriate settings.
+@REM This batch file has been generated by the IAR Embedded Workbench
+@REM C-SPY Debugger, as an aid to preparing a command line for running
+@REM the cspybat command line utility using the appropriate settings.
 @REM
-@REM After making some adjustments to this file, you can launch cspybat
-@REM by typing the name of this file followed by the name of the debug
-@REM file (usually an ubrof file). Note that this file is generated
-@REM every time a new debug session is initialized, so you may want to
-@REM move or rename the file before making changes.
-@REM
-@REM Note: some command line arguments cannot be properly generated
-@REM by this process. Specifically, the plugin which is responsible
-@REM for the Terminal I/O window (and other C runtime functionality)
-@REM comes in a special version for cspybat, and the name of that
-@REM plugin dll is not known when generating this file. It resides in
-@REM the $TOOLKIT_DIR$\bin folder and is usually called XXXbat.dll or
-@REM XXXlibsupportbat.dll, where XXX is the name of the corresponding
-@REM tool chain. Replace the '<libsupport_plugin>' parameter
-@REM below with the appropriate file name. Other plugins loaded by
-@REM C-SPY are usually not needed by, or will not work in, cspybat
-@REM but they are listed at the end of this file for reference.
+@REM You can launch cspybat by typing the name of this batch file followed
+@REM by the name of the debug file (usually an ELF/DWARF or UBROF file).
+@REM Note that this file is generated every time a new debug session
+@REM is initialized, so you may want to move or rename the file before
+@REM making changes.
+@REM 
 
 
-"C:\devtools\IAR Systems\Embedded Workbench 6.0\common\bin\cspybat" "C:\devtools\IAR Systems\Embedded Workbench 6.0\rx\bin\rxproc.dll" "C:\devtools\IAR Systems\Embedded Workbench 6.0\rx\bin\rxemue20.dll"  %1 --plugin "C:\devtools\IAR Systems\Embedded Workbench 6.0\rx\bin\<libsupport_plugin>" --backend -B "--core" "RX600" "-p" "C:\devtools\IAR Systems\Embedded Workbench 6.0\rx\config\debugger\ior5f562n8.ddf" "--double" "32" "--endian" "l" "--int" "32" "-d" "emue20" "--emu" "jlink" "--drv_communication" "USB" "--verify_download" "all" 
+"C:\devtools\IAR Systems\Embedded Workbench 6.0\common\bin\cspybat" "C:\devtools\IAR Systems\Embedded Workbench 6.0\rx\bin\rxproc.dll" "C:\devtools\IAR Systems\Embedded Workbench 6.0\rx\bin\rxemue20.dll"  %1 --plugin "C:\devtools\IAR Systems\Embedded Workbench 6.0\rx\bin\rxbat.dll" --backend -B "--core" "RX600" "-p" "C:\devtools\IAR Systems\Embedded Workbench 6.0\rx\config\debugger\ior5f562n8.ddf" "--double" "32" "--endian" "l" "--int" "32" "-d" "emue20" "--emu" "jlink" "--drv_communication" "USB" "--verify_download" "all" 
 
 
-@REM Loaded plugins:
-@REM    rxLibSupport.dll
-@REM    C:\devtools\IAR Systems\Embedded Workbench 6.0\common\plugins\CodeCoverage\CodeCoverage.dll
-@REM    C:\devtools\IAR Systems\Embedded Workbench 6.0\common\plugins\Profiling\Profiling.dll
-@REM    C:\devtools\IAR Systems\Embedded Workbench 6.0\common\plugins\stack\stack.dll
-@REM    C:\devtools\IAR Systems\Embedded Workbench 6.0\common\plugins\SymList\SymList.dll
diff --git a/Demo/RX600_RX62N-RDK_IAR/settings/RTOSDemo.dbgdt b/Demo/RX600_RX62N-RDK_IAR/settings/RTOSDemo.dbgdt
index d48cbdf..973cd3f 100644
--- a/Demo/RX600_RX62N-RDK_IAR/settings/RTOSDemo.dbgdt
+++ b/Demo/RX600_RX62N-RDK_IAR/settings/RTOSDemo.dbgdt
@@ -31,7 +31,7 @@
       
       
       
-    <Wnd1>
+    <Wnd0>
         <Tabs>
           <Tab>
             <Identity>TabID-20000-3827</Identity>
@@ -43,20 +43,20 @@
           </Tab>
         </Tabs>
         
-      <SelectedTab>0</SelectedTab></Wnd1><Wnd2><Tabs><Tab><Identity>TabID-2655-13188</Identity><TabName>Debug Log</TabName><Factory>Debug-Log</Factory><Session/></Tab></Tabs><SelectedTab>0</SelectedTab></Wnd2></Windows>
+      <SelectedTab>0</SelectedTab></Wnd0><Wnd3><Tabs><Tab><Identity>TabID-2655-13188</Identity><TabName>Debug Log</TabName><Factory>Debug-Log</Factory><Session/></Tab></Tabs><SelectedTab>0</SelectedTab></Wnd3></Windows>
     <Editor>
       
       
       
       
-    <Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\main-full.c</Filename><XPos>0</XPos><YPos>53</YPos><SelStart>3048</SelStart><SelEnd>3048</SelEnd></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-full.c</Filename><XPos>0</XPos><YPos>251</YPos><SelStart>12353</SelStart><SelEnd>12353</SelEnd></Tab><ActiveTab>0</ActiveTab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\FreeRTOSConfig.h</Filename><XPos>0</XPos><YPos>113</YPos><SelStart>6095</SelStart><SelEnd>6104</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\webserver\EMAC.c</Filename><XPos>0</XPos><YPos>134</YPos><SelStart>5833</SelStart><SelEnd>5833</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\uIP_Task.c</Filename><XPos>0</XPos><YPos>226</YPos><SelStart>7106</SelStart><SelEnd>7106</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\main-blinky.c</Filename><XPos>0</XPos><YPos>87</YPos><SelStart>4804</SelStart><SelEnd>4804</SelEnd></Tab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
     <Positions>
       
       
       
       
       
-    <Top><Row0><Sizes><Toolbar-00a2ab10><key>iaridepm.enu1</key></Toolbar-00a2ab10><Toolbar-02d473b0><key>debuggergui.enu1</key></Toolbar-02d473b0></Sizes></Row0></Top><Left><Row0><Sizes><Wnd1><Rect><Top>-2</Top><Left>-2</Left><Bottom>740</Bottom><Right>238</Right><x>-2</x><y>-2</y><xscreen>121</xscreen><yscreen>141</yscreen><sizeHorzCX>72024</sizeHorzCX><sizeHorzCY>143585</sizeHorzCY><sizeVertCX>142857</sizeVertCX><sizeVertCY>755601</sizeVertCY></Rect></Wnd1></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd2><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>203666</sizeHorzCY><sizeVertCX>119048</sizeVertCX><sizeVertCY>203666</sizeVertCY></Rect></Wnd2></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
+    <Top><Row0><Sizes><Toolbar-01335fe0><key>iaridepm.enu1</key></Toolbar-01335fe0><Toolbar-07c10450><key>debuggergui.enu1</key></Toolbar-07c10450></Sizes></Row0></Top><Left><Row0><Sizes><Wnd0><Rect><Top>-2</Top><Left>-2</Left><Bottom>740</Bottom><Right>238</Right><x>-2</x><y>-2</y><xscreen>121</xscreen><yscreen>141</yscreen><sizeHorzCX>72024</sizeHorzCX><sizeHorzCY>143585</sizeHorzCY><sizeVertCX>142857</sizeVertCX><sizeVertCY>755601</sizeVertCY></Rect></Wnd0></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>203666</sizeHorzCY><sizeVertCX>119048</sizeVertCX><sizeVertCY>203666</sizeVertCY></Rect></Wnd3></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
   </Desktop>
 </Project>
 
diff --git a/Demo/RX600_RX62N-RDK_IAR/settings/RTOSDemo.dni b/Demo/RX600_RX62N-RDK_IAR/settings/RTOSDemo.dni
index 05ba900..48339b9 100644
--- a/Demo/RX600_RX62N-RDK_IAR/settings/RTOSDemo.dni
+++ b/Demo/RX600_RX62N-RDK_IAR/settings/RTOSDemo.dni
@@ -1,7 +1,7 @@
 [E20]
-TimeConnected=1285248097
-ComuniDllSave=84541440
-FfwnsdDllSave=81330176
+TimeConnected=1305306990
+ComuniDllSave=194838528
+FfwnsdDllSave=194969600
 ChipName=R5F562N8
 CpuMode=0
 InputClock=12.500000
@@ -10,8 +10,18 @@
 DebugFlags=0,0
 EmulatorMode=0
 NeedInit=1
+BlockBits=0
+B0=0,0
+B1=0,0
+B2=0,0
+B3=0,0
+TraceMode=0
+TraceOutput=2
+TraceCapacity=0
+TraceRestart=0
+OperatingFrequency=12.500000
 [DebugChecksum]
-Checksum=188492037
+Checksum=-1259593031
 [DisAssemblyWindow]
 NumStates=_ 1
 State 1=_ 1
@@ -31,10 +41,25 @@
 TriggerName=main
 LimitSize=0
 ByteLimit=50
-[DriverProfiling]
-Enabled=0
-Source=2
-Graph=0
+[Stack]
+FillEnabled=0
+OverflowWarningsEnabled=1
+WarningThreshold=90
+SpWarningsEnabled=1
+WarnLogOnly=1
+UseTrigger=1
+TriggerName=main
+LimitSize=0
+ByteLimit=50
+[CallStack]
+ShowArgs=0
+[PowerLog]
+LogEnabled=0
+GraphEnabled=0
+ShowTimeLog=1
+ShowTimeSum=0
+Title0=Power
+Setup0=0 1 0 500 2 0 4 1 0
 [Log file]
 LoggingEnabled=_ 0
 LogFile=_ ""
@@ -42,6 +67,13 @@
 [TermIOLog]
 LoggingEnabled=_ 0
 LogFile=_ ""
+[CallStackLog]
+Enabled=0
+[DriverProfiling]
+Enabled=0
+Mode=3
+Graph=0
+Symbiont=0
 [Breakpoints]
 Count=0
 [Monitor Execution]
diff --git a/Demo/RX600_RX62N-RDK_IAR/settings/RTOSDemo.wsdt b/Demo/RX600_RX62N-RDK_IAR/settings/RTOSDemo.wsdt
index 62d2bb0..6dd1c2c 100644
--- a/Demo/RX600_RX62N-RDK_IAR/settings/RTOSDemo.wsdt
+++ b/Demo/RX600_RX62N-RDK_IAR/settings/RTOSDemo.wsdt
@@ -3,7 +3,7 @@
 <Workspace>
   <ConfigDictionary>
     
-  <CurrentConfigs><Project>RTOSDemo/Debug-with-optimisation</Project></CurrentConfigs></ConfigDictionary>
+  <CurrentConfigs><Project>RTOSDemo/Debug</Project></CurrentConfigs></ConfigDictionary>
   <Desktop>
     <Static>
       <Workspace>
@@ -33,7 +33,7 @@
             <Factory>Workspace</Factory>
             <Session>
               
-            <NodeDict><ExpandedNode>RTOSDemo</ExpandedNode><ExpandedNode>RTOSDemo/FreeRTOS Source</ExpandedNode><ExpandedNode>RTOSDemo/FreeRTOS Source/Portable Layer</ExpandedNode></NodeDict></Session>
+            <NodeDict><ExpandedNode>RTOSDemo</ExpandedNode></NodeDict></Session>
           </Tab>
         </Tabs>
         
@@ -53,14 +53,14 @@
       
       
       
-    <Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\main-full.c</Filename><XPos>0</XPos><YPos>53</YPos><SelStart>3048</SelStart><SelEnd>3048</SelEnd></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-full.c</Filename><XPos>0</XPos><YPos>44</YPos><SelStart>12353</SelStart><SelEnd>12353</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\main-blinky.c</Filename><XPos>0</XPos><YPos>49</YPos><SelStart>4804</SelStart><SelEnd>4804</SelEnd></Tab><ActiveTab>1</ActiveTab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
     <Positions>
       
       
       
       
       
-    <Top><Row0><Sizes><Toolbar-00a2ab40><key>iaridepm.enu1</key></Toolbar-00a2ab40></Sizes></Row0></Top><Left><Row0><Sizes><Wnd0><Rect><Top>-2</Top><Left>-2</Left><Bottom>706</Bottom><Right>351</Right><x>-2</x><y>-2</y><xscreen>331</xscreen><yscreen>284</yscreen><sizeHorzCX>197024</sizeHorzCX><sizeHorzCY>289206</sizeHorzCY><sizeVertCX>210119</sizeVertCX><sizeVertCY>720978</sizeVertCY></Rect></Wnd0></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd1><Rect><Top>-2</Top><Left>-2</Left><Bottom>232</Bottom><Right>1682</Right><x>-2</x><y>-2</y><xscreen>1684</xscreen><yscreen>234</yscreen><sizeHorzCX>1002381</sizeHorzCX><sizeHorzCY>238289</sizeHorzCY><sizeVertCX>197024</sizeVertCX><sizeVertCY>289206</sizeVertCY></Rect></Wnd1></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
+    <Top><Row0><Sizes><Toolbar-01335fe0><key>iaridepm.enu1</key></Toolbar-01335fe0></Sizes></Row0><Row1><Sizes/></Row1><Row2><Sizes/></Row2></Top><Left><Row0><Sizes><Wnd0><Rect><Top>-2</Top><Left>-2</Left><Bottom>706</Bottom><Right>351</Right><x>-2</x><y>-2</y><xscreen>331</xscreen><yscreen>284</yscreen><sizeHorzCX>197024</sizeHorzCX><sizeHorzCY>289206</sizeHorzCY><sizeVertCX>210119</sizeVertCX><sizeVertCY>720978</sizeVertCY></Rect></Wnd0></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd1><Rect><Top>-2</Top><Left>-2</Left><Bottom>232</Bottom><Right>1682</Right><x>-2</x><y>-2</y><xscreen>1684</xscreen><yscreen>234</yscreen><sizeHorzCX>1002381</sizeHorzCX><sizeHorzCY>238289</sizeHorzCY><sizeVertCX>197024</sizeVertCX><sizeVertCY>289206</sizeVertCY></Rect></Wnd1></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
   </Desktop>
 </Workspace>
 
diff --git a/Demo/RX600_RX62N-RDK_IAR/uIP_Task.c b/Demo/RX600_RX62N-RDK_IAR/uIP_Task.c
index 1521ef8..17a5925 100644
--- a/Demo/RX600_RX62N-RDK_IAR/uIP_Task.c
+++ b/Demo/RX600_RX62N-RDK_IAR/uIP_Task.c
@@ -57,7 +57,8 @@
 /* Scheduler includes. */
 #include "FreeRTOS.h"
 #include "task.h"
-#include "semphr.h"
+#include "timers.h"
+#include "queue.h"
 
 /* uip includes. */
 #include "net/uip.h"
@@ -81,6 +82,15 @@
 /* Standard constant. */
 #define uipTOTAL_FRAME_HEADER_SIZE	54
 
+/* The ARP timer and the periodic timer share a callback function, so the
+respective timer IDs are used to determine which timer actually expired.  These
+constants are assigned to the timer IDs. */
+#define uipARP_TIMER				0
+#define uipPERIODIC_TIMER			1
+
+/* A block time of zero ticks simply means, "don't block". */
+#define uipDONT_BLOCK				0UL
+
 /*-----------------------------------------------------------*/
 
 /*
@@ -89,24 +99,28 @@
 static void prvSetMACAddress( void );
 
 /*
+ * Perform any uIP initialisation necessary.
+ */
+static void prvInitialise_uIP( void );
+
+/*
+ * The callback function that is assigned to both the periodic timer and the
+ * ARP timer.
+ */
+static void prvUIPTimerCallback( xTimerHandle xTimer );
+
+/*
  * Port functions required by the uIP stack.
  */
-void clock_init( void );
 clock_time_t clock_time( void );
 
 /*-----------------------------------------------------------*/
 
-/* The semaphore used by the ISR to wake the uIP task. */
-xSemaphoreHandle xEMACSemaphore = NULL;
+/* The queue used to send TCP/IP events to the uIP stack. */
+xQueueHandle xEMACEventQueue = NULL;
 
 /*-----------------------------------------------------------*/
 
-void clock_init(void)
-{
-	/* This is done when the scheduler starts. */
-}
-/*-----------------------------------------------------------*/
-
 clock_time_t clock_time( void )
 {
 	return xTaskGetTickCount();
@@ -115,25 +129,14 @@
 
 void vuIP_Task( void *pvParameters )
 {
-portBASE_TYPE i, xDoneSomething;
-uip_ipaddr_t xIPAddr;
-struct timer periodic_timer, arp_timer;
+portBASE_TYPE i;
+unsigned long ulNewEvent = 0UL;
+unsigned long ulUIP_Events = 0UL;
 
 	( void ) pvParameters;
-
+	
 	/* Initialise the uIP stack. */
-	timer_set( &periodic_timer, configTICK_RATE_HZ / 2 );
-	timer_set( &arp_timer, configTICK_RATE_HZ * 10 );
-	uip_init();
-	uip_ipaddr( &xIPAddr, configIP_ADDR0, configIP_ADDR1, configIP_ADDR2, configIP_ADDR3 );
-	uip_sethostaddr( &xIPAddr );
-	uip_ipaddr( &xIPAddr, configNET_MASK0, configNET_MASK1, configNET_MASK2, configNET_MASK3 );
-	uip_setnetmask( &xIPAddr );
-	prvSetMACAddress();
-	httpd_init();
-
-	/* Create the semaphore used to wake the uIP task. */
-	vSemaphoreCreateBinary( xEMACSemaphore );
+	prvInitialise_uIP();
 
 	/* Initialise the MAC. */
 	vInitEmac();
@@ -145,49 +148,51 @@
 
 	for( ;; )
 	{
-		xDoneSomething = pdFALSE;
-		
-		/* Is there received data ready to be processed? */
-		uip_len = ( unsigned short ) ulEMACRead();
-		
-		if( ( uip_len > 0 ) && ( uip_buf != NULL ) )
-		{
-			/* Standard uIP loop taken from the uIP manual. */
-			if( xHeader->type == htons( UIP_ETHTYPE_IP ) )
+		if( ( ulUIP_Events & uipETHERNET_RX_EVENT ) != 0UL )
+		{		
+			/* Is there received data ready to be processed? */
+			uip_len = ( unsigned short ) ulEMACRead();
+			
+			if( ( uip_len > 0 ) && ( uip_buf != NULL ) )
 			{
-				uip_arp_ipin();
-				uip_input();
-
-				/* If the above function invocation resulted in data that
-				should be sent out on the network, the global variable
-				uip_len is set to a value > 0. */
-				if( uip_len > 0 )
+				/* Standard uIP loop taken from the uIP manual. */
+				if( xHeader->type == htons( UIP_ETHTYPE_IP ) )
 				{
-					uip_arp_out();
-					vEMACWrite();
+					uip_arp_ipin();
+					uip_input();
+
+					/* If the above function invocation resulted in data that
+					should be sent out on the network, the global variable
+					uip_len is set to a value > 0. */
+					if( uip_len > 0 )
+					{
+						uip_arp_out();
+						vEMACWrite();
+					}
 				}
-				
-				xDoneSomething = pdTRUE;
+				else if( xHeader->type == htons( UIP_ETHTYPE_ARP ) )
+				{
+					uip_arp_arpin();
+
+					/* If the above function invocation resulted in data that
+					should be sent out on the network, the global variable
+					uip_len is set to a value > 0. */
+					if( uip_len > 0 )
+					{
+						vEMACWrite();
+					}
+				}
 			}
-			else if( xHeader->type == htons( UIP_ETHTYPE_ARP ) )
+			else
 			{
-				uip_arp_arpin();
-
-				/* If the above function invocation resulted in data that
-				should be sent out on the network, the global variable
-				uip_len is set to a value > 0. */
-				if( uip_len > 0 )
-				{
-					vEMACWrite();
-				}
-				
-				xDoneSomething = pdTRUE;
+				ulUIP_Events &= ~uipETHERNET_RX_EVENT;
 			}
 		}
-
-		if( timer_expired( &periodic_timer ) && ( uip_buf != NULL ) )
+		
+		if( ( ulUIP_Events & uipPERIODIC_TIMER_EVENT ) != 0UL )
 		{
-			timer_reset( &periodic_timer );
+			ulUIP_Events &= ~uipPERIODIC_TIMER_EVENT;
+					
 			for( i = 0; i < UIP_CONNS; i++ )
 			{
 				uip_periodic( i );
@@ -201,25 +206,82 @@
 					vEMACWrite();
 				}
 			}
-
-			/* Call the ARP timer function every 10 seconds. */
-			if( timer_expired( &arp_timer ) )
-			{
-				timer_reset( &arp_timer );
-				uip_arp_timer();
-			}
-			
-			xDoneSomething = pdTRUE;
 		}
 		
-		if( xDoneSomething == pdFALSE )
+		/* Call the ARP timer function every 10 seconds. */
+		if( ( ulUIP_Events & uipARP_TIMER_EVENT ) != 0 )
 		{
-			/* We did not receive a packet, and there was no periodic
-			processing to perform.  Block for a fixed period.  If a packet
-			is received during this period we will be woken by the ISR
-			giving us the Semaphore. */
-			xSemaphoreTake( xEMACSemaphore, configTICK_RATE_HZ / 20 );
+			ulUIP_Events &= ~uipARP_TIMER_EVENT;
+			uip_arp_timer();
 		}
+			
+		if( ulUIP_Events == pdFALSE )
+		{
+			xQueueReceive( xEMACEventQueue, &ulNewEvent, portMAX_DELAY );
+			ulUIP_Events |= ulNewEvent;
+		}
+	}
+}
+/*-----------------------------------------------------------*/
+
+static void prvInitialise_uIP( void )
+{
+xTimerHandle xARPTimer, xPeriodicTimer;
+uip_ipaddr_t xIPAddr;
+const unsigned long ul_uIPEventQueueLength = 10UL;
+
+	/* Initialise the uIP stack. */
+	uip_init();
+	uip_ipaddr( &xIPAddr, configIP_ADDR0, configIP_ADDR1, configIP_ADDR2, configIP_ADDR3 );
+	uip_sethostaddr( &xIPAddr );
+	uip_ipaddr( &xIPAddr, configNET_MASK0, configNET_MASK1, configNET_MASK2, configNET_MASK3 );
+	uip_setnetmask( &xIPAddr );
+	prvSetMACAddress();
+	httpd_init();
+
+	/* Create the queue used to sent TCP/IP events to the uIP stack. */
+	xEMACEventQueue = xQueueCreate( ul_uIPEventQueueLength, sizeof( unsigned long ) );
+
+	/* Create and start the uIP timers. */
+	xARPTimer = xTimerCreate( 	"ARPTimer", /* Just a name that is helpful for debugging, not used by the kernel. */
+								( 10000UL / portTICK_RATE_MS ), /* Timer period. */
+								pdTRUE, /* Autor-reload. */
+								( void * ) uipARP_TIMER,
+								prvUIPTimerCallback
+							);
+
+	xPeriodicTimer = xTimerCreate( 	"PeriodicTimer",
+									( 500 / portTICK_RATE_MS ),
+									pdTRUE, /* Autor-reload. */
+									( void * ) uipPERIODIC_TIMER,
+									prvUIPTimerCallback
+								);
+
+	configASSERT( xARPTimer );
+	configASSERT( xPeriodicTimer );
+
+	xTimerStart( xARPTimer, portMAX_DELAY );
+	xTimerStart( xPeriodicTimer, portMAX_DELAY );
+}
+/*-----------------------------------------------------------*/
+
+static void prvUIPTimerCallback( xTimerHandle xTimer )
+{
+static const unsigned long ulARPTimerExpired = uipARP_TIMER_EVENT;
+static const unsigned long ulPeriodicTimerExpired = uipPERIODIC_TIMER_EVENT;
+
+	/* This is a time callback, so calls to xQueueSend() must not attempt to
+	block. */
+	switch( ( int ) pvTimerGetTimerID( xTimer ) )
+	{
+		case uipARP_TIMER		:	xQueueSend( xEMACEventQueue, &ulARPTimerExpired, uipDONT_BLOCK );
+									break;
+
+		case uipPERIODIC_TIMER	:	xQueueSend( xEMACEventQueue, &ulPeriodicTimerExpired, uipDONT_BLOCK );
+									break;
+
+		default					:  	/* Should not get here. */
+									break;
 	}
 }
 /*-----------------------------------------------------------*/
diff --git a/Demo/RX600_RX62N-RDK_IAR/webserver/EMAC.c b/Demo/RX600_RX62N-RDK_IAR/webserver/EMAC.c
index f1eb1fe..01ce33e 100644
--- a/Demo/RX600_RX62N-RDK_IAR/webserver/EMAC.c
+++ b/Demo/RX600_RX62N-RDK_IAR/webserver/EMAC.c
@@ -152,7 +152,7 @@
 /*-----------------------------------------------------------*/
 
 /* Points to the Rx descriptor currently in use. */
-static volatile ethfifo *pxCurrentDesc = NULL;
+static volatile ethfifo *pxCurrentRxDesc = NULL;
 
 /* The buffer used by the uIP stack to both receive and send.  This points to
 one of the Ethernet buffers when its actually in use. */
@@ -241,23 +241,29 @@
 
 	if( ulBytesReceived > 0 )
 	{
-		pxCurrentDesc->status &= ~( FP1 | FP0 );
-		pxCurrentDesc->status |= ACT;			
+		/* Mark the pxDescriptor buffer as free as uip_buf is going to be set to
+		the buffer that contains the received data. */
+		prvReturnBuffer( uip_buf );
 
+		/* Point uip_buf to the data about ot be processed. */
+		uip_buf = ( void * ) pxCurrentRxDesc->buf_p;
+		
+		/* Allocate a new buffer to the descriptor, as uip_buf is now using it's
+		old descriptor. */
+		pxCurrentRxDesc->buf_p = ( char * ) prvGetNextBuffer();
+
+		/* Prepare the descriptor to go again. */
+		pxCurrentRxDesc->status &= ~( FP1 | FP0 );
+		pxCurrentRxDesc->status |= ACT;
+
+		/* Move onto the next buffer in the ring. */
+		pxCurrentRxDesc = pxCurrentRxDesc->next;
+		
 		if( EDMAC.EDRRR.LONG == 0x00000000L )
 		{
 			/* Restart Ethernet if it has stopped */
 			EDMAC.EDRRR.LONG = 0x00000001L;
 		}
-
-		/* Mark the pxDescriptor buffer as free as uip_buf is going to be set to
-		the buffer that contains the received data. */
-		prvReturnBuffer( uip_buf );
-		
-		uip_buf = ( void * ) pxCurrentDesc->buf_p;
-
-		/* Move onto the next buffer in the ring. */
-		pxCurrentDesc = pxCurrentDesc->next;
 	}
 
 	return ulBytesReceived;
@@ -367,7 +373,7 @@
 	pxDescriptor->next = ( ethfifo * ) &( xTxDescriptors[ 0 ] );
 	
 	/* Use the first Rx descriptor to start with. */
-	pxCurrentDesc = &( xRxDescriptors[ 0 ] );
+	pxCurrentRxDesc = &( xRxDescriptors[ 0 ] );
 }
 /*-----------------------------------------------------------*/
 
@@ -439,17 +445,17 @@
 {
 unsigned long ulReturn = 0;
 
-	if( ( pxCurrentDesc->status & ACT ) != 0 )
+	if( ( pxCurrentRxDesc->status & ACT ) != 0 )
 	{
 		/* Current descriptor is still active. */
 	}
-	else if( ( pxCurrentDesc->status & FE ) != 0 )
+	else if( ( pxCurrentRxDesc->status & FE ) != 0 )
 	{
 		/* Frame error.  Clear the error. */
-		pxCurrentDesc->status &= ~( FP1 | FP0 | FE );
-		pxCurrentDesc->status &= ~( RMAF | RRF | RTLF | RTSF | PRE | CERF );
-		pxCurrentDesc->status |= ACT;
-		pxCurrentDesc = pxCurrentDesc->next;
+		pxCurrentRxDesc->status &= ~( FP1 | FP0 | FE );
+		pxCurrentRxDesc->status &= ~( RMAF | RRF | RTLF | RTSF | PRE | CERF );
+		pxCurrentRxDesc->status |= ACT;
+		pxCurrentRxDesc = pxCurrentRxDesc->next;
 
 		if( EDMAC.EDRRR.LONG == 0x00000000UL )
 		{
@@ -461,9 +467,9 @@
 	{
 		/* The descriptor contains a frame.  Because of the size of the buffers
 		the frame should always be complete. */
-		if( ( pxCurrentDesc->status & FP0 ) == FP0 )
+		if( ( pxCurrentRxDesc->status & FP0 ) == FP0 )
 		{
-			ulReturn = pxCurrentDesc->size;
+			ulReturn = pxCurrentRxDesc->size;
 		}
 		else
 		{
@@ -510,12 +516,13 @@
 	#if __LITTLE_ENDIAN__ == 1
 		EDMAC.EDMR.BIT.DE = 1;
 	#endif
-	EDMAC.RDLAR = ( void * ) pxCurrentDesc;	/* Initialaize Rx Descriptor List Address */
+	EDMAC.RDLAR = ( void * ) pxCurrentRxDesc;	/* Initialaize Rx Descriptor List Address */
 	EDMAC.TDLAR = ( void * ) &( xTxDescriptors[ 0 ] );/* Initialaize Tx Descriptor List Address */
 	EDMAC.TRSCER.LONG = 0x00000000;				/* Copy-back status is RFE & TFE only   */
 	EDMAC.TFTR.LONG = 0x00000000;				/* Threshold of Tx_FIFO */
 	EDMAC.FDR.LONG = 0x00000000;				/* Transmit fifo & receive fifo is 256 bytes */
 	EDMAC.RMCR.LONG = 0x00000003;				/* Receive function is normal mode(continued) */
+	ETHERC.ECMR.BIT.PRM = 0;					/* Ensure promiscuous mode is off. */
 	
 	/* Enable the interrupt... */
 	_IEN( _ETHER_EINT ) = 1;	
@@ -527,21 +534,16 @@
 {
 unsigned long ul = EDMAC.EESR.LONG;
 long lHigherPriorityTaskWoken = pdFALSE;
-extern xSemaphoreHandle xEMACSemaphore;
-static long ulTxEndInts = 0;
+extern xQueueHandle xEMACEventQueue;
+const unsigned long ulRxEvent = uipETHERNET_RX_EVENT;
 
 	__enable_interrupt();
 
 	/* Has a Tx end occurred? */
 	if( ul & emacTX_END_INTERRUPT )
 	{
-		++ulTxEndInts;
-		if( ulTxEndInts >= 2 )
-		{
-			/* Only return the buffer to the pool once both Txes have completed. */
-			prvReturnBuffer( ( void * ) xTxDescriptors[ 0 ].buf_p );
-			ulTxEndInts = 0;
-		}
+		/* Only return the buffer to the pool once both Txes have completed. */
+		prvReturnBuffer( ( void * ) xTxDescriptors[ 0 ].buf_p );
 		EDMAC.EESR.LONG = emacTX_END_INTERRUPT;
 	}
 
@@ -549,7 +551,7 @@
 	if( ul & emacRX_END_INTERRUPT )
 	{
 		/* Make sure the Ethernet task is not blocked waiting for a packet. */
-		xSemaphoreGiveFromISR( xEMACSemaphore, &lHigherPriorityTaskWoken );
+		xQueueSendFromISR( xEMACEventQueue, &ulRxEvent, &lHigherPriorityTaskWoken );
 		portYIELD_FROM_ISR( lHigherPriorityTaskWoken );
 		EDMAC.EESR.LONG = emacRX_END_INTERRUPT;
 	}
diff --git a/Demo/RX600_RX62N-RDK_Renesas/RTOSDemo.tws b/Demo/RX600_RX62N-RDK_Renesas/RTOSDemo.tws
index b815631..4f67687 100644
--- a/Demo/RX600_RX62N-RDK_Renesas/RTOSDemo.tws
+++ b/Demo/RX600_RX62N-RDK_Renesas/RTOSDemo.tws
@@ -10,8 +10,8 @@
 "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RDK_Renesas\RTOSDemo\main-blinky.c" 
 "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RDK_Renesas\RTOSDemo\main-full.c" 
 [WORKSPACE_FILE_STATES]
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RDK_Renesas\RTOSDemo\main-blinky.c" -4 -23 1312 686 1 1 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RDK_Renesas\RTOSDemo\main-full.c" 0 0 1312 668 0 0 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RDK_Renesas\RTOSDemo\main-blinky.c" 0 0 1312 686 0 1 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RDK_Renesas\RTOSDemo\main-full.c" -4 -23 1312 668 1 0 
 [LOADED_PROJECTS]
 "RTOSDemo" 
 [END]
diff --git a/Demo/RX600_RX62N-RDK_Renesas/RTOSDemo/RTOSDemo.nav b/Demo/RX600_RX62N-RDK_Renesas/RTOSDemo/RTOSDemo.nav
index 69eba0c..e2d42cc 100644
--- a/Demo/RX600_RX62N-RDK_Renesas/RTOSDemo/RTOSDemo.nav
+++ b/Demo/RX600_RX62N-RDK_Renesas/RTOSDemo/RTOSDemo.nav
Binary files differ
diff --git a/Demo/RX600_RX62N-RDK_Renesas/RTOSDemo/SessionRX600_E1_E20_SYSTEM.hsf b/Demo/RX600_RX62N-RDK_Renesas/RTOSDemo/SessionRX600_E1_E20_SYSTEM.hsf
index f7155a0..e756968 100644
--- a/Demo/RX600_RX62N-RDK_Renesas/RTOSDemo/SessionRX600_E1_E20_SYSTEM.hsf
+++ b/Demo/RX600_RX62N-RDK_Renesas/RTOSDemo/SessionRX600_E1_E20_SYSTEM.hsf
@@ -89,30 +89,30 @@
 "{5F75FDA0-6FF0-11D5-B7CE-00E029352378}PACtrlViews" "0" 
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_EVAL_DENORMAL_MODE" "16777216" 
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_EVAL_ROUND_MODE" "768" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_0" "000000000000B5DC" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_1" "000000000000B364" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_0" "000000000000B58C" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_1" "000000000000AD9C" 
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_10" "00000000A5A5A5A5" 
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_11" "00000000A5A5A5A5" 
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_12" "00000000A5A5A5A5" 
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_13" "00000000A5A5A5A5" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_14" "00000000A5A5A5A5" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_15" "000000000000ADC4" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_16" "000000000000B5DC" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_17" "00000000000130CC" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_14" "000000000000AD9C" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_15" "000000000000B33C" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_16" "000000000000B58C" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_17" "0000000000013104" 
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_18" "0000000000030001" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_19" "00000000FFF8F563" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_19" "00000000FFF92894" 
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_2" "0000000000000000" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_20" "00000000FFF8B130" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_20" "00000000FFF8B0F0" 
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_21" "0000000080000000" 
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_22" "0000000000000000" 
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_23" "0000000000000000" 
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_24" "0000000000000100" 
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_25" "1234567887650000" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_3" "0000000000012B18" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_4" "0000000000012B18" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_5" "0000000000000000" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_6" "000000000000AE24" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_7" "000000000000ADC4" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_3" "0000000000000000" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_4" "0000000000000000" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_5" "000000000000B33C" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_6" "00000000A5A5A5A5" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_7" "00000000A5A5A5A5" 
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_8" "00000000A5A5A5A5" 
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_9" "00000000A5A5A5A5" 
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_COUNT" "26" 
@@ -410,9 +410,11 @@
 [WINDOW_POSITION_STATE_DATA_VD4]
 [WINDOW_Z_ORDER]
 "{WK_TB00000028_RTOSDEBUG} TOOLBAR 0" 
+"{WK_TB00000013_SYMBOL} TOOLBAR 0" 
+"{WK_TB00000011_CPU} TOOLBAR 0" 
 "{WK_TB00000025_HELPSYSTEMTOOL} TOOLBAR 0" 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RDK_Renesas\RTOSDemo\main-blinky.c" 
 "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RDK_Renesas\RTOSDemo\main-full.c" 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RDK_Renesas\RTOSDemo\main-blinky.c" 
 [TARGET_NAME]
 "RX600 Segger J-Link" "" 0 
 [STATUSBAR_STATEINFO_VD1]
@@ -464,5 +466,5 @@
 [FLASH_DETAILS]
 "" 0 0 "" 0 "" 0 0 "" 0 0 0 0 0 0 0 "" "" "" "" "" 
 [BREAKPOINTS]
-"c:\e\dev\freertos\workingcopy\demo\rx600_rx62n-rdk_renesas\rtosdemo\webserver\emac.c" 413 33252624 1 "{00000000-0000-0000-C000-000000000046}" "" 
+"c:\e\dev\freertos\workingcopy\demo\rx600_rx62n-rdk_renesas\rtosdemo\webserver\emac.c" 413 0 1 "{00000000-0000-0000-C000-000000000046}" "" 
 [END]
diff --git a/Demo/RX600_RX62N-RDK_Renesas/RTOSDemo/uIP_Task.c b/Demo/RX600_RX62N-RDK_Renesas/RTOSDemo/uIP_Task.c
index 0873c9e..847c9cb 100644
--- a/Demo/RX600_RX62N-RDK_Renesas/RTOSDemo/uIP_Task.c
+++ b/Demo/RX600_RX62N-RDK_Renesas/RTOSDemo/uIP_Task.c
@@ -228,7 +228,6 @@
 {
 xTimerHandle xARPTimer, xPeriodicTimer;
 uip_ipaddr_t xIPAddr;
-struct timer periodic_timer, arp_timer;
 const unsigned long ul_uIPEventQueueLength = 10UL;
 
 	/* Initialise the uIP stack. */
diff --git a/Demo/RX600_RX62N-RSK_GNURX/RTOSDemo/FreeRTOSConfig.h b/Demo/RX600_RX62N-RSK_GNURX/RTOSDemo/FreeRTOSConfig.h
index c1bfab0..9a67850 100644
--- a/Demo/RX600_RX62N-RSK_GNURX/RTOSDemo/FreeRTOSConfig.h
+++ b/Demo/RX600_RX62N-RSK_GNURX/RTOSDemo/FreeRTOSConfig.h
@@ -93,6 +93,12 @@
 #define configMAX_PRIORITIES			( ( unsigned portBASE_TYPE ) 7 )
 #define configMAX_CO_ROUTINE_PRIORITIES ( 2 )
 
+/* Software timer definitions. */
+#define configUSE_TIMERS				1
+#define configTIMER_TASK_PRIORITY		( 3 )
+#define configTIMER_QUEUE_LENGTH		5
+#define configTIMER_TASK_STACK_DEPTH	( configMINIMAL_STACK_SIZE )
+
 /* The interrupt priority used by the kernel itself for the tick interrupt and
 the pended interrupt.  This would normally be the lowest priority. */
 #define configKERNEL_INTERRUPT_PRIORITY         1
@@ -115,6 +121,8 @@
 #define INCLUDE_uxTaskGetStackHighWaterMark	1
 #define INCLUDE_xTaskGetSchedulerState		1
 
+#define configASSERT( x ) if( ( x ) == 0 ) { taskDISABLE_INTERRUPTS(); for( ;; ); }	
+
 extern volatile unsigned long ulHighFrequencyTickCount;
 #define portCONFIGURE_TIMER_FOR_RUN_TIME_STATS() portNOP() /* Run time stats use the same timer as the high frequency timer test. */
 #define portGET_RUN_TIME_COUNTER_VALUE() ulHighFrequencyTickCount
diff --git a/Demo/RX600_RX62N-RSK_GNURX/RTOSDemo/RTOSDemo.hwp b/Demo/RX600_RX62N-RSK_GNURX/RTOSDemo/RTOSDemo.hwp
index 3ac639b..67449a7 100644
--- a/Demo/RX600_RX62N-RSK_GNURX/RTOSDemo/RTOSDemo.hwp
+++ b/Demo/RX600_RX62N-RSK_GNURX/RTOSDemo/RTOSDemo.hwp
@@ -159,6 +159,7 @@
 "C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\MemMang\heap_2.c" "User" "C source file|FreeRTOS Source|Portable Layer" 2 
 "C:\E\Dev\FreeRTOS\WorkingCopy\Source\queue.c" "User" "C source file|FreeRTOS Source" 2 
 "C:\E\Dev\FreeRTOS\WorkingCopy\Source\tasks.c" "User" "C source file|FreeRTOS Source" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\timers.c" "User" "C source file" 2 
 [FOLDER]
 "C header file" "C header file" 
 "C source file" "C source file" 
@@ -184,59 +185,60 @@
 [OPTIONS_Blinky_GNU Assembler]
 "Assembly source file" "0f757b5b0aa5bc10" 4 
 [OPTIONS_Blinky_GNU Compiler]
-"C source file" "00e05b5b0aa5bc10" 3 
-"C++ source file" "00e05b5b0aa5bc10" 3 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\BlockQ.c" "00e05b5b0aa5bc10" 3 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\GenQTest.c" "00e05b5b0aa5bc10" 3 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\IntQueue.c" "00e05b5b0aa5bc10" 3 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\PollQ.c" "00e05b5b0aa5bc10" 3 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\QPeek.c" "00e05b5b0aa5bc10" 3 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\blocktim.c" "00e05b5b0aa5bc10" 3 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\death.c" "00e05b5b0aa5bc10" 3 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\flash.c" "00e05b5b0aa5bc10" 3 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\flop.c" "00e05b5b0aa5bc10" 3 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\integer.c" "00e05b5b0aa5bc10" 3 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\recmutex.c" "00e05b5b0aa5bc10" 3 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\semtest.c" "00e05b5b0aa5bc10" 3 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\ethernet\FreeTCPIP\apps\httpd\http-strings.c" "00e05b5b0aa5bc10" 3 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\ethernet\FreeTCPIP\apps\httpd\httpd-fs.c" "00e05b5b0aa5bc10" 3 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\ethernet\FreeTCPIP\apps\httpd\httpd.c" "00e05b5b0aa5bc10" 3 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\ethernet\FreeTCPIP\psock.c" "00e05b5b0aa5bc10" 3 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\ethernet\FreeTCPIP\timer.c" "00e05b5b0aa5bc10" 3 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\ethernet\FreeTCPIP\uip.c" "00e05b5b0aa5bc10" 3 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\ethernet\FreeTCPIP\uip_arp.c" "00e05b5b0aa5bc10" 3 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\GNU-Files\hwinit.c" "00e05b5b0aa5bc10" 3 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\GNU-Files\inthandler.c" "00e05b5b0aa5bc10" 3 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\GNU-Files\start.asm" "00e05b5b0aa5bc10" 2 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\HighFrequencyTimerTest.c" "00e05b5b0aa5bc10" 3 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\IntQueueTimer.c" "00e05b5b0aa5bc10" 3 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\ParTest.c" "00e05b5b0aa5bc10" 3 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\Renesas-Files\hwsetup.c" "00e05b5b0aa5bc10" 3 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\main-blinky.c" "00e05b5b0aa5bc10" 3 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\main-full.c" "00e05b5b0aa5bc10" 3 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\uIP_Task.c" "00e05b5b0aa5bc10" 3 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\vects.c" "00e05b5b0aa5bc10" 3 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\webserver\EMAC.c" "00e05b5b0aa5bc10" 3 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\webserver\httpd-cgi.c" "00e05b5b0aa5bc10" 3 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\webserver\phy.c" "00e05b5b0aa5bc10" 3 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Source\list.c" "00e05b5b0aa5bc10" 3 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\GCC\RX600\port.c" "00e05b5b0aa5bc10" 3 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\MemMang\heap_2.c" "00e05b5b0aa5bc10" 3 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Source\queue.c" "00e05b5b0aa5bc10" 3 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Source\tasks.c" "00e05b5b0aa5bc10" 3 
-"Preprocess Assembly file" "00e05b5b0aa5bc10" 2 
+"C source file" "00e05b5b0aa5bc10" 2 
+"C++ source file" "00e05b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\BlockQ.c" "00e05b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\GenQTest.c" "00e05b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\IntQueue.c" "00e05b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\PollQ.c" "00e05b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\QPeek.c" "00e05b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\blocktim.c" "00e05b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\death.c" "00e05b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\flash.c" "00e05b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\flop.c" "00e05b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\integer.c" "00e05b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\recmutex.c" "00e05b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\semtest.c" "00e05b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\ethernet\FreeTCPIP\apps\httpd\http-strings.c" "00e05b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\ethernet\FreeTCPIP\apps\httpd\httpd-fs.c" "00e05b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\ethernet\FreeTCPIP\apps\httpd\httpd.c" "00e05b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\ethernet\FreeTCPIP\psock.c" "00e05b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\ethernet\FreeTCPIP\timer.c" "00e05b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\ethernet\FreeTCPIP\uip.c" "00e05b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\ethernet\FreeTCPIP\uip_arp.c" "00e05b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\GNU-Files\hwinit.c" "00e05b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\GNU-Files\inthandler.c" "00e05b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\GNU-Files\start.asm" "00e05b5b0aa5bc10" 3 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\HighFrequencyTimerTest.c" "00e05b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\IntQueueTimer.c" "00e05b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\ParTest.c" "00e05b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\Renesas-Files\hwsetup.c" "00e05b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\main-blinky.c" "00e05b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\main-full.c" "00e05b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\uIP_Task.c" "00e05b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\vects.c" "00e05b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\webserver\EMAC.c" "00e05b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\webserver\httpd-cgi.c" "00e05b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\webserver\phy.c" "00e05b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\list.c" "00e05b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\GCC\RX600\port.c" "00e05b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\MemMang\heap_2.c" "00e05b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\queue.c" "00e05b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\tasks.c" "00e05b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\timers.c" "08849e57f811cc10" 2 
+"Preprocess Assembly file" "00e05b5b0aa5bc10" 3 
 [OPTIONS_Blinky_GNU Library Generator]
 "Single Shot" "00e05b5b0aa5bc10" 1 
 [OPTIONS_Blinky_GNU Linker]
-"Single Shot" "0f757b5b0aa5bc10" 5 
+"Single Shot" "04611067f811cc10" 5 
 [OPTIONS_Blinky]
 "" 0 
 "[V|VERSION|2] [B|DOEXTF|1] [S|INCDIR|^"$(TCINSTALL)\rx-elf\lib\gcc\rx-elf\4.5-GNURX_v10.03^"|^"$(CONFIGDIR)^"] [B|RSARCH|1] [B|FIXUPLIBS|1] [S|ARCHIVE|lib$(PROJECTNAME).a*libgcc.a] [S|OUTFORM|BOTH] [B|MFILEGEN|1] [S|PLMFILE|^"$(CONFIGDIR)\$(PROJECTNAME).map^"] [S|OUTFILE|^"$(CONFIGDIR)\$(PROJECTNAME).x^"] [S|GROUPDET|.fvectors|0|0||1|0xFFFFFF80|0|1|0|.fvectors|All-files|<<FEND>>|<<CEND>>|<<GEND>>|.text|0|0||1|0xFFF80000|0|0|0|.text|All-files|<<FEND>>|0|.text.*|All-files|<<FEND>>|0|P|All-files|<<FEND>>|1|etext|<<FEND>>|<<CEND>>|<<GEND>>|.rvectors|0|0||0||0|1|1|_rvectors_start|<<FEND>>|0|.rvectors|All-files|<<FEND>>|1|_rvectors_end|<<FEND>>|<<CEND>>|<<GEND>>|.init|0|0||0||0|0|0|.init|All-files|<<FEND>>|<<CEND>>|<<GEND>>|.fini|0|0||0||0|0|0|.fini|All-files|<<FEND>>|<<CEND>>|<<GEND>>|.got|0|0||0||0|0|0|.got|All-files|<<FEND>>|0|.got.plt|All-files|<<FEND>>|<<CEND>>|<<GEND>>|.rodata|0|0||0||0|0|0|.rodata|All-files|<<FEND>>|0|.rodata.*|All-files|<<FEND>>|0|C_1|All-files|<<FEND>>|0|C_2|All-files|<<FEND>>|0|C|All-files|<<FEND>>|1|_erodata|<<FEND>>|<<CEND>>|<<GEND>>|.eh_frame_hdr|0|0||0||0|0|0|.eh_frame_hdr|All-files|<<FEND>>|<<CEND>>|<<GEND>>|.eh_frame|0|0||0||0|0|0|.eh_frame|All-files|<<FEND>>|<<CEND>>|<<GEND>>|.jcr|0|0||0||0|0|0|.jcr|All-files|<<FEND>>|<<CEND>>|<<GEND>>|.tors|0|0||0||0|0|1|__CTOR_LIST__|<<FEND>>|1|___ctors|<<FEND>>|0|.ctors|All-files|<<FEND>>|1|___ctors_end|<<FEND>>|1|__CTOR_END__|<<FEND>>|1|__DTOR_LIST__|<<FEND>>|1|___dtors|<<FEND>>|0|.dtors|All-files|<<FEND>>|1|___dtors_end|<<FEND>>|1|__DTOR_END__|<<FEND>>|1|_mdata|<<FEND>>|<<CEND>>|<<GEND>>|.istack|0|0||1|0x00017FFC|0|0|1|_istack|<<FEND>>|<<CEND>>|<<GEND>>|.ustack|0|0||1|0x000179BC|0|0|1|_ustack|<<FEND>>|<<CEND>>|<<GEND>>|.data|0|2|_mdata|1|0x00001000|0|0|1|_data|<<FEND>>|0|.data|All-files|<<FEND>>|0|.data.*|All-files|<<FEND>>|0|D|All-files|<<FEND>>|0|D_1|All-files|<<FEND>>|0|D_2|All-files|<<FEND>>|1|_edata|<<FEND>>|<<CEND>>|<<GEND>>|.gcc_exc|0|0||0||0|0|0|.gcc_exc|All-files|<<FEND>>|<<CEND>>|<<GEND>>|.bss|0|0||0||0|0|1|_bss|<<FEND>>|0|.bss|All-files|<<FEND>>|0|.bss.*|All-files|<<FEND>>|0|COMMON|All-files|<<FEND>>|0|B|All-files|<<FEND>>|0|B_1|All-files|<<FEND>>|0|B_2|All-files|<<FEND>>|1|_ebss|<<FEND>>|1|_end|<<FEND>>|<<CEND>>|<<GEND>>|] [S|APPTXT|^"-e _start^"] [S|CPUTYPE|RX600] [S|ENDIAN|LITTLE] [S|CPU|Other] [I|RMINTREGVAL|0] [I|RMMAXCONSTVAL|0] [I|RMMAXVARSVAL|0] [S|PROJECTTYPE|CAPPPROJECT] [B|DOOPTLIB|1] [B|DOPROJBUILT|1]
 " 5 
 "[V|VERSION|2] [S|INCDIR|^"$(TCINSTALL)\rx-elf\rx-elf\optlibinc^"|^"$(TCINSTALL)\rx-elf\lib\gcc\rx-elf\4.5-GNURX_v10.03\optlibinc^"|^"$(PROJDIR)\include^"|^"$(PROJDIR)\..\..\..\Source\include^"|^"$(PROJDIR)\..\..\..\Source\portable\GCC\RX600^"|^"$(PROJDIR)^"|^"$(PROJDIR)\..\..\Common\include^"] [S|DEFINES|DEBUG] [S|OUTPUT|OBJECT] [S|OBJPATH|^"$(CONFIGDIR)\$(FILELEAF).o^"] [B|DEBUG|1] [S|DEBUGFT|Native] [I|DEBUGLV|2] [S|ALIGN4|ALL] [B|LINCSYM|1] [B|LOMITDD|1] [B|LOMITFP|1] [B|OPTIMIZE|0] [I|OPTLV|1] [B|NOSTDINC|1] [S|APPTXT|^"-Wa,-gdwarf2^"] [S|CPUTYPE|RX600] [S|ENDIAN|LITTLE] [S|CPU|Other] [I|RMINTREGVAL|0] [I|RMMAXCONSTVAL|0] [I|RMMAXVARSVAL|0] [S|PROJECTTYPE|CAPPPROJECT] [B|DOOPTLIB|1]
-" 2 
-"[V|VERSION|2] [S|INCDIR|^"$(TCINSTALL)\rx-elf\rx-elf\optlibinc^"|^"$(TCINSTALL)\rx-elf\lib\gcc\rx-elf\4.5-GNURX_v10.03\optlibinc^"|^"$(PROJDIR)\include^"|^"$(PROJDIR)\..\..\..\Source\include^"|^"$(PROJDIR)\..\..\..\Source\portable\GCC\RX600^"|^"$(PROJDIR)^"|^"$(PROJDIR)\..\..\Common\include^"] [S|DEFINES|DEBUG] [S|OUTPUT|OBJECT] [S|OBJPATH|^"$(CONFIGDIR)\$(FILELEAF).o^"] [B|DEBUG|1] [S|DEBUGFT|Native] [I|DEBUGLV|2] [S|ALIGN4|ALL] [B|LINCSYM|1] [B|LOMITDD|1] [B|LOMITFP|1] [B|OPTIMIZE|0] [I|OPTLV|1] [B|NOSTDINC|1] [S|CPUTYPE|RX600] [S|ENDIAN|LITTLE] [S|CPU|Other] [I|RMINTREGVAL|0] [I|RMMAXCONSTVAL|0] [I|RMMAXVARSVAL|0] [S|PROJECTTYPE|CAPPPROJECT] [B|DOOPTLIB|1]
 " 3 
+"[V|VERSION|2] [S|INCDIR|^"$(TCINSTALL)\rx-elf\rx-elf\optlibinc^"|^"$(TCINSTALL)\rx-elf\lib\gcc\rx-elf\4.5-GNURX_v10.03\optlibinc^"|^"$(PROJDIR)\include^"|^"$(PROJDIR)\..\..\..\Source\include^"|^"$(PROJDIR)\..\..\..\Source\portable\GCC\RX600^"|^"$(PROJDIR)^"|^"$(PROJDIR)\..\..\Common\include^"] [S|DEFINES|DEBUG] [S|OUTPUT|OBJECT] [S|OBJPATH|^"$(CONFIGDIR)\$(FILELEAF).o^"] [B|DEBUG|1] [S|DEBUGFT|Native] [I|DEBUGLV|2] [S|ALIGN4|ALL] [B|LINCSYM|1] [B|LOMITDD|1] [B|LOMITFP|1] [B|OPTIMIZE|0] [I|OPTLV|1] [B|NOSTDINC|1] [S|CPUTYPE|RX600] [S|ENDIAN|LITTLE] [S|CPU|Other] [I|RMINTREGVAL|0] [I|RMMAXCONSTVAL|0] [I|RMMAXVARSVAL|0] [S|PROJECTTYPE|CAPPPROJECT] [B|DOOPTLIB|1]
+" 2 
 "[V|VERSION|2] [S|OBJPATH|^"$(CONFIGDIR)\$(FILELEAF).o^"] [I|DEBUGLV|2] [B|LINCHLS|1] [B|LINCASS|1] [B|LINCSYM|1] [S|LFILE|^"$(CONFIGDIR)\$(FILELEAF).^"] [S|PROJECTTYPE|CAPPPROJECT] [S|INCDIR|^"$(PROJDIR)^"] [S|CPUTYPE|RX600] [S|ENDIAN|LITTLE] [S|CPU|Other] " 4 
 "[V|VERSION|2] [S|OUTPUTPATH|^"$(CONFIGDIR)\lib$(PROJECTNAME).a^"] [B|OPTIMIZE|1] [I|OPTTYPE|1] [S|MODE|BUILD/CHANGED] [S|CPUTYPE|RX600] [S|ENDIAN|LITTLE] [S|CPU|Other] [B|DOPROJBUILT|1] [B|DOOPTLIB|1] [B|MATH|1] [B|STDIO|1] [B|STDLIB|1] [B|STRING|1] " 1 
 [EXCLUDED_FILES_Blinky]
@@ -311,11 +313,12 @@
 "C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\MemMang\heap_2.c" "022e4ac89aa5bc10" 2 
 "C:\E\Dev\FreeRTOS\WorkingCopy\Source\queue.c" "022e4ac89aa5bc10" 2 
 "C:\E\Dev\FreeRTOS\WorkingCopy\Source\tasks.c" "022e4ac89aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\timers.c" "08849e57f811cc10" 2 
 "Preprocess Assembly file" "022e4ac89aa5bc10" 2 
 [OPTIONS_Debug_GNU Library Generator]
 "Single Shot" "00c20b5b0aa5bc10" 1 
 [OPTIONS_Debug_GNU Linker]
-"Single Shot" "00d92b5b0aa5bc10" 4 
+"Single Shot" "04611067f811cc10" 4 
 [OPTIONS_Debug]
 "" 0 
 "[V|VERSION|2] [B|DOEXTF|1] [S|INCDIR|^"$(TCINSTALL)\rx-elf\lib\gcc\rx-elf\4.5-GNURX_v10.03^"|^"$(CONFIGDIR)^"] [B|RSARCH|1] [B|FIXUPLIBS|1] [S|ARCHIVE|libgcc.a*lib$(PROJECTNAME).a] [S|OUTFORM|BOTH] [B|MFILEGEN|1] [S|PLMFILE|^"$(CONFIGDIR)\$(PROJECTNAME).map^"] [S|OUTFILE|^"$(CONFIGDIR)\$(PROJECTNAME).x^"] [S|GROUPDET|.fvectors|0|0||1|0xFFFFFF80|0|1|0|.fvectors|All-files|<<FEND>>|<<CEND>>|<<GEND>>|.text|0|0||1|0xFFF80000|0|0|0|.text|All-files|<<FEND>>|0|.text.*|All-files|<<FEND>>|0|P|All-files|<<FEND>>|1|etext|<<FEND>>|<<CEND>>|<<GEND>>|.rvectors|0|0||0||0|1|1|_rvectors_start|<<FEND>>|0|.rvectors|All-files|<<FEND>>|1|_rvectors_end|<<FEND>>|<<CEND>>|<<GEND>>|.init|0|0||0||0|0|0|.init|All-files|<<FEND>>|<<CEND>>|<<GEND>>|.fini|0|0||0||0|0|0|.fini|All-files|<<FEND>>|<<CEND>>|<<GEND>>|.got|0|0||0||0|0|0|.got|All-files|<<FEND>>|0|.got.plt|All-files|<<FEND>>|<<CEND>>|<<GEND>>|.rodata|0|0||0||0|0|0|.rodata|All-files|<<FEND>>|0|.rodata.*|All-files|<<FEND>>|0|C_1|All-files|<<FEND>>|0|C_2|All-files|<<FEND>>|0|C|All-files|<<FEND>>|1|_erodata|<<FEND>>|<<CEND>>|<<GEND>>|.eh_frame_hdr|0|0||0||0|0|0|.eh_frame_hdr|All-files|<<FEND>>|<<CEND>>|<<GEND>>|.eh_frame|0|0||0||0|0|0|.eh_frame|All-files|<<FEND>>|<<CEND>>|<<GEND>>|.jcr|0|0||0||0|0|0|.jcr|All-files|<<FEND>>|<<CEND>>|<<GEND>>|.tors|0|0||0||0|0|1|__CTOR_LIST__|<<FEND>>|1|___ctors|<<FEND>>|0|.ctors|All-files|<<FEND>>|1|___ctors_end|<<FEND>>|1|__CTOR_END__|<<FEND>>|1|__DTOR_LIST__|<<FEND>>|1|___dtors|<<FEND>>|0|.dtors|All-files|<<FEND>>|1|___dtors_end|<<FEND>>|1|__DTOR_END__|<<FEND>>|1|_mdata|<<FEND>>|<<CEND>>|<<GEND>>|.istack|0|0||1|0x00017FFC|0|0|1|_istack|<<FEND>>|<<CEND>>|<<GEND>>|.ustack|0|0||1|0x000179BC|0|0|1|_ustack|<<FEND>>|<<CEND>>|<<GEND>>|.data|0|2|_mdata|1|0x00001000|0|0|1|_data|<<FEND>>|0|.data|All-files|<<FEND>>|0|.data.*|All-files|<<FEND>>|0|D|All-files|<<FEND>>|0|D_1|All-files|<<FEND>>|0|D_2|All-files|<<FEND>>|1|_edata|<<FEND>>|<<CEND>>|<<GEND>>|.gcc_exc|0|0||0||0|0|0|.gcc_exc|All-files|<<FEND>>|<<CEND>>|<<GEND>>|.bss|0|0||0||0|0|1|_bss|<<FEND>>|0|.bss|All-files|<<FEND>>|0|.bss.*|All-files|<<FEND>>|0|COMMON|All-files|<<FEND>>|0|B|All-files|<<FEND>>|0|B_1|All-files|<<FEND>>|0|B_2|All-files|<<FEND>>|1|_ebss|<<FEND>>|1|_end|<<FEND>>|<<CEND>>|<<GEND>>|] [B|WONCEU|1] [B|OUTTRAD|1] [S|APPTXT|^"-e _start^"] [S|CPUTYPE|RX600] [S|ENDIAN|LITTLE] [S|CPU|Other] [I|RMINTREGVAL|0] [I|RMMAXCONSTVAL|0] [I|RMMAXVARSVAL|0] [S|PROJECTTYPE|CAPPPROJECT] [B|DOOPTLIB|1] [B|DOPROJBUILT|1]
@@ -372,11 +375,12 @@
 "C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\MemMang\heap_2.c" "00e05b5b0aa5bc10" 2 
 "C:\E\Dev\FreeRTOS\WorkingCopy\Source\queue.c" "00e05b5b0aa5bc10" 2 
 "C:\E\Dev\FreeRTOS\WorkingCopy\Source\tasks.c" "00e05b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\timers.c" "08849e57f811cc10" 2 
 "Preprocess Assembly file" "00e05b5b0aa5bc10" 2 
 [OPTIONS_Debug_RX600_E1_E20_SYSTEM_GNU Library Generator]
 "Single Shot" "00e05b5b0aa5bc10" 1 
 [OPTIONS_Debug_RX600_E1_E20_SYSTEM_GNU Linker]
-"Single Shot" "00e05b5b0aa5bc10" 4 
+"Single Shot" "04611067f811cc10" 4 
 [OPTIONS_Debug_RX600_E1_E20_SYSTEM]
 "" 0 
 "[V|VERSION|2] [S|OBJPATH|^"$(CONFIGDIR)\$(FILELEAF).o^"] [I|DEBUGLV|2] [B|LINCHLS|1] [B|LINCASS|1] [B|LINCSYM|1] [S|LFILE|^"$(CONFIGDIR)\$(FILELEAF).^"] [S|PROJECTTYPE|CAPPPROJECT] [S|INCDIR|^"$(PROJDIR)^"] [S|CPUTYPE|RX600] [S|ENDIAN|LITTLE] [S|CPU|Other] " 3 
@@ -389,59 +393,60 @@
 [OPTIONS_Debug_with_optimisation_GNU Assembler]
 "Assembly source file" "00d92b5b0aa5bc10" 4 
 [OPTIONS_Debug_with_optimisation_GNU Compiler]
-"C source file" "00d92b5b0aa5bc10" 3 
-"C++ source file" "00d92b5b0aa5bc10" 3 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\BlockQ.c" "00d92b5b0aa5bc10" 3 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\GenQTest.c" "00d92b5b0aa5bc10" 3 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\IntQueue.c" "00d92b5b0aa5bc10" 3 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\PollQ.c" "00d92b5b0aa5bc10" 3 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\QPeek.c" "00d92b5b0aa5bc10" 3 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\blocktim.c" "00d92b5b0aa5bc10" 3 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\death.c" "00d92b5b0aa5bc10" 3 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\flash.c" "00d92b5b0aa5bc10" 3 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\flop.c" "00d92b5b0aa5bc10" 3 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\integer.c" "00d92b5b0aa5bc10" 3 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\recmutex.c" "00d92b5b0aa5bc10" 3 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\semtest.c" "00d92b5b0aa5bc10" 3 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\ethernet\FreeTCPIP\apps\httpd\http-strings.c" "00d92b5b0aa5bc10" 3 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\ethernet\FreeTCPIP\apps\httpd\httpd-fs.c" "00d92b5b0aa5bc10" 3 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\ethernet\FreeTCPIP\apps\httpd\httpd.c" "00d92b5b0aa5bc10" 3 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\ethernet\FreeTCPIP\psock.c" "00d92b5b0aa5bc10" 3 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\ethernet\FreeTCPIP\timer.c" "00d92b5b0aa5bc10" 3 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\ethernet\FreeTCPIP\uip.c" "00d92b5b0aa5bc10" 3 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\ethernet\FreeTCPIP\uip_arp.c" "00d92b5b0aa5bc10" 3 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\GNU-Files\hwinit.c" "00d92b5b0aa5bc10" 3 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\GNU-Files\inthandler.c" "00d92b5b0aa5bc10" 3 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\GNU-Files\start.asm" "00d92b5b0aa5bc10" 2 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\HighFrequencyTimerTest.c" "00d92b5b0aa5bc10" 3 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\IntQueueTimer.c" "00d92b5b0aa5bc10" 3 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\ParTest.c" "00d92b5b0aa5bc10" 3 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\Renesas-Files\hwsetup.c" "00d92b5b0aa5bc10" 3 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\main-blinky.c" "00d92b5b0aa5bc10" 3 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\main-full.c" "00d92b5b0aa5bc10" 3 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\uIP_Task.c" "00d92b5b0aa5bc10" 3 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\vects.c" "00d92b5b0aa5bc10" 3 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\webserver\EMAC.c" "00d92b5b0aa5bc10" 3 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\webserver\httpd-cgi.c" "00d92b5b0aa5bc10" 3 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\webserver\phy.c" "00d92b5b0aa5bc10" 3 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Source\list.c" "00d92b5b0aa5bc10" 3 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\GCC\RX600\port.c" "00d92b5b0aa5bc10" 3 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\MemMang\heap_2.c" "00d92b5b0aa5bc10" 3 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Source\queue.c" "00d92b5b0aa5bc10" 3 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Source\tasks.c" "00d92b5b0aa5bc10" 3 
-"Preprocess Assembly file" "00d92b5b0aa5bc10" 2 
+"C source file" "00d92b5b0aa5bc10" 2 
+"C++ source file" "00d92b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\BlockQ.c" "00d92b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\GenQTest.c" "00d92b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\IntQueue.c" "00d92b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\PollQ.c" "00d92b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\QPeek.c" "00d92b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\blocktim.c" "00d92b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\death.c" "00d92b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\flash.c" "00d92b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\flop.c" "00d92b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\integer.c" "00d92b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\recmutex.c" "00d92b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\semtest.c" "00d92b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\ethernet\FreeTCPIP\apps\httpd\http-strings.c" "00d92b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\ethernet\FreeTCPIP\apps\httpd\httpd-fs.c" "00d92b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\ethernet\FreeTCPIP\apps\httpd\httpd.c" "00d92b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\ethernet\FreeTCPIP\psock.c" "00d92b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\ethernet\FreeTCPIP\timer.c" "00d92b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\ethernet\FreeTCPIP\uip.c" "00d92b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\ethernet\FreeTCPIP\uip_arp.c" "00d92b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\GNU-Files\hwinit.c" "00d92b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\GNU-Files\inthandler.c" "00d92b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\GNU-Files\start.asm" "00d92b5b0aa5bc10" 3 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\HighFrequencyTimerTest.c" "00d92b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\IntQueueTimer.c" "00d92b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\ParTest.c" "00d92b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\Renesas-Files\hwsetup.c" "00d92b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\main-blinky.c" "00d92b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\main-full.c" "00d92b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\uIP_Task.c" "00d92b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\vects.c" "00d92b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\webserver\EMAC.c" "00d92b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\webserver\httpd-cgi.c" "00d92b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\webserver\phy.c" "00d92b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\list.c" "00d92b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\GCC\RX600\port.c" "00d92b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\MemMang\heap_2.c" "00d92b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\queue.c" "00d92b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\tasks.c" "00d92b5b0aa5bc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\timers.c" "08849e57f811cc10" 2 
+"Preprocess Assembly file" "00d92b5b0aa5bc10" 3 
 [OPTIONS_Debug_with_optimisation_GNU Library Generator]
 "Single Shot" "00d92b5b0aa5bc10" 1 
 [OPTIONS_Debug_with_optimisation_GNU Linker]
-"Single Shot" "00e05b5b0aa5bc10" 5 
+"Single Shot" "04611067f811cc10" 5 
 [OPTIONS_Debug_with_optimisation]
 "" 0 
 "[V|VERSION|2] [B|DOEXTF|1] [S|INCDIR|^"$(TCINSTALL)\rx-elf\lib\gcc\rx-elf\4.5-GNURX_v10.03^"|^"$(CONFIGDIR)^"] [B|RSARCH|1] [B|FIXUPLIBS|1] [S|ARCHIVE|lib$(PROJECTNAME).a*libgcc.a] [S|OUTFORM|BOTH] [B|MFILEGEN|1] [S|PLMFILE|^"$(CONFIGDIR)\$(PROJECTNAME).map^"] [S|OUTFILE|^"$(CONFIGDIR)\$(PROJECTNAME).x^"] [S|GROUPDET|.fvectors|0|0||1|0xFFFFFF80|0|1|0|.fvectors|All-files|<<FEND>>|<<CEND>>|<<GEND>>|.text|0|0||1|0xFFF80000|0|0|0|.text|All-files|<<FEND>>|0|.text.*|All-files|<<FEND>>|0|P|All-files|<<FEND>>|1|etext|<<FEND>>|<<CEND>>|<<GEND>>|.rvectors|0|0||0||0|1|1|_rvectors_start|<<FEND>>|0|.rvectors|All-files|<<FEND>>|1|_rvectors_end|<<FEND>>|<<CEND>>|<<GEND>>|.init|0|0||0||0|0|0|.init|All-files|<<FEND>>|<<CEND>>|<<GEND>>|.fini|0|0||0||0|0|0|.fini|All-files|<<FEND>>|<<CEND>>|<<GEND>>|.got|0|0||0||0|0|0|.got|All-files|<<FEND>>|0|.got.plt|All-files|<<FEND>>|<<CEND>>|<<GEND>>|.rodata|0|0||0||0|0|0|.rodata|All-files|<<FEND>>|0|.rodata.*|All-files|<<FEND>>|0|C_1|All-files|<<FEND>>|0|C_2|All-files|<<FEND>>|0|C|All-files|<<FEND>>|1|_erodata|<<FEND>>|<<CEND>>|<<GEND>>|.eh_frame_hdr|0|0||0||0|0|0|.eh_frame_hdr|All-files|<<FEND>>|<<CEND>>|<<GEND>>|.eh_frame|0|0||0||0|0|0|.eh_frame|All-files|<<FEND>>|<<CEND>>|<<GEND>>|.jcr|0|0||0||0|0|0|.jcr|All-files|<<FEND>>|<<CEND>>|<<GEND>>|.tors|0|0||0||0|0|1|__CTOR_LIST__|<<FEND>>|1|___ctors|<<FEND>>|0|.ctors|All-files|<<FEND>>|1|___ctors_end|<<FEND>>|1|__CTOR_END__|<<FEND>>|1|__DTOR_LIST__|<<FEND>>|1|___dtors|<<FEND>>|0|.dtors|All-files|<<FEND>>|1|___dtors_end|<<FEND>>|1|__DTOR_END__|<<FEND>>|1|_mdata|<<FEND>>|<<CEND>>|<<GEND>>|.istack|0|0||1|0x00017FFC|0|0|1|_istack|<<FEND>>|<<CEND>>|<<GEND>>|.ustack|0|0||1|0x000179BC|0|0|1|_ustack|<<FEND>>|<<CEND>>|<<GEND>>|.data|0|2|_mdata|1|0x00001000|0|0|1|_data|<<FEND>>|0|.data|All-files|<<FEND>>|0|.data.*|All-files|<<FEND>>|0|D|All-files|<<FEND>>|0|D_1|All-files|<<FEND>>|0|D_2|All-files|<<FEND>>|1|_edata|<<FEND>>|<<CEND>>|<<GEND>>|.gcc_exc|0|0||0||0|0|0|.gcc_exc|All-files|<<FEND>>|<<CEND>>|<<GEND>>|.bss|0|0||0||0|0|1|_bss|<<FEND>>|0|.bss|All-files|<<FEND>>|0|.bss.*|All-files|<<FEND>>|0|COMMON|All-files|<<FEND>>|0|B|All-files|<<FEND>>|0|B_1|All-files|<<FEND>>|0|B_2|All-files|<<FEND>>|1|_ebss|<<FEND>>|1|_end|<<FEND>>|<<CEND>>|<<GEND>>|] [S|APPTXT|^"-e _start^"] [S|CPUTYPE|RX600] [S|ENDIAN|LITTLE] [S|CPU|Other] [I|RMINTREGVAL|0] [I|RMMAXCONSTVAL|0] [I|RMMAXVARSVAL|0] [S|PROJECTTYPE|CAPPPROJECT] [B|DOOPTLIB|1] [B|DOPROJBUILT|1]
 " 5 
 "[V|VERSION|2] [S|INCDIR|^"$(TCINSTALL)\rx-elf\rx-elf\optlibinc^"|^"$(TCINSTALL)\rx-elf\lib\gcc\rx-elf\4.5-GNURX_v10.03\optlibinc^"|^"$(PROJDIR)\include^"|^"$(PROJDIR)\..\..\..\Source\include^"|^"$(PROJDIR)\..\..\..\Source\portable\GCC\RX600^"|^"$(PROJDIR)^"|^"$(PROJDIR)\..\..\Common\include^"|^"$(PROJDIR)\..\..\Common\Ethernet\FreeTCPIP^"|^"$(PROJDIR)\webserver^"] [S|DEFINES|DEBUG|INCLUDE_HIGH_FREQUENCY_TIMER_TEST] [S|OUTPUT|OBJECT] [S|OBJPATH|^"$(CONFIGDIR)\$(FILELEAF).o^"] [B|DEBUG|1] [S|DEBUGFT|Native] [I|DEBUGLV|2] [S|ALIGN4|ALL] [B|OPTIMIZE|1] [I|OPTLV|1] [B|NOSTDINC|1] [S|APPTXT|^"-Wa,-gdwarf2^"] [S|CPUTYPE|RX600] [S|ENDIAN|LITTLE] [S|CPU|Other] [I|RMINTREGVAL|0] [I|RMMAXCONSTVAL|0] [I|RMMAXVARSVAL|0] [S|PROJECTTYPE|CAPPPROJECT] [B|DOOPTLIB|1]
-" 2 
-"[V|VERSION|2] [S|INCDIR|^"$(TCINSTALL)\rx-elf\rx-elf\optlibinc^"|^"$(TCINSTALL)\rx-elf\lib\gcc\rx-elf\4.5-GNURX_v10.03\optlibinc^"|^"$(PROJDIR)\include^"|^"$(PROJDIR)\..\..\..\Source\include^"|^"$(PROJDIR)\..\..\..\Source\portable\GCC\RX600^"|^"$(PROJDIR)^"|^"$(PROJDIR)\..\..\Common\include^"|^"$(PROJDIR)\..\..\Common\Ethernet\FreeTCPIP^"|^"$(PROJDIR)\webserver^"] [S|DEFINES|DEBUG|INCLUDE_HIGH_FREQUENCY_TIMER_TEST] [S|OUTPUT|OBJECT] [S|OBJPATH|^"$(CONFIGDIR)\$(FILELEAF).o^"] [B|DEBUG|1] [S|DEBUGFT|Native] [I|DEBUGLV|2] [S|ALIGN4|ALL] [B|OPTIMIZE|1] [I|OPTLV|1] [B|NOSTDINC|1] [S|CPUTYPE|RX600] [S|ENDIAN|LITTLE] [S|CPU|Other] [I|RMINTREGVAL|0] [I|RMMAXCONSTVAL|0] [I|RMMAXVARSVAL|0] [S|PROJECTTYPE|CAPPPROJECT] [B|DOOPTLIB|1]
 " 3 
+"[V|VERSION|2] [S|INCDIR|^"$(TCINSTALL)\rx-elf\rx-elf\optlibinc^"|^"$(TCINSTALL)\rx-elf\lib\gcc\rx-elf\4.5-GNURX_v10.03\optlibinc^"|^"$(PROJDIR)\include^"|^"$(PROJDIR)\..\..\..\Source\include^"|^"$(PROJDIR)\..\..\..\Source\portable\GCC\RX600^"|^"$(PROJDIR)^"|^"$(PROJDIR)\..\..\Common\include^"|^"$(PROJDIR)\..\..\Common\Ethernet\FreeTCPIP^"|^"$(PROJDIR)\webserver^"] [S|DEFINES|DEBUG|INCLUDE_HIGH_FREQUENCY_TIMER_TEST] [S|OUTPUT|OBJECT] [S|OBJPATH|^"$(CONFIGDIR)\$(FILELEAF).o^"] [B|DEBUG|1] [S|DEBUGFT|Native] [I|DEBUGLV|2] [S|ALIGN4|ALL] [B|OPTIMIZE|1] [I|OPTLV|1] [B|NOSTDINC|1] [S|CPUTYPE|RX600] [S|ENDIAN|LITTLE] [S|CPU|Other] [I|RMINTREGVAL|0] [I|RMMAXCONSTVAL|0] [I|RMMAXVARSVAL|0] [S|PROJECTTYPE|CAPPPROJECT] [B|DOOPTLIB|1]
+" 2 
 "[V|VERSION|2] [S|OBJPATH|^"$(CONFIGDIR)\$(FILELEAF).o^"] [I|DEBUGLV|2] [B|LINCHLS|1] [B|LINCASS|1] [B|LINCSYM|1] [S|LFILE|^"$(CONFIGDIR)\$(FILELEAF).^"] [S|PROJECTTYPE|CAPPPROJECT] [S|INCDIR|^"$(PROJDIR)^"] [S|CPUTYPE|RX600] [S|ENDIAN|LITTLE] [S|CPU|Other] " 4 
 "[V|VERSION|2] [S|OUTPUTPATH|^"$(CONFIGDIR)\lib$(PROJECTNAME).a^"] [B|OPTIMIZE|1] [I|OPTTYPE|1] [S|MODE|BUILD/CHANGED] [S|CPUTYPE|RX600] [S|ENDIAN|LITTLE] [S|CPU|Other] [B|DOPROJBUILT|1] [B|DOOPTLIB|1] [B|MATH|1] [B|STDIO|1] [B|STDLIB|1] [B|STRING|1] " 1 
 [EXCLUDED_FILES_Debug_with_optimisation]
diff --git a/Demo/RX600_RX62N-RSK_GNURX/RTOSDemo/RTOSDemo.nav b/Demo/RX600_RX62N-RSK_GNURX/RTOSDemo/RTOSDemo.nav
index 41e59e1..f3f3596 100644
--- a/Demo/RX600_RX62N-RSK_GNURX/RTOSDemo/RTOSDemo.nav
+++ b/Demo/RX600_RX62N-RSK_GNURX/RTOSDemo/RTOSDemo.nav
Binary files differ
diff --git a/Demo/RX600_RX62N-RSK_GNURX/RTOSDemo/SessionRX600_E1_E20_SYSTEM.hsf b/Demo/RX600_RX62N-RSK_GNURX/RTOSDemo/SessionRX600_E1_E20_SYSTEM.hsf
index 9bd8099..a599938 100644
--- a/Demo/RX600_RX62N-RSK_GNURX/RTOSDemo/SessionRX600_E1_E20_SYSTEM.hsf
+++ b/Demo/RX600_RX62N-RSK_GNURX/RTOSDemo/SessionRX600_E1_E20_SYSTEM.hsf
@@ -50,29 +50,29 @@
 "{5F75FDA0-6FF0-11D5-B7CE-00E029352378}PACtrlViews" "0" 
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_EVAL_DENORMAL_MODE" "16777216" 
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_EVAL_ROUND_MODE" "768" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_0" "0000000000017EF4" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_1" "0000000000000004" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_10" "0000000000000002" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_11" "000000000000000A" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_0" "000000000000B678" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_1" "000000000000EB60" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_10" "000000000000EB60" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_11" "00000000FFFFDCDA" 
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_12" "00000000A5A5A5A5" 
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_13" "00000000A5A5A5A5" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_14" "0000000000000001" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_15" "00000000000000EA" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_16" "000000000000BB68" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_17" "0000000000017EF4" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_18" "0000000004010000" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_19" "00000000FFF851D9" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_2" "000000000000311C" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_20" "00000000FFF8D818" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_14" "00000000A5A5A5A5" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_15" "00000000A5A5A5A5" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_16" "000000000000B678" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_17" "0000000000017FA0" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_18" "0000000000030004" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_19" "00000000FFF8B4BD" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_2" "00000000A5A5A5A5" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_20" "00000000FFF8E6D8" 
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_21" "0000000000000000" 
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_22" "0000000000000000" 
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_23" "0000000000000000" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_24" "0000000000000100" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_25" "1234567887650000" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_3" "0000000000017F34" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_4" "0000000000000000" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_5" "0000000000003120" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_6" "0000000000017EF4" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_24" "0000000040000100" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_25" "00008A613AE30000" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_3" "00000000A5A5A5A5" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_4" "00000000A5A5A5A5" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_5" "00000000A5A5A5A5" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_6" "000000000000B678" 
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_7" "0000000000000000" 
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_8" "00000000A5A5A5A5" 
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_9" "00000000A5A5A5A5" 
@@ -213,6 +213,7 @@
 [WINDOW_POSITION_STATE_DATA_VD4]
 [WINDOW_Z_ORDER]
 "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\main-full.c" 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\main-blinky.c" 
 [TARGET_NAME]
 "RX600 E1/E20 SYSTEM" "" 0 
 [STATUSBAR_STATEINFO_VD1]
diff --git a/Demo/RX600_RX62N-RSK_GNURX/RTOSDemo/uIP_Task.c b/Demo/RX600_RX62N-RSK_GNURX/RTOSDemo/uIP_Task.c
index a09782d..847c9cb 100644
--- a/Demo/RX600_RX62N-RSK_GNURX/RTOSDemo/uIP_Task.c
+++ b/Demo/RX600_RX62N-RSK_GNURX/RTOSDemo/uIP_Task.c
@@ -57,7 +57,8 @@
 /* Scheduler includes. */
 #include "FreeRTOS.h"
 #include "task.h"
-#include "semphr.h"
+#include "timers.h"
+#include "queue.h"
 
 /* uip includes. */
 #include "net/uip.h"
@@ -81,6 +82,15 @@
 /* Standard constant. */
 #define uipTOTAL_FRAME_HEADER_SIZE	54
 
+/* The ARP timer and the periodic timer share a callback function, so the
+respective timer IDs are used to determine which timer actually expired.  These
+constants are assigned to the timer IDs. */
+#define uipARP_TIMER				0
+#define uipPERIODIC_TIMER			1
+
+/* A block time of zero ticks simply means, "don't block". */
+#define uipDONT_BLOCK				0UL
+
 /*-----------------------------------------------------------*/
 
 /*
@@ -89,24 +99,28 @@
 static void prvSetMACAddress( void );
 
 /*
+ * Perform any uIP initialisation necessary. 
+ */
+static void prvInitialise_uIP( void );
+
+/*
+ * The callback function that is assigned to both the periodic timer and the
+ * ARP timer.
+ */
+static void prvUIPTimerCallback( xTimerHandle xTimer );
+
+/*
  * Port functions required by the uIP stack.
  */
-void clock_init( void );
 clock_time_t clock_time( void );
 
 /*-----------------------------------------------------------*/
 
-/* The semaphore used by the ISR to wake the uIP task. */
-xSemaphoreHandle xEMACSemaphore = NULL;
+/* The queue used to send TCP/IP events to the uIP stack. */
+xQueueHandle xEMACEventQueue = NULL;
 
 /*-----------------------------------------------------------*/
 
-void clock_init(void)
-{
-	/* This is done when the scheduler starts. */
-}
-/*-----------------------------------------------------------*/
-
 clock_time_t clock_time( void )
 {
 	return xTaskGetTickCount();
@@ -115,25 +129,14 @@
 
 void vuIP_Task( void *pvParameters )
 {
-portBASE_TYPE i, xDoneSomething;
-uip_ipaddr_t xIPAddr;
-struct timer periodic_timer, arp_timer;
+portBASE_TYPE i;
+unsigned long ulNewEvent = 0UL;
+unsigned long ulUIP_Events = 0UL;
 
 	( void ) pvParameters;
-
+	
 	/* Initialise the uIP stack. */
-	timer_set( &periodic_timer, configTICK_RATE_HZ / 2 );
-	timer_set( &arp_timer, configTICK_RATE_HZ * 10 );
-	uip_init();
-	uip_ipaddr( &xIPAddr, configIP_ADDR0, configIP_ADDR1, configIP_ADDR2, configIP_ADDR3 );
-	uip_sethostaddr( &xIPAddr );
-	uip_ipaddr( &xIPAddr, configNET_MASK0, configNET_MASK1, configNET_MASK2, configNET_MASK3 );
-	uip_setnetmask( &xIPAddr );
-	prvSetMACAddress();
-	httpd_init();
-
-	/* Create the semaphore used to wake the uIP task. */
-	vSemaphoreCreateBinary( xEMACSemaphore );
+	prvInitialise_uIP();
 
 	/* Initialise the MAC. */
 	vInitEmac();
@@ -145,49 +148,51 @@
 
 	for( ;; )
 	{
-		xDoneSomething = pdFALSE;
-		
-		/* Is there received data ready to be processed? */
-		uip_len = ( unsigned short ) ulEMACRead();
-		
-		if( ( uip_len > 0 ) && ( uip_buf != NULL ) )
-		{
-			/* Standard uIP loop taken from the uIP manual. */
-			if( xHeader->type == htons( UIP_ETHTYPE_IP ) )
+		if( ( ulUIP_Events & uipETHERNET_RX_EVENT ) != 0UL )
+		{		
+			/* Is there received data ready to be processed? */
+			uip_len = ( unsigned short ) ulEMACRead();
+			
+			if( ( uip_len > 0 ) && ( uip_buf != NULL ) )
 			{
-				uip_arp_ipin();
-				uip_input();
-
-				/* If the above function invocation resulted in data that
-				should be sent out on the network, the global variable
-				uip_len is set to a value > 0. */
-				if( uip_len > 0 )
+				/* Standard uIP loop taken from the uIP manual. */
+				if( xHeader->type == htons( UIP_ETHTYPE_IP ) )
 				{
-					uip_arp_out();
-					vEMACWrite();
+					uip_arp_ipin();
+					uip_input();
+
+					/* If the above function invocation resulted in data that
+					should be sent out on the network, the global variable
+					uip_len is set to a value > 0. */
+					if( uip_len > 0 )
+					{
+						uip_arp_out();
+						vEMACWrite();
+					}
 				}
-				
-				xDoneSomething = pdTRUE;
+				else if( xHeader->type == htons( UIP_ETHTYPE_ARP ) )
+				{
+					uip_arp_arpin();
+
+					/* If the above function invocation resulted in data that
+					should be sent out on the network, the global variable
+					uip_len is set to a value > 0. */
+					if( uip_len > 0 )
+					{
+						vEMACWrite();
+					}
+				}
 			}
-			else if( xHeader->type == htons( UIP_ETHTYPE_ARP ) )
+			else
 			{
-				uip_arp_arpin();
-
-				/* If the above function invocation resulted in data that
-				should be sent out on the network, the global variable
-				uip_len is set to a value > 0. */
-				if( uip_len > 0 )
-				{
-					vEMACWrite();
-				}
-				
-				xDoneSomething = pdTRUE;
+				ulUIP_Events &= ~uipETHERNET_RX_EVENT;
 			}
 		}
-
-		if( timer_expired( &periodic_timer ) && ( uip_buf != NULL ) )
+		
+		if( ( ulUIP_Events & uipPERIODIC_TIMER_EVENT ) != 0UL )
 		{
-			timer_reset( &periodic_timer );
+			ulUIP_Events &= ~uipPERIODIC_TIMER_EVENT;
+					
 			for( i = 0; i < UIP_CONNS; i++ )
 			{
 				uip_periodic( i );
@@ -201,25 +206,82 @@
 					vEMACWrite();
 				}
 			}
-
-			/* Call the ARP timer function every 10 seconds. */
-			if( timer_expired( &arp_timer ) )
-			{
-				timer_reset( &arp_timer );
-				uip_arp_timer();
-			}
-			
-			xDoneSomething = pdTRUE;
 		}
 		
-		if( xDoneSomething == pdFALSE )
+		/* Call the ARP timer function every 10 seconds. */
+		if( ( ulUIP_Events & uipARP_TIMER_EVENT ) != 0 )
 		{
-			/* We did not receive a packet, and there was no periodic
-			processing to perform.  Block for a fixed period.  If a packet
-			is received during this period we will be woken by the ISR
-			giving us the Semaphore. */
-			xSemaphoreTake( xEMACSemaphore, configTICK_RATE_HZ / 20 );
+			ulUIP_Events &= ~uipARP_TIMER_EVENT;
+			uip_arp_timer();
 		}
+			
+		if( ulUIP_Events == pdFALSE )
+		{
+			xQueueReceive( xEMACEventQueue, &ulNewEvent, portMAX_DELAY );
+			ulUIP_Events |= ulNewEvent;
+		}
+	}
+}
+/*-----------------------------------------------------------*/
+
+static void prvInitialise_uIP( void )
+{
+xTimerHandle xARPTimer, xPeriodicTimer;
+uip_ipaddr_t xIPAddr;
+const unsigned long ul_uIPEventQueueLength = 10UL;
+
+	/* Initialise the uIP stack. */
+	uip_init();
+	uip_ipaddr( &xIPAddr, configIP_ADDR0, configIP_ADDR1, configIP_ADDR2, configIP_ADDR3 );
+	uip_sethostaddr( &xIPAddr );
+	uip_ipaddr( &xIPAddr, configNET_MASK0, configNET_MASK1, configNET_MASK2, configNET_MASK3 );
+	uip_setnetmask( &xIPAddr );
+	prvSetMACAddress();
+	httpd_init();
+
+	/* Create the queue used to sent TCP/IP events to the uIP stack. */
+	xEMACEventQueue = xQueueCreate( ul_uIPEventQueueLength, sizeof( unsigned long ) );
+
+	/* Create and start the uIP timers. */
+	xARPTimer = xTimerCreate( 	( const signed char * const ) "ARPTimer", /* Just a name that is helpful for debugging, not used by the kernel. */
+								( 10000UL / portTICK_RATE_MS ), /* Timer period. */
+								pdTRUE, /* Autor-reload. */
+								( void * ) uipARP_TIMER,
+								prvUIPTimerCallback
+							);
+
+	xPeriodicTimer = xTimerCreate( 	( const signed char * const ) "PeriodicTimer",
+									( 500 / portTICK_RATE_MS ),
+									pdTRUE, /* Autor-reload. */
+									( void * ) uipPERIODIC_TIMER,
+									prvUIPTimerCallback
+								);
+
+	configASSERT( xARPTimer );
+	configASSERT( xPeriodicTimer );
+
+	xTimerStart( xARPTimer, portMAX_DELAY );
+	xTimerStart( xPeriodicTimer, portMAX_DELAY );
+}
+/*-----------------------------------------------------------*/
+
+static void prvUIPTimerCallback( xTimerHandle xTimer )
+{
+static const unsigned long ulARPTimerExpired = uipARP_TIMER_EVENT;
+static const unsigned long ulPeriodicTimerExpired = uipPERIODIC_TIMER_EVENT;
+
+	/* This is a time callback, so calls to xQueueSend() must not attempt to
+	block. */
+	switch( ( int ) pvTimerGetTimerID( xTimer ) )
+	{
+		case uipARP_TIMER		:	xQueueSend( xEMACEventQueue, &ulARPTimerExpired, uipDONT_BLOCK );
+									break;
+
+		case uipPERIODIC_TIMER	:	xQueueSend( xEMACEventQueue, &ulPeriodicTimerExpired, uipDONT_BLOCK );
+									break;
+
+		default					:  	/* Should not get here. */
+									break;
 	}
 }
 /*-----------------------------------------------------------*/
@@ -250,28 +312,34 @@
 	{
 		/* Is there a command in the string? */
 		c = strstr( pcInputString, "?" );
-		if( c )
-		{
+	    if( c )
+	    {
 			/* Turn the LED's on or off in accordance with the check box status. */
 			if( strstr( c, "LED0=1" ) != NULL )
 			{
-				/* Turn LEDs on. */
-				vParTestSetLED( 3, 1 );
-				vParTestSetLED( 4, 1 );
+				/* Turn the LEDs on. */
+				vParTestSetLED( 7, 1 );
+				vParTestSetLED( 8, 1 );
+				vParTestSetLED( 9, 1 );
+				vParTestSetLED( 10, 1 );
 			}
 			else
 			{
-				/* Turn LED 4 off. */
-				vParTestSetLED( 3, 0 );
-				vParTestSetLED( 4, 0 );
+				/* Turn the LEDs off. */
+				vParTestSetLED( 7, 0 );
+				vParTestSetLED( 8, 0 );
+				vParTestSetLED( 9, 0 );
+				vParTestSetLED( 10, 0 );
 			}
-		}
+	    }
 		else
 		{
-			/* Commands to turn LEDs off are not always explicit, turn LED 4
-			off. */
-			vParTestSetLED( 3, 0 );
-			vParTestSetLED( 4, 0 );
+			/* Commands to turn LEDs off are not always explicit. */
+			vParTestSetLED( 7, 0 );
+			vParTestSetLED( 8, 0 );
+			vParTestSetLED( 9, 0 );
+			vParTestSetLED( 10, 0 );
 		}
 	}
 }
+
diff --git a/Demo/RX600_RX62N-RSK_GNURX/RTOSDemo/webserver/EMAC.c b/Demo/RX600_RX62N-RSK_GNURX/RTOSDemo/webserver/EMAC.c
index bf63bb6..945796a 100644
--- a/Demo/RX600_RX62N-RSK_GNURX/RTOSDemo/webserver/EMAC.c
+++ b/Demo/RX600_RX62N-RSK_GNURX/RTOSDemo/webserver/EMAC.c
@@ -242,23 +242,29 @@
 
 	if( ulBytesReceived > 0 )
 	{
-		pxCurrentRxDesc->status &= ~( FP1 | FP0 );
-		pxCurrentRxDesc->status |= ACT;			
+		/* Mark the pxDescriptor buffer as free as uip_buf is going to be set to
+		the buffer that contains the received data. */
+		prvReturnBuffer( uip_buf );
 
+		/* Point uip_buf to the data about ot be processed. */
+		uip_buf = ( void * ) pxCurrentRxDesc->buf_p;
+		
+		/* Allocate a new buffer to the descriptor, as uip_buf is now using it's
+		old descriptor. */
+		pxCurrentRxDesc->buf_p = ( char * ) prvGetNextBuffer();
+
+		/* Prepare the descriptor to go again. */
+		pxCurrentRxDesc->status &= ~( FP1 | FP0 );
+		pxCurrentRxDesc->status |= ACT;
+
+		/* Move onto the next buffer in the ring. */
+		pxCurrentRxDesc = pxCurrentRxDesc->next;
+		
 		if( EDMAC.EDRRR.LONG == 0x00000000L )
 		{
 			/* Restart Ethernet if it has stopped */
 			EDMAC.EDRRR.LONG = 0x00000001L;
 		}
-
-		/* Mark the pxDescriptor buffer as free as uip_buf is going to be set to
-		the buffer that contains the received data. */
-		prvReturnBuffer( uip_buf );
-		
-		uip_buf = ( void * ) pxCurrentRxDesc->buf_p;
-
-		/* Move onto the next buffer in the ring. */
-		pxCurrentRxDesc = pxCurrentRxDesc->next;
 	}
 
 	return ulBytesReceived;
@@ -517,6 +523,7 @@
 	EDMAC.TFTR.LONG = 0x00000000;				/* Threshold of Tx_FIFO */
 	EDMAC.FDR.LONG = 0x00000000;				/* Transmit fifo & receive fifo is 256 bytes */
 	EDMAC.RMCR.LONG = 0x00000003;				/* Receive function is normal mode(continued) */
+	ETHERC.ECMR.BIT.PRM = 0;					/* Ensure promiscuous mode is off. */
 	
 	/* Enable the interrupt... */
 	_IEN( _ETHER_EINT ) = 1;	
@@ -527,8 +534,8 @@
 {
 unsigned long ul = EDMAC.EESR.LONG;
 long lHigherPriorityTaskWoken = pdFALSE;
-extern xSemaphoreHandle xEMACSemaphore;
-static long ulTxEndInts = 0;
+extern xQueueHandle xEMACEventQueue;
+const unsigned long ulRxEvent = uipETHERNET_RX_EVENT;
 
 	/* Re-enabled interrupts. */
 	__asm volatile( "SETPSW	I" );
@@ -536,13 +543,8 @@
 	/* Has a Tx end occurred? */
 	if( ul & emacTX_END_INTERRUPT )
 	{
-		++ulTxEndInts;
-		if( ulTxEndInts >= 2 )
-		{
-			/* Only return the buffer to the pool once both Txes have completed. */
-			prvReturnBuffer( ( void * ) xTxDescriptors[ 0 ].buf_p );
-			ulTxEndInts = 0;
-		}
+		/* Only return the buffer to the pool once both Txes have completed. */
+		prvReturnBuffer( ( void * ) xTxDescriptors[ 0 ].buf_p );
 		EDMAC.EESR.LONG = emacTX_END_INTERRUPT;
 	}
 
@@ -550,7 +552,7 @@
 	if( ul & emacRX_END_INTERRUPT )
 	{
 		/* Make sure the Ethernet task is not blocked waiting for a packet. */
-		xSemaphoreGiveFromISR( xEMACSemaphore, &lHigherPriorityTaskWoken );
+		xQueueSendFromISR( xEMACEventQueue, &ulRxEvent, &lHigherPriorityTaskWoken );
 		portYIELD_FROM_ISR( lHigherPriorityTaskWoken );
 		EDMAC.EESR.LONG = emacRX_END_INTERRUPT;
 	}
diff --git a/Demo/RX600_RX62N-RSK_GNURX/RX600_RX62N_RSK_GNURX.tws b/Demo/RX600_RX62N-RSK_GNURX/RX600_RX62N_RSK_GNURX.tws
index fc4b520..3bb59c5 100644
--- a/Demo/RX600_RX62N-RSK_GNURX/RX600_RX62N_RSK_GNURX.tws
+++ b/Demo/RX600_RX62N-RSK_GNURX/RX600_RX62N_RSK_GNURX.tws
@@ -7,8 +7,10 @@
 [GENERAL_DATA]
 [BREAKPOINTS]
 [OPEN_WORKSPACE_FILES]
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\main-blinky.c" 
 "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\main-full.c" 
 [WORKSPACE_FILE_STATES]
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\main-blinky.c" 88 88 1130 405 0 1 
 "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\main-full.c" -4 -23 1314 608 1 0 
 [LOADED_PROJECTS]
 "RTOSDemo" 
diff --git a/Demo/RX600_RX62N-RSK_IAR/FreeRTOSConfig.h b/Demo/RX600_RX62N-RSK_IAR/FreeRTOSConfig.h
index 84e8b1b..55181ca 100644
--- a/Demo/RX600_RX62N-RSK_IAR/FreeRTOSConfig.h
+++ b/Demo/RX600_RX62N-RSK_IAR/FreeRTOSConfig.h
@@ -93,13 +93,18 @@
 #define configMAX_PRIORITIES			( ( unsigned portBASE_TYPE ) 7 )
 #define configMAX_CO_ROUTINE_PRIORITIES ( 2 )
 
+/* Software timer definitions. */
+#define configUSE_TIMERS				1
+#define configTIMER_TASK_PRIORITY		( 3 )
+#define configTIMER_QUEUE_LENGTH		5
+#define configTIMER_TASK_STACK_DEPTH	( configMINIMAL_STACK_SIZE )
 
-/* 
+/*
 The interrupt priority used by the kernel itself for the tick interrupt and
-the pended interrupt is set by configKERNEL_INTERRUPT_PRIORITY.  This would 
-normally be the lowest priority (1 in this case).  The maximum interrupt 
+the pended interrupt is set by configKERNEL_INTERRUPT_PRIORITY.  This would
+normally be the lowest priority (1 in this case).  The maximum interrupt
 priority from which FreeRTOS API calls can be made is set by
-configMAX_SYSCALL_INTERRUPT_PRIORITY.  Interrupts that use a priority above this 
+configMAX_SYSCALL_INTERRUPT_PRIORITY.  Interrupts that use a priority above this
 will not be effected by anything the kernel is doing.  Interrupts at or below
 this priority can use FreeRTOS API functions - but *only* those that end in
 "FromISR".  Both these constants are defined in 'PriorityDefinitions.h' so they
@@ -126,6 +131,8 @@
 #define INCLUDE_uxTaskGetStackHighWaterMark	1
 #define INCLUDE_xTaskGetSchedulerState		1
 
+#define configASSERT( x ) if( ( x ) == 0 ) { taskDISABLE_INTERRUPTS(); for( ;; ); }	
+
 extern volatile unsigned long ulHighFrequencyTickCount;
 #define portCONFIGURE_TIMER_FOR_RUN_TIME_STATS() portNOP() /* Run time stats use the same timer as the high frequency timer test. */
 #define portGET_RUN_TIME_COUNTER_VALUE() ulHighFrequencyTickCount
diff --git a/Demo/RX600_RX62N-RSK_IAR/RTOSDemo.ewp b/Demo/RX600_RX62N-RSK_IAR/RTOSDemo.ewp
index b8d0cbc..6350bd8 100644
--- a/Demo/RX600_RX62N-RSK_IAR/RTOSDemo.ewp
+++ b/Demo/RX600_RX62N-RSK_IAR/RTOSDemo.ewp
@@ -12,7 +12,7 @@
       <name>General</name>
       <archiveVersion>2</archiveVersion>
       <data>
-        <version>3</version>
+        <version>4</version>
         <wantNonLocal>1</wantNonLocal>
         <debug>1</debug>
         <option>
@@ -129,13 +129,17 @@
           <name>GenIntSize</name>
           <state>1</state>
         </option>
+        <option>
+          <name>GenRopi</name>
+          <state>0</state>
+        </option>
       </data>
     </settings>
     <settings>
       <name>ICCRX</name>
       <archiveVersion>3</archiveVersion>
       <data>
-        <version>10</version>
+        <version>11</version>
         <wantNonLocal>1</wantNonLocal>
         <debug>1</debug>
         <option>
@@ -369,13 +373,25 @@
           <name>IccIntSize</name>
           <state>1</state>
         </option>
+        <option>
+          <name>IccPosIndRopi</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>AggressiveInlining</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>AggressiveUnrolling</name>
+          <state>0</state>
+        </option>
       </data>
     </settings>
     <settings>
       <name>ARX</name>
       <archiveVersion>2</archiveVersion>
       <data>
-        <version>3</version>
+        <version>5</version>
         <wantNonLocal>1</wantNonLocal>
         <debug>1</debug>
         <option>
@@ -524,6 +540,14 @@
           <name>AsmIntSize</name>
           <state>1</state>
         </option>
+        <option>
+          <name>AsmPosIndRopi</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>AsmCpuCore</name>
+          <state>0</state>
+        </option>
       </data>
     </settings>
     <settings>
@@ -581,7 +605,7 @@
       <name>ILINK</name>
       <archiveVersion>1</archiveVersion>
       <data>
-        <version>0</version>
+        <version>1</version>
         <wantNonLocal>1</wantNonLocal>
         <debug>1</debug>
         <option>
@@ -807,6 +831,10 @@
           <name>IlinkLogUnusedFragments</name>
           <state>0</state>
         </option>
+        <option>
+          <name>IlinkSubnormal</name>
+          <state>1</state>
+        </option>
       </data>
     </settings>
     <settings>
@@ -846,7 +874,7 @@
       <name>General</name>
       <archiveVersion>2</archiveVersion>
       <data>
-        <version>3</version>
+        <version>4</version>
         <wantNonLocal>1</wantNonLocal>
         <debug>1</debug>
         <option>
@@ -963,13 +991,17 @@
           <name>GenIntSize</name>
           <state>1</state>
         </option>
+        <option>
+          <name>GenRopi</name>
+          <state>0</state>
+        </option>
       </data>
     </settings>
     <settings>
       <name>ICCRX</name>
       <archiveVersion>3</archiveVersion>
       <data>
-        <version>10</version>
+        <version>11</version>
         <wantNonLocal>1</wantNonLocal>
         <debug>1</debug>
         <option>
@@ -1202,13 +1234,25 @@
           <name>IccIntSize</name>
           <state>1</state>
         </option>
+        <option>
+          <name>IccPosIndRopi</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>AggressiveInlining</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>AggressiveUnrolling</name>
+          <state>0</state>
+        </option>
       </data>
     </settings>
     <settings>
       <name>ARX</name>
       <archiveVersion>2</archiveVersion>
       <data>
-        <version>3</version>
+        <version>5</version>
         <wantNonLocal>1</wantNonLocal>
         <debug>1</debug>
         <option>
@@ -1357,6 +1401,14 @@
           <name>AsmIntSize</name>
           <state>1</state>
         </option>
+        <option>
+          <name>AsmPosIndRopi</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>AsmCpuCore</name>
+          <state>0</state>
+        </option>
       </data>
     </settings>
     <settings>
@@ -1414,7 +1466,7 @@
       <name>ILINK</name>
       <archiveVersion>1</archiveVersion>
       <data>
-        <version>0</version>
+        <version>1</version>
         <wantNonLocal>1</wantNonLocal>
         <debug>1</debug>
         <option>
@@ -1640,6 +1692,10 @@
           <name>IlinkLogUnusedFragments</name>
           <state>0</state>
         </option>
+        <option>
+          <name>IlinkSubnormal</name>
+          <state>1</state>
+        </option>
       </data>
     </settings>
     <settings>
@@ -1679,7 +1735,7 @@
       <name>General</name>
       <archiveVersion>2</archiveVersion>
       <data>
-        <version>3</version>
+        <version>4</version>
         <wantNonLocal>1</wantNonLocal>
         <debug>1</debug>
         <option>
@@ -1796,13 +1852,17 @@
           <name>GenIntSize</name>
           <state>1</state>
         </option>
+        <option>
+          <name>GenRopi</name>
+          <state>0</state>
+        </option>
       </data>
     </settings>
     <settings>
       <name>ICCRX</name>
       <archiveVersion>3</archiveVersion>
       <data>
-        <version>10</version>
+        <version>11</version>
         <wantNonLocal>1</wantNonLocal>
         <debug>1</debug>
         <option>
@@ -2036,13 +2096,25 @@
           <name>IccIntSize</name>
           <state>1</state>
         </option>
+        <option>
+          <name>IccPosIndRopi</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>AggressiveInlining</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>AggressiveUnrolling</name>
+          <state>0</state>
+        </option>
       </data>
     </settings>
     <settings>
       <name>ARX</name>
       <archiveVersion>2</archiveVersion>
       <data>
-        <version>3</version>
+        <version>5</version>
         <wantNonLocal>1</wantNonLocal>
         <debug>1</debug>
         <option>
@@ -2191,6 +2263,14 @@
           <name>AsmIntSize</name>
           <state>1</state>
         </option>
+        <option>
+          <name>AsmPosIndRopi</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>AsmCpuCore</name>
+          <state>0</state>
+        </option>
       </data>
     </settings>
     <settings>
@@ -2248,7 +2328,7 @@
       <name>ILINK</name>
       <archiveVersion>1</archiveVersion>
       <data>
-        <version>0</version>
+        <version>1</version>
         <wantNonLocal>1</wantNonLocal>
         <debug>1</debug>
         <option>
@@ -2474,6 +2554,10 @@
           <name>IlinkLogUnusedFragments</name>
           <state>0</state>
         </option>
+        <option>
+          <name>IlinkSubnormal</name>
+          <state>1</state>
+        </option>
       </data>
     </settings>
     <settings>
@@ -2568,6 +2652,9 @@
     <file>
       <name>$PROJ_DIR$\..\..\Source\tasks.c</name>
     </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\Source\timers.c</name>
+    </file>
   </group>
   <group>
     <name>FreeTCPIP (based on uIP)</name>
diff --git a/Demo/RX600_RX62N-RSK_IAR/settings/RTOSDemo.cspy.bat b/Demo/RX600_RX62N-RSK_IAR/settings/RTOSDemo.cspy.bat
index 19c2679..c573175 100644
--- a/Demo/RX600_RX62N-RSK_IAR/settings/RTOSDemo.cspy.bat
+++ b/Demo/RX600_RX62N-RSK_IAR/settings/RTOSDemo.cspy.bat
@@ -1,33 +1,15 @@
-@REM This bat file has been generated by the IAR Embeddded Workbench
-@REM C-SPY interactive debugger,as an aid to preparing a command
-@REM line for running the cspybat command line utility with the
-@REM appropriate settings.
+@REM This batch file has been generated by the IAR Embedded Workbench
+@REM C-SPY Debugger, as an aid to preparing a command line for running
+@REM the cspybat command line utility using the appropriate settings.
 @REM
-@REM After making some adjustments to this file, you can launch cspybat
-@REM by typing the name of this file followed by the name of the debug
-@REM file (usually an ubrof file). Note that this file is generated
-@REM every time a new debug session is initialized, so you may want to
-@REM move or rename the file before making changes.
-@REM
-@REM Note: some command line arguments cannot be properly generated
-@REM by this process. Specifically, the plugin which is responsible
-@REM for the Terminal I/O window (and other C runtime functionality)
-@REM comes in a special version for cspybat, and the name of that
-@REM plugin dll is not known when generating this file. It resides in
-@REM the $TOOLKIT_DIR$\bin folder and is usually called XXXbat.dll or
-@REM XXXlibsupportbat.dll, where XXX is the name of the corresponding
-@REM tool chain. Replace the '<libsupport_plugin>' parameter
-@REM below with the appropriate file name. Other plugins loaded by
-@REM C-SPY are usually not needed by, or will not work in, cspybat
-@REM but they are listed at the end of this file for reference.
+@REM You can launch cspybat by typing the name of this batch file followed
+@REM by the name of the debug file (usually an ELF/DWARF or UBROF file).
+@REM Note that this file is generated every time a new debug session
+@REM is initialized, so you may want to move or rename the file before
+@REM making changes.
+@REM 
 
 
-"C:\devtools\IAR Systems\Embedded Workbench 6.0\common\bin\cspybat" "C:\devtools\IAR Systems\Embedded Workbench 6.0\rx\bin\rxproc.dll" "C:\devtools\IAR Systems\Embedded Workbench 6.0\rx\bin\rxemue20.dll"  %1 --plugin "C:\devtools\IAR Systems\Embedded Workbench 6.0\rx\bin\<libsupport_plugin>" --backend -B "--core" "RX600" "-p" "C:\devtools\IAR Systems\Embedded Workbench 6.0\rx\config\debugger\ior5f562n8.ddf" "--double" "32" "--endian" "l" "--int" "32" "-d" "emue20" "--emu" "e1e20" "--drv_communication" "USB" "--verify_download" "all" 
+"C:\devtools\IAR Systems\Embedded Workbench 6.0\common\bin\cspybat" "C:\devtools\IAR Systems\Embedded Workbench 6.0\rx\bin\rxproc.dll" "C:\devtools\IAR Systems\Embedded Workbench 6.0\rx\bin\rxemue20.dll"  %1 --plugin "C:\devtools\IAR Systems\Embedded Workbench 6.0\rx\bin\rxbat.dll" --backend -B "--core" "RX600" "-p" "C:\devtools\IAR Systems\Embedded Workbench 6.0\rx\config\debugger\ior5f562n8.ddf" "--double" "32" "--endian" "l" "--int" "32" "-d" "emue20" "--emu" "e1e20" "--drv_communication" "USB" "--verify_download" "all" 
 
 
-@REM Loaded plugins:
-@REM    rxLibSupport.dll
-@REM    C:\devtools\IAR Systems\Embedded Workbench 6.0\common\plugins\CodeCoverage\CodeCoverage.dll
-@REM    C:\devtools\IAR Systems\Embedded Workbench 6.0\common\plugins\Profiling\Profiling.dll
-@REM    C:\devtools\IAR Systems\Embedded Workbench 6.0\common\plugins\stack\stack.dll
-@REM    C:\devtools\IAR Systems\Embedded Workbench 6.0\common\plugins\SymList\SymList.dll
diff --git a/Demo/RX600_RX62N-RSK_IAR/settings/RTOSDemo.dbgdt b/Demo/RX600_RX62N-RSK_IAR/settings/RTOSDemo.dbgdt
index 348ed9b..eb08144 100644
--- a/Demo/RX600_RX62N-RSK_IAR/settings/RTOSDemo.dbgdt
+++ b/Demo/RX600_RX62N-RSK_IAR/settings/RTOSDemo.dbgdt
@@ -31,7 +31,7 @@
       
       
       
-    <Wnd2>
+    <Wnd0>
         <Tabs>
           <Tab>
             <Identity>TabID-20000-3827</Identity>
@@ -43,20 +43,20 @@
           </Tab>
         </Tabs>
         
-      <SelectedTab>0</SelectedTab></Wnd2><Wnd3><Tabs><Tab><Identity>TabID-2655-13188</Identity><TabName>Debug Log</TabName><Factory>Debug-Log</Factory><Session/></Tab></Tabs><SelectedTab>0</SelectedTab></Wnd3></Windows>
+      <SelectedTab>0</SelectedTab></Wnd0><Wnd1><Tabs><Tab><Identity>TabID-2655-13188</Identity><TabName>Debug Log</TabName><Factory>Debug-Log</Factory><Session/></Tab></Tabs><SelectedTab>0</SelectedTab></Wnd1></Windows>
     <Editor>
       
       
       
       
-    <Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\main-full.c</Filename><XPos>0</XPos><YPos>245</YPos><SelStart>12507</SelStart><SelEnd>12507</SelEnd></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-full.c</Filename><XPos>0</XPos><YPos>245</YPos><SelStart>12338</SelStart><SelEnd>12338</SelEnd></Tab><ActiveTab>0</ActiveTab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\FreeRTOSConfig.h</Filename><XPos>0</XPos><YPos>74</YPos><SelStart>4686</SelStart><SelEnd>4686</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\webserver\EMAC.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>13776</SelStart><SelEnd>13776</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\main-blinky.c</Filename><XPos>0</XPos><YPos>86</YPos><SelStart>4787</SelStart><SelEnd>4787</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\uIP_Task.c</Filename><XPos>0</XPos><YPos>226</YPos><SelStart>7106</SelStart><SelEnd>7106</SelEnd></Tab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
     <Positions>
       
       
       
       
       
-    <Top><Row0><Sizes><Toolbar-00a2ab10><key>iaridepm.enu1</key></Toolbar-00a2ab10><Toolbar-00b05540><key>debuggergui.enu1</key></Toolbar-00b05540></Sizes></Row0></Top><Left><Row0><Sizes><Wnd2><Rect><Top>-2</Top><Left>-2</Left><Bottom>740</Bottom><Right>238</Right><x>-2</x><y>-2</y><xscreen>121</xscreen><yscreen>141</yscreen><sizeHorzCX>72024</sizeHorzCX><sizeHorzCY>143585</sizeHorzCY><sizeVertCX>142857</sizeVertCX><sizeVertCY>755601</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>203666</sizeHorzCY><sizeVertCX>119048</sizeVertCX><sizeVertCY>203666</sizeVertCY></Rect></Wnd3></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
+    <Top><Row0><Sizes><Toolbar-013360d0><key>iaridepm.enu1</key></Toolbar-013360d0><Toolbar-0b79f4f0><key>debuggergui.enu1</key></Toolbar-0b79f4f0></Sizes></Row0></Top><Left><Row0><Sizes><Wnd0><Rect><Top>-2</Top><Left>-2</Left><Bottom>740</Bottom><Right>238</Right><x>-2</x><y>-2</y><xscreen>121</xscreen><yscreen>141</yscreen><sizeHorzCX>72024</sizeHorzCX><sizeHorzCY>143585</sizeHorzCY><sizeVertCX>142857</sizeVertCX><sizeVertCY>755601</sizeVertCY></Rect></Wnd0></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>203666</sizeHorzCY><sizeVertCX>119048</sizeVertCX><sizeVertCY>203666</sizeVertCY></Rect></Wnd1></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
   </Desktop>
 </Project>
 
diff --git a/Demo/RX600_RX62N-RSK_IAR/settings/RTOSDemo.dni b/Demo/RX600_RX62N-RSK_IAR/settings/RTOSDemo.dni
index d7312a3..43d1a40 100644
--- a/Demo/RX600_RX62N-RSK_IAR/settings/RTOSDemo.dni
+++ b/Demo/RX600_RX62N-RSK_IAR/settings/RTOSDemo.dni
@@ -1,7 +1,7 @@
 [E20]
-TimeConnected=1285249114
-ComuniDllSave=101515264
-FfwnsdDllSave=303235072
+TimeConnected=1305306678
+ComuniDllSave=82903040
+FfwnsdDllSave=303890432
 ChipName=R5F562N8
 CpuMode=0
 InputClock=12.500000
@@ -10,8 +10,18 @@
 DebugFlags=0,0
 EmulatorMode=0
 NeedInit=1
+BlockBits=0
+B0=0,0
+B1=0,0
+B2=0,0
+B3=0,0
+TraceMode=0
+TraceOutput=2
+TraceCapacity=0
+TraceRestart=0
+OperatingFrequency=12.500000
 [DebugChecksum]
-Checksum=1020766678
+Checksum=-127835808
 [DisAssemblyWindow]
 NumStates=_ 1
 State 1=_ 1
@@ -31,6 +41,18 @@
 TriggerName=main
 LimitSize=0
 ByteLimit=50
+[Stack]
+FillEnabled=0
+OverflowWarningsEnabled=1
+WarningThreshold=90
+SpWarningsEnabled=1
+WarnLogOnly=1
+UseTrigger=1
+TriggerName=main
+LimitSize=0
+ByteLimit=50
+[CallStack]
+ShowArgs=0
 [Log file]
 LoggingEnabled=_ 0
 LogFile=_ ""
@@ -38,10 +60,13 @@
 [TermIOLog]
 LoggingEnabled=_ 0
 LogFile=_ ""
+[CallStackLog]
+Enabled=0
 [DriverProfiling]
 Enabled=0
-Source=2
+Mode=3
 Graph=0
+Symbiont=0
 [Breakpoints]
 Count=0
 [Monitor Execution]
diff --git a/Demo/RX600_RX62N-RSK_IAR/settings/RTOSDemo.wsdt b/Demo/RX600_RX62N-RSK_IAR/settings/RTOSDemo.wsdt
index f6a5bb4..d9a205d 100644
--- a/Demo/RX600_RX62N-RSK_IAR/settings/RTOSDemo.wsdt
+++ b/Demo/RX600_RX62N-RSK_IAR/settings/RTOSDemo.wsdt
@@ -25,7 +25,7 @@
     <Windows>
       
       
-    <Wnd0>
+    <Wnd2>
         <Tabs>
           <Tab>
             <Identity>TabID-10758-3386</Identity>
@@ -37,7 +37,7 @@
           </Tab>
         </Tabs>
         
-      <SelectedTab>0</SelectedTab></Wnd0><Wnd1>
+      <SelectedTab>0</SelectedTab></Wnd2><Wnd3>
         <Tabs>
           <Tab>
             <Identity>TabID-16801-3477</Identity>
@@ -47,20 +47,20 @@
           </Tab>
         <Tab><Identity>TabID-414-15843</Identity><TabName>Breakpoints</TabName><Factory>Breakpoints</Factory></Tab><Tab><Identity>TabID-3320-15993</Identity><TabName>Debug Log</TabName><Factory>Debug-Log</Factory><Session/></Tab></Tabs>
         
-      <SelectedTab>0</SelectedTab></Wnd1></Windows>
+      <SelectedTab>0</SelectedTab></Wnd3></Windows>
     <Editor>
       
       
       
       
-    <Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\main-full.c</Filename><XPos>0</XPos><YPos>51</YPos><SelStart>12507</SelStart><SelEnd>12507</SelEnd></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-full.c</Filename><XPos>0</XPos><YPos>245</YPos><SelStart>12338</SelStart><SelEnd>12338</SelEnd></Tab><ActiveTab>0</ActiveTab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\main-blinky.c</Filename><XPos>0</XPos><YPos>86</YPos><SelStart>4787</SelStart><SelEnd>4787</SelEnd></Tab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
     <Positions>
       
       
       
       
       
-    <Top><Row0><Sizes><Toolbar-00a2ab40><key>iaridepm.enu1</key></Toolbar-00a2ab40></Sizes></Row0></Top><Left><Row0><Sizes><Wnd0><Rect><Top>-2</Top><Left>-2</Left><Bottom>706</Bottom><Right>351</Right><x>-2</x><y>-2</y><xscreen>331</xscreen><yscreen>284</yscreen><sizeHorzCX>197024</sizeHorzCX><sizeHorzCY>289206</sizeHorzCY><sizeVertCX>210119</sizeVertCX><sizeVertCY>720978</sizeVertCY></Rect></Wnd0></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd1><Rect><Top>-2</Top><Left>-2</Left><Bottom>232</Bottom><Right>1682</Right><x>-2</x><y>-2</y><xscreen>1684</xscreen><yscreen>234</yscreen><sizeHorzCX>1002381</sizeHorzCX><sizeHorzCY>238289</sizeHorzCY><sizeVertCX>197024</sizeVertCX><sizeVertCY>289206</sizeVertCY></Rect></Wnd1></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
+    <Top><Row0><Sizes><Toolbar-013360d0><key>iaridepm.enu1</key></Toolbar-013360d0></Sizes></Row0><Row1><Sizes/></Row1><Row2><Sizes/></Row2></Top><Left><Row0><Sizes><Wnd2><Rect><Top>-2</Top><Left>-2</Left><Bottom>706</Bottom><Right>351</Right><x>-2</x><y>-2</y><xscreen>331</xscreen><yscreen>284</yscreen><sizeHorzCX>197024</sizeHorzCX><sizeHorzCY>289206</sizeHorzCY><sizeVertCX>210119</sizeVertCX><sizeVertCY>720978</sizeVertCY></Rect></Wnd2></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd3><Rect><Top>-2</Top><Left>-2</Left><Bottom>232</Bottom><Right>1682</Right><x>-2</x><y>-2</y><xscreen>1684</xscreen><yscreen>234</yscreen><sizeHorzCX>1002381</sizeHorzCX><sizeHorzCY>238289</sizeHorzCY><sizeVertCX>197024</sizeVertCX><sizeVertCY>289206</sizeVertCY></Rect></Wnd3></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
   </Desktop>
 </Workspace>
 
diff --git a/Demo/RX600_RX62N-RSK_IAR/uIP_Task.c b/Demo/RX600_RX62N-RSK_IAR/uIP_Task.c
index a09782d..17a5925 100644
--- a/Demo/RX600_RX62N-RSK_IAR/uIP_Task.c
+++ b/Demo/RX600_RX62N-RSK_IAR/uIP_Task.c
@@ -57,7 +57,8 @@
 /* Scheduler includes. */
 #include "FreeRTOS.h"
 #include "task.h"
-#include "semphr.h"
+#include "timers.h"
+#include "queue.h"
 
 /* uip includes. */
 #include "net/uip.h"
@@ -81,6 +82,15 @@
 /* Standard constant. */
 #define uipTOTAL_FRAME_HEADER_SIZE	54
 
+/* The ARP timer and the periodic timer share a callback function, so the
+respective timer IDs are used to determine which timer actually expired.  These
+constants are assigned to the timer IDs. */
+#define uipARP_TIMER				0
+#define uipPERIODIC_TIMER			1
+
+/* A block time of zero ticks simply means, "don't block". */
+#define uipDONT_BLOCK				0UL
+
 /*-----------------------------------------------------------*/
 
 /*
@@ -89,24 +99,28 @@
 static void prvSetMACAddress( void );
 
 /*
+ * Perform any uIP initialisation necessary.
+ */
+static void prvInitialise_uIP( void );
+
+/*
+ * The callback function that is assigned to both the periodic timer and the
+ * ARP timer.
+ */
+static void prvUIPTimerCallback( xTimerHandle xTimer );
+
+/*
  * Port functions required by the uIP stack.
  */
-void clock_init( void );
 clock_time_t clock_time( void );
 
 /*-----------------------------------------------------------*/
 
-/* The semaphore used by the ISR to wake the uIP task. */
-xSemaphoreHandle xEMACSemaphore = NULL;
+/* The queue used to send TCP/IP events to the uIP stack. */
+xQueueHandle xEMACEventQueue = NULL;
 
 /*-----------------------------------------------------------*/
 
-void clock_init(void)
-{
-	/* This is done when the scheduler starts. */
-}
-/*-----------------------------------------------------------*/
-
 clock_time_t clock_time( void )
 {
 	return xTaskGetTickCount();
@@ -115,25 +129,14 @@
 
 void vuIP_Task( void *pvParameters )
 {
-portBASE_TYPE i, xDoneSomething;
-uip_ipaddr_t xIPAddr;
-struct timer periodic_timer, arp_timer;
+portBASE_TYPE i;
+unsigned long ulNewEvent = 0UL;
+unsigned long ulUIP_Events = 0UL;
 
 	( void ) pvParameters;
-
+	
 	/* Initialise the uIP stack. */
-	timer_set( &periodic_timer, configTICK_RATE_HZ / 2 );
-	timer_set( &arp_timer, configTICK_RATE_HZ * 10 );
-	uip_init();
-	uip_ipaddr( &xIPAddr, configIP_ADDR0, configIP_ADDR1, configIP_ADDR2, configIP_ADDR3 );
-	uip_sethostaddr( &xIPAddr );
-	uip_ipaddr( &xIPAddr, configNET_MASK0, configNET_MASK1, configNET_MASK2, configNET_MASK3 );
-	uip_setnetmask( &xIPAddr );
-	prvSetMACAddress();
-	httpd_init();
-
-	/* Create the semaphore used to wake the uIP task. */
-	vSemaphoreCreateBinary( xEMACSemaphore );
+	prvInitialise_uIP();
 
 	/* Initialise the MAC. */
 	vInitEmac();
@@ -145,49 +148,51 @@
 
 	for( ;; )
 	{
-		xDoneSomething = pdFALSE;
-		
-		/* Is there received data ready to be processed? */
-		uip_len = ( unsigned short ) ulEMACRead();
-		
-		if( ( uip_len > 0 ) && ( uip_buf != NULL ) )
-		{
-			/* Standard uIP loop taken from the uIP manual. */
-			if( xHeader->type == htons( UIP_ETHTYPE_IP ) )
+		if( ( ulUIP_Events & uipETHERNET_RX_EVENT ) != 0UL )
+		{		
+			/* Is there received data ready to be processed? */
+			uip_len = ( unsigned short ) ulEMACRead();
+			
+			if( ( uip_len > 0 ) && ( uip_buf != NULL ) )
 			{
-				uip_arp_ipin();
-				uip_input();
-
-				/* If the above function invocation resulted in data that
-				should be sent out on the network, the global variable
-				uip_len is set to a value > 0. */
-				if( uip_len > 0 )
+				/* Standard uIP loop taken from the uIP manual. */
+				if( xHeader->type == htons( UIP_ETHTYPE_IP ) )
 				{
-					uip_arp_out();
-					vEMACWrite();
+					uip_arp_ipin();
+					uip_input();
+
+					/* If the above function invocation resulted in data that
+					should be sent out on the network, the global variable
+					uip_len is set to a value > 0. */
+					if( uip_len > 0 )
+					{
+						uip_arp_out();
+						vEMACWrite();
+					}
 				}
-				
-				xDoneSomething = pdTRUE;
+				else if( xHeader->type == htons( UIP_ETHTYPE_ARP ) )
+				{
+					uip_arp_arpin();
+
+					/* If the above function invocation resulted in data that
+					should be sent out on the network, the global variable
+					uip_len is set to a value > 0. */
+					if( uip_len > 0 )
+					{
+						vEMACWrite();
+					}
+				}
 			}
-			else if( xHeader->type == htons( UIP_ETHTYPE_ARP ) )
+			else
 			{
-				uip_arp_arpin();
-
-				/* If the above function invocation resulted in data that
-				should be sent out on the network, the global variable
-				uip_len is set to a value > 0. */
-				if( uip_len > 0 )
-				{
-					vEMACWrite();
-				}
-				
-				xDoneSomething = pdTRUE;
+				ulUIP_Events &= ~uipETHERNET_RX_EVENT;
 			}
 		}
-
-		if( timer_expired( &periodic_timer ) && ( uip_buf != NULL ) )
+		
+		if( ( ulUIP_Events & uipPERIODIC_TIMER_EVENT ) != 0UL )
 		{
-			timer_reset( &periodic_timer );
+			ulUIP_Events &= ~uipPERIODIC_TIMER_EVENT;
+					
 			for( i = 0; i < UIP_CONNS; i++ )
 			{
 				uip_periodic( i );
@@ -201,25 +206,82 @@
 					vEMACWrite();
 				}
 			}
-
-			/* Call the ARP timer function every 10 seconds. */
-			if( timer_expired( &arp_timer ) )
-			{
-				timer_reset( &arp_timer );
-				uip_arp_timer();
-			}
-			
-			xDoneSomething = pdTRUE;
 		}
 		
-		if( xDoneSomething == pdFALSE )
+		/* Call the ARP timer function every 10 seconds. */
+		if( ( ulUIP_Events & uipARP_TIMER_EVENT ) != 0 )
 		{
-			/* We did not receive a packet, and there was no periodic
-			processing to perform.  Block for a fixed period.  If a packet
-			is received during this period we will be woken by the ISR
-			giving us the Semaphore. */
-			xSemaphoreTake( xEMACSemaphore, configTICK_RATE_HZ / 20 );
+			ulUIP_Events &= ~uipARP_TIMER_EVENT;
+			uip_arp_timer();
 		}
+			
+		if( ulUIP_Events == pdFALSE )
+		{
+			xQueueReceive( xEMACEventQueue, &ulNewEvent, portMAX_DELAY );
+			ulUIP_Events |= ulNewEvent;
+		}
+	}
+}
+/*-----------------------------------------------------------*/
+
+static void prvInitialise_uIP( void )
+{
+xTimerHandle xARPTimer, xPeriodicTimer;
+uip_ipaddr_t xIPAddr;
+const unsigned long ul_uIPEventQueueLength = 10UL;
+
+	/* Initialise the uIP stack. */
+	uip_init();
+	uip_ipaddr( &xIPAddr, configIP_ADDR0, configIP_ADDR1, configIP_ADDR2, configIP_ADDR3 );
+	uip_sethostaddr( &xIPAddr );
+	uip_ipaddr( &xIPAddr, configNET_MASK0, configNET_MASK1, configNET_MASK2, configNET_MASK3 );
+	uip_setnetmask( &xIPAddr );
+	prvSetMACAddress();
+	httpd_init();
+
+	/* Create the queue used to sent TCP/IP events to the uIP stack. */
+	xEMACEventQueue = xQueueCreate( ul_uIPEventQueueLength, sizeof( unsigned long ) );
+
+	/* Create and start the uIP timers. */
+	xARPTimer = xTimerCreate( 	"ARPTimer", /* Just a name that is helpful for debugging, not used by the kernel. */
+								( 10000UL / portTICK_RATE_MS ), /* Timer period. */
+								pdTRUE, /* Autor-reload. */
+								( void * ) uipARP_TIMER,
+								prvUIPTimerCallback
+							);
+
+	xPeriodicTimer = xTimerCreate( 	"PeriodicTimer",
+									( 500 / portTICK_RATE_MS ),
+									pdTRUE, /* Autor-reload. */
+									( void * ) uipPERIODIC_TIMER,
+									prvUIPTimerCallback
+								);
+
+	configASSERT( xARPTimer );
+	configASSERT( xPeriodicTimer );
+
+	xTimerStart( xARPTimer, portMAX_DELAY );
+	xTimerStart( xPeriodicTimer, portMAX_DELAY );
+}
+/*-----------------------------------------------------------*/
+
+static void prvUIPTimerCallback( xTimerHandle xTimer )
+{
+static const unsigned long ulARPTimerExpired = uipARP_TIMER_EVENT;
+static const unsigned long ulPeriodicTimerExpired = uipPERIODIC_TIMER_EVENT;
+
+	/* This is a time callback, so calls to xQueueSend() must not attempt to
+	block. */
+	switch( ( int ) pvTimerGetTimerID( xTimer ) )
+	{
+		case uipARP_TIMER		:	xQueueSend( xEMACEventQueue, &ulARPTimerExpired, uipDONT_BLOCK );
+									break;
+
+		case uipPERIODIC_TIMER	:	xQueueSend( xEMACEventQueue, &ulPeriodicTimerExpired, uipDONT_BLOCK );
+									break;
+
+		default					:  	/* Should not get here. */
+									break;
 	}
 }
 /*-----------------------------------------------------------*/
@@ -250,28 +312,34 @@
 	{
 		/* Is there a command in the string? */
 		c = strstr( pcInputString, "?" );
-		if( c )
-		{
+	    if( c )
+	    {
 			/* Turn the LED's on or off in accordance with the check box status. */
 			if( strstr( c, "LED0=1" ) != NULL )
 			{
-				/* Turn LEDs on. */
-				vParTestSetLED( 3, 1 );
-				vParTestSetLED( 4, 1 );
+				/* Turn the LEDs on. */
+				vParTestSetLED( 7, 1 );
+				vParTestSetLED( 8, 1 );
+				vParTestSetLED( 9, 1 );
+				vParTestSetLED( 10, 1 );
 			}
 			else
 			{
-				/* Turn LED 4 off. */
-				vParTestSetLED( 3, 0 );
-				vParTestSetLED( 4, 0 );
+				/* Turn the LEDs off. */
+				vParTestSetLED( 7, 0 );
+				vParTestSetLED( 8, 0 );
+				vParTestSetLED( 9, 0 );
+				vParTestSetLED( 10, 0 );
 			}
-		}
+	    }
 		else
 		{
-			/* Commands to turn LEDs off are not always explicit, turn LED 4
-			off. */
-			vParTestSetLED( 3, 0 );
-			vParTestSetLED( 4, 0 );
+			/* Commands to turn LEDs off are not always explicit. */
+			vParTestSetLED( 7, 0 );
+			vParTestSetLED( 8, 0 );
+			vParTestSetLED( 9, 0 );
+			vParTestSetLED( 10, 0 );
 		}
 	}
 }
+
diff --git a/Demo/RX600_RX62N-RSK_IAR/webserver/EMAC.c b/Demo/RX600_RX62N-RSK_IAR/webserver/EMAC.c
index f1eb1fe..01ce33e 100644
--- a/Demo/RX600_RX62N-RSK_IAR/webserver/EMAC.c
+++ b/Demo/RX600_RX62N-RSK_IAR/webserver/EMAC.c
@@ -152,7 +152,7 @@
 /*-----------------------------------------------------------*/
 
 /* Points to the Rx descriptor currently in use. */
-static volatile ethfifo *pxCurrentDesc = NULL;
+static volatile ethfifo *pxCurrentRxDesc = NULL;
 
 /* The buffer used by the uIP stack to both receive and send.  This points to
 one of the Ethernet buffers when its actually in use. */
@@ -241,23 +241,29 @@
 
 	if( ulBytesReceived > 0 )
 	{
-		pxCurrentDesc->status &= ~( FP1 | FP0 );
-		pxCurrentDesc->status |= ACT;			
+		/* Mark the pxDescriptor buffer as free as uip_buf is going to be set to
+		the buffer that contains the received data. */
+		prvReturnBuffer( uip_buf );
 
+		/* Point uip_buf to the data about ot be processed. */
+		uip_buf = ( void * ) pxCurrentRxDesc->buf_p;
+		
+		/* Allocate a new buffer to the descriptor, as uip_buf is now using it's
+		old descriptor. */
+		pxCurrentRxDesc->buf_p = ( char * ) prvGetNextBuffer();
+
+		/* Prepare the descriptor to go again. */
+		pxCurrentRxDesc->status &= ~( FP1 | FP0 );
+		pxCurrentRxDesc->status |= ACT;
+
+		/* Move onto the next buffer in the ring. */
+		pxCurrentRxDesc = pxCurrentRxDesc->next;
+		
 		if( EDMAC.EDRRR.LONG == 0x00000000L )
 		{
 			/* Restart Ethernet if it has stopped */
 			EDMAC.EDRRR.LONG = 0x00000001L;
 		}
-
-		/* Mark the pxDescriptor buffer as free as uip_buf is going to be set to
-		the buffer that contains the received data. */
-		prvReturnBuffer( uip_buf );
-		
-		uip_buf = ( void * ) pxCurrentDesc->buf_p;
-
-		/* Move onto the next buffer in the ring. */
-		pxCurrentDesc = pxCurrentDesc->next;
 	}
 
 	return ulBytesReceived;
@@ -367,7 +373,7 @@
 	pxDescriptor->next = ( ethfifo * ) &( xTxDescriptors[ 0 ] );
 	
 	/* Use the first Rx descriptor to start with. */
-	pxCurrentDesc = &( xRxDescriptors[ 0 ] );
+	pxCurrentRxDesc = &( xRxDescriptors[ 0 ] );
 }
 /*-----------------------------------------------------------*/
 
@@ -439,17 +445,17 @@
 {
 unsigned long ulReturn = 0;
 
-	if( ( pxCurrentDesc->status & ACT ) != 0 )
+	if( ( pxCurrentRxDesc->status & ACT ) != 0 )
 	{
 		/* Current descriptor is still active. */
 	}
-	else if( ( pxCurrentDesc->status & FE ) != 0 )
+	else if( ( pxCurrentRxDesc->status & FE ) != 0 )
 	{
 		/* Frame error.  Clear the error. */
-		pxCurrentDesc->status &= ~( FP1 | FP0 | FE );
-		pxCurrentDesc->status &= ~( RMAF | RRF | RTLF | RTSF | PRE | CERF );
-		pxCurrentDesc->status |= ACT;
-		pxCurrentDesc = pxCurrentDesc->next;
+		pxCurrentRxDesc->status &= ~( FP1 | FP0 | FE );
+		pxCurrentRxDesc->status &= ~( RMAF | RRF | RTLF | RTSF | PRE | CERF );
+		pxCurrentRxDesc->status |= ACT;
+		pxCurrentRxDesc = pxCurrentRxDesc->next;
 
 		if( EDMAC.EDRRR.LONG == 0x00000000UL )
 		{
@@ -461,9 +467,9 @@
 	{
 		/* The descriptor contains a frame.  Because of the size of the buffers
 		the frame should always be complete. */
-		if( ( pxCurrentDesc->status & FP0 ) == FP0 )
+		if( ( pxCurrentRxDesc->status & FP0 ) == FP0 )
 		{
-			ulReturn = pxCurrentDesc->size;
+			ulReturn = pxCurrentRxDesc->size;
 		}
 		else
 		{
@@ -510,12 +516,13 @@
 	#if __LITTLE_ENDIAN__ == 1
 		EDMAC.EDMR.BIT.DE = 1;
 	#endif
-	EDMAC.RDLAR = ( void * ) pxCurrentDesc;	/* Initialaize Rx Descriptor List Address */
+	EDMAC.RDLAR = ( void * ) pxCurrentRxDesc;	/* Initialaize Rx Descriptor List Address */
 	EDMAC.TDLAR = ( void * ) &( xTxDescriptors[ 0 ] );/* Initialaize Tx Descriptor List Address */
 	EDMAC.TRSCER.LONG = 0x00000000;				/* Copy-back status is RFE & TFE only   */
 	EDMAC.TFTR.LONG = 0x00000000;				/* Threshold of Tx_FIFO */
 	EDMAC.FDR.LONG = 0x00000000;				/* Transmit fifo & receive fifo is 256 bytes */
 	EDMAC.RMCR.LONG = 0x00000003;				/* Receive function is normal mode(continued) */
+	ETHERC.ECMR.BIT.PRM = 0;					/* Ensure promiscuous mode is off. */
 	
 	/* Enable the interrupt... */
 	_IEN( _ETHER_EINT ) = 1;	
@@ -527,21 +534,16 @@
 {
 unsigned long ul = EDMAC.EESR.LONG;
 long lHigherPriorityTaskWoken = pdFALSE;
-extern xSemaphoreHandle xEMACSemaphore;
-static long ulTxEndInts = 0;
+extern xQueueHandle xEMACEventQueue;
+const unsigned long ulRxEvent = uipETHERNET_RX_EVENT;
 
 	__enable_interrupt();
 
 	/* Has a Tx end occurred? */
 	if( ul & emacTX_END_INTERRUPT )
 	{
-		++ulTxEndInts;
-		if( ulTxEndInts >= 2 )
-		{
-			/* Only return the buffer to the pool once both Txes have completed. */
-			prvReturnBuffer( ( void * ) xTxDescriptors[ 0 ].buf_p );
-			ulTxEndInts = 0;
-		}
+		/* Only return the buffer to the pool once both Txes have completed. */
+		prvReturnBuffer( ( void * ) xTxDescriptors[ 0 ].buf_p );
 		EDMAC.EESR.LONG = emacTX_END_INTERRUPT;
 	}
 
@@ -549,7 +551,7 @@
 	if( ul & emacRX_END_INTERRUPT )
 	{
 		/* Make sure the Ethernet task is not blocked waiting for a packet. */
-		xSemaphoreGiveFromISR( xEMACSemaphore, &lHigherPriorityTaskWoken );
+		xQueueSendFromISR( xEMACEventQueue, &ulRxEvent, &lHigherPriorityTaskWoken );
 		portYIELD_FROM_ISR( lHigherPriorityTaskWoken );
 		EDMAC.EESR.LONG = emacRX_END_INTERRUPT;
 	}
diff --git a/Demo/RX600_RX62N-RSK_Renesas/RTOSDemo.hws b/Demo/RX600_RX62N-RSK_Renesas/RTOSDemo.hws
index 8eeee10..f77d5e6 100644
--- a/Demo/RX600_RX62N-RSK_Renesas/RTOSDemo.hws
+++ b/Demo/RX600_RX62N-RSK_Renesas/RTOSDemo.hws
@@ -16,7 +16,8 @@
 [WORKSPACE_PROPERTIES]
 [HELP_FILES]
 "c:\devtools\renesas\hew\tools\renesas\rx\1_0_0\hew\stdlib.chm" "C/C++ Standard Library Help" 0 
-"c:\devtools\renesas\hew\tools\renesas\rx\1_0_1\hew\stdlib.chm" "C/C++ Standard Library Help" 1 
+"c:\devtools\renesas\hew\tools\renesas\rx\1_0_1\hew\stdlib.chm" "C/C++ Standard Library Help" 0 
+"c:\devtools\renesas\hew\tools\renesas\rx\1_0_2\hew\stdlib.chm" "C/C++ Standard Library Help" 1 
 [GENERAL_DATA_PROJECT]
 [USERMENUTOOLS]
 [CUSTOMPLACEHOLDERS]
diff --git a/Demo/RX600_RX62N-RSK_Renesas/RTOSDemo.tws b/Demo/RX600_RX62N-RSK_Renesas/RTOSDemo.tws
index dc29e21..6be1205 100644
--- a/Demo/RX600_RX62N-RSK_Renesas/RTOSDemo.tws
+++ b/Demo/RX600_RX62N-RSK_Renesas/RTOSDemo.tws
@@ -10,8 +10,8 @@
 "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_Renesas\RTOSDemo\main-blinky.c" 
 "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_Renesas\RTOSDemo\main-full.c" 
 [WORKSPACE_FILE_STATES]
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_Renesas\RTOSDemo\main-blinky.c" 88 88 1100 433 0 1 
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_Renesas\RTOSDemo\main-full.c" -4 -23 1310 662 1 0 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_Renesas\RTOSDemo\main-blinky.c" 88 88 1100 433 0 0 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_Renesas\RTOSDemo\main-full.c" -4 -23 1310 680 1 1 
 [LOADED_PROJECTS]
 "RTOSDemo" 
 [END]
diff --git a/Demo/RX600_RX62N-RSK_Renesas/RTOSDemo/Debug/Debug.hdp b/Demo/RX600_RX62N-RSK_Renesas/RTOSDemo/Debug/Debug.hdp
index b2e5c77..a8fcbeb 100644
--- a/Demo/RX600_RX62N-RSK_Renesas/RTOSDemo/Debug/Debug.hdp
+++ b/Demo/RX600_RX62N-RSK_Renesas/RTOSDemo/Debug/Debug.hdp
Binary files differ
diff --git a/Demo/RX600_RX62N-RSK_Renesas/RTOSDemo/Debug_RX600_E1_E20_SYSTEM/Debug_RX600_E1_E20_SYSTEM.hdp b/Demo/RX600_RX62N-RSK_Renesas/RTOSDemo/Debug_RX600_E1_E20_SYSTEM/Debug_RX600_E1_E20_SYSTEM.hdp
index f17d510..6d5a944 100644
--- a/Demo/RX600_RX62N-RSK_Renesas/RTOSDemo/Debug_RX600_E1_E20_SYSTEM/Debug_RX600_E1_E20_SYSTEM.hdp
+++ b/Demo/RX600_RX62N-RSK_Renesas/RTOSDemo/Debug_RX600_E1_E20_SYSTEM/Debug_RX600_E1_E20_SYSTEM.hdp
Binary files differ
diff --git a/Demo/RX600_RX62N-RSK_Renesas/RTOSDemo/FreeRTOSConfig.h b/Demo/RX600_RX62N-RSK_Renesas/RTOSDemo/FreeRTOSConfig.h
index 7dc5d50..4c7ee4b 100644
--- a/Demo/RX600_RX62N-RSK_Renesas/RTOSDemo/FreeRTOSConfig.h
+++ b/Demo/RX600_RX62N-RSK_Renesas/RTOSDemo/FreeRTOSConfig.h
@@ -93,6 +93,12 @@
 #define configMAX_PRIORITIES			( ( unsigned portBASE_TYPE ) 7 )
 #define configMAX_CO_ROUTINE_PRIORITIES ( 2 )
 
+/* Software timer definitions. */
+#define configUSE_TIMERS				1
+#define configTIMER_TASK_PRIORITY		( 3 )
+#define configTIMER_QUEUE_LENGTH		5
+#define configTIMER_TASK_STACK_DEPTH	( configMINIMAL_STACK_SIZE )
+
 /* The interrupt priority used by the kernel itself for the tick interrupt and
 the pended interrupt.  This would normally be the lowest priority. */
 #define configKERNEL_INTERRUPT_PRIORITY         1
@@ -120,6 +126,8 @@
 #define INCLUDE_uxTaskGetStackHighWaterMark	1
 #define INCLUDE_xTaskGetSchedulerState		1
 
+#define configASSERT( x ) if( ( x ) == 0 ) { taskDISABLE_INTERRUPTS(); for( ;; ); }	
+
 extern volatile unsigned long ulHighFrequencyTickCount;
 #define portCONFIGURE_TIMER_FOR_RUN_TIME_STATS() nop() /* Run time stats use the same timer as the high frequency timer test. */
 #define portGET_RUN_TIME_COUNTER_VALUE() ulHighFrequencyTickCount
diff --git a/Demo/RX600_RX62N-RSK_Renesas/RTOSDemo/RTOSDemo.hwp b/Demo/RX600_RX62N-RSK_Renesas/RTOSDemo/RTOSDemo.hwp
index e5f78d3..2b55a9b 100644
--- a/Demo/RX600_RX62N-RSK_Renesas/RTOSDemo/RTOSDemo.hwp
+++ b/Demo/RX600_RX62N-RSK_Renesas/RTOSDemo/RTOSDemo.hwp
@@ -162,6 +162,7 @@
 "C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\Renesas\RX600\port_asm.src" "User" "C source file|FreeRTOS|Portable layer" 2 
 "C:\E\Dev\FreeRTOS\WorkingCopy\Source\queue.c" "User" "C source file|FreeRTOS" 2 
 "C:\E\Dev\FreeRTOS\WorkingCopy\Source\tasks.c" "User" "C source file|FreeRTOS" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\timers.c" "User" "C source file" 2 
 [FOLDER]
 "Assembly source file" "Assembly source file" 
 "C source file" "C source file" 
@@ -190,7 +191,7 @@
 [GENERAL_DATA_SESSION_SessionRX600_E1_E20_SYSTEM]
 [GENERAL_DATA_SESSION_SimSessionRX600]
 [OPTIONS_Blinky_Renesas OptLinker]
-"Single Shot" "06039a50d711cc10" 5 
+"Single Shot" "095444c51911cc10" 5 
 [OPTIONS_Blinky_Renesas RX Assembler]
 "Assembly source file" "0b955de7c711cc10" 4 
 "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_Renesas\RTOSDemo\Renesas-Files\lowlvl.src" "0b955de7c711cc10" 4 
@@ -240,10 +241,11 @@
 "C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\Renesas\RX600\port.c" "0b955de7c711cc10" 2 
 "C:\E\Dev\FreeRTOS\WorkingCopy\Source\queue.c" "0b955de7c711cc10" 2 
 "C:\E\Dev\FreeRTOS\WorkingCopy\Source\tasks.c" "0b955de7c711cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\timers.c" "0d5972c51911cc10" 2 
 [OPTIONS_Blinky_Renesas RX C/C++ Library Generator]
 "Single Shot" "0b955de7c711cc10" 1 
 [OPTIONS_Blinky_Renesas RX Configurator]
-"Single Shot" "0bbed540d711cc10" 6 
+"Single Shot" "0d5972c51911cc10" 6 
 [OPTIONS_Blinky]
 "" 0 
 "[V|VERSION|1] [B|COMMAND|1] [S|SPEC|UITRON4] [S|OUTPUTPATH|^"$(CONFIGDIR)^"] [S|CPU|RX600] [S|ENDIAN|LITTLE] [S|FINT_REGISTER|0]" 6 
@@ -288,7 +290,7 @@
 [LINKAGE_ORDER_Blinky]
 [GENERAL_DATA_CONFIGURATION_Blinky]
 [OPTIONS_Debug_Renesas OptLinker]
-"Single Shot" "06039a50d711cc10" 5 
+"Single Shot" "095444c51911cc10" 5 
 [OPTIONS_Debug_Renesas RX Assembler]
 "Assembly source file" "0ce90de7c711cc10" 4 
 "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_Renesas\RTOSDemo\Renesas-Files\lowlvl.src" "0ce90de7c711cc10" 4 
@@ -338,10 +340,11 @@
 "C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\Renesas\RX600\port.c" "0ce90de7c711cc10" 2 
 "C:\E\Dev\FreeRTOS\WorkingCopy\Source\queue.c" "0ce90de7c711cc10" 2 
 "C:\E\Dev\FreeRTOS\WorkingCopy\Source\tasks.c" "0ce90de7c711cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\timers.c" "0d5972c51911cc10" 2 
 [OPTIONS_Debug_Renesas RX C/C++ Library Generator]
 "Single Shot" "0ce90de7c711cc10" 1 
 [OPTIONS_Debug_Renesas RX Configurator]
-"Single Shot" "0bbed540d711cc10" 6 
+"Single Shot" "0d5972c51911cc10" 6 
 [OPTIONS_Debug]
 "" 0 
 "[V|VERSION|1] [B|COMMAND|1] [S|SPEC|UITRON4] [S|OUTPUTPATH|^"$(CONFIGDIR)^"] [S|CPU|RX600] [S|ENDIAN|LITTLE] [S|FINT_REGISTER|0]" 6 
@@ -363,7 +366,7 @@
 [LINKAGE_ORDER_Debug]
 [GENERAL_DATA_CONFIGURATION_Debug]
 [OPTIONS_Debug_RX600_E1_E20_SYSTEM_Renesas OptLinker]
-"Single Shot" "06039a50d711cc10" 5 
+"Single Shot" "095444c51911cc10" 5 
 [OPTIONS_Debug_RX600_E1_E20_SYSTEM_Renesas RX Assembler]
 "Assembly source file" "0cd2ece7c711cc10" 4 
 "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_Renesas\RTOSDemo\Renesas-Files\lowlvl.src" "0cd2ece7c711cc10" 4 
@@ -413,10 +416,11 @@
 "C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\Renesas\RX600\port.c" "0d3ebce7c711cc10" 2 
 "C:\E\Dev\FreeRTOS\WorkingCopy\Source\queue.c" "0d3ebce7c711cc10" 2 
 "C:\E\Dev\FreeRTOS\WorkingCopy\Source\tasks.c" "0d3ebce7c711cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\timers.c" "0d5972c51911cc10" 2 
 [OPTIONS_Debug_RX600_E1_E20_SYSTEM_Renesas RX C/C++ Library Generator]
 "Single Shot" "0d3ebce7c711cc10" 1 
 [OPTIONS_Debug_RX600_E1_E20_SYSTEM_Renesas RX Configurator]
-"Single Shot" "0bbed540d711cc10" 6 
+"Single Shot" "0d5972c51911cc10" 6 
 [OPTIONS_Debug_RX600_E1_E20_SYSTEM]
 "" 0 
 "[S|OUTPUTPATH|^"$(CONFIGDIR)\$(PROJECTNAME).lib^"] [V|VERSION|1] [S|CPU|RX600] [S|ENDIAN|LITTLE] [S|ROUND|NEAREST] [S|DBL_SIZE|4] [B|SIGNED_CHAR|0] [B|SIGNED_BITFIELD|0] [S|BIT_ORDER|RIGHT] [S|FINT_REGISTER|0] [S|BRANCH|24] [S|LANG|C] [B|RUNTIME|1] [B|CTYPE|0] [B|MATH|0] [B|MATHF|0] [B|STDARG|0] [B|STDIO|0] [B|STDLIB|0] [B|STRING|0] [B|IOS|0] [B|NEW|1] [B|COMPLEX|0] [B|CPPSTRING|0] [S|MODE|BUILD/CHANGED]" 1 
@@ -431,7 +435,7 @@
 [LINKAGE_ORDER_Debug_RX600_E1_E20_SYSTEM]
 [GENERAL_DATA_CONFIGURATION_Debug_RX600_E1_E20_SYSTEM]
 [OPTIONS_Debug_with_optimisation_Renesas OptLinker]
-"Single Shot" "06039a50d711cc10" 5 
+"Single Shot" "095444c51911cc10" 5 
 [OPTIONS_Debug_with_optimisation_Renesas RX Assembler]
 "Assembly source file" "0d3ebce7c711cc10" 4 
 "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_Renesas\RTOSDemo\Renesas-Files\lowlvl.src" "0d3ebce7c711cc10" 4 
@@ -481,10 +485,11 @@
 "C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\Renesas\RX600\port.c" "0d279ce7c711cc10" 2 
 "C:\E\Dev\FreeRTOS\WorkingCopy\Source\queue.c" "0d279ce7c711cc10" 2 
 "C:\E\Dev\FreeRTOS\WorkingCopy\Source\tasks.c" "0d279ce7c711cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\timers.c" "0d5972c51911cc10" 2 
 [OPTIONS_Debug_with_optimisation_Renesas RX C/C++ Library Generator]
 "Single Shot" "0d279ce7c711cc10" 1 
 [OPTIONS_Debug_with_optimisation_Renesas RX Configurator]
-"Single Shot" "0bbed540d711cc10" 6 
+"Single Shot" "0d5972c51911cc10" 6 
 [OPTIONS_Debug_with_optimisation]
 "" 0 
 "[V|VERSION|1] [B|COMMAND|1] [S|SPEC|UITRON4] [S|OUTPUTPATH|^"$(CONFIGDIR)^"] [S|CPU|RX600] [S|ENDIAN|LITTLE] [S|FINT_REGISTER|0]" 6 
@@ -504,7 +509,7 @@
 [LINKAGE_ORDER_Debug_with_optimisation]
 [GENERAL_DATA_CONFIGURATION_Debug_with_optimisation]
 [OPTIONS_SimDebug_RX600_Renesas OptLinker]
-"Single Shot" "06039a50d711cc10" 5 
+"Single Shot" "095444c51911cc10" 5 
 [OPTIONS_SimDebug_RX600_Renesas RX Assembler]
 "Assembly source file" "0cf03de7c711cc10" 4 
 "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_Renesas\RTOSDemo\Renesas-Files\lowlvl.src" "0cf03de7c711cc10" 4 
@@ -554,10 +559,11 @@
 "C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\Renesas\RX600\port.c" "0cf03de7c711cc10" 2 
 "C:\E\Dev\FreeRTOS\WorkingCopy\Source\queue.c" "0cf03de7c711cc10" 2 
 "C:\E\Dev\FreeRTOS\WorkingCopy\Source\tasks.c" "0cf03de7c711cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\timers.c" "0d5972c51911cc10" 2 
 [OPTIONS_SimDebug_RX600_Renesas RX C/C++ Library Generator]
 "Single Shot" "0cf03de7c711cc10" 1 
 [OPTIONS_SimDebug_RX600_Renesas RX Configurator]
-"Single Shot" "0bbed540d711cc10" 6 
+"Single Shot" "0d5972c51911cc10" 6 
 [OPTIONS_SimDebug_RX600]
 "" 0 
 "[S|OUTPUTPATH|^"$(CONFIGDIR)\$(PROJECTNAME).lib^"] [V|VERSION|1] [S|CPU|RX600] [S|ENDIAN|LITTLE] [S|ROUND|NEAREST] [S|DBL_SIZE|4] [B|SIGNED_CHAR|0] [B|SIGNED_BITFIELD|0] [S|BIT_ORDER|RIGHT] [S|FINT_REGISTER|0] [S|BRANCH|24] [S|LANG|C] [B|RUNTIME|1] [B|CTYPE|0] [B|MATH|0] [B|MATHF|0] [B|STDARG|0] [B|STDIO|0] [B|STDLIB|0] [B|STRING|0] [B|IOS|0] [B|NEW|1] [B|COMPLEX|0] [B|CPPSTRING|0] [S|MODE|BUILD/CHANGED]" 1 
diff --git a/Demo/RX600_RX62N-RSK_Renesas/RTOSDemo/RTOSDemo.nav b/Demo/RX600_RX62N-RSK_Renesas/RTOSDemo/RTOSDemo.nav
index 09bad3e..955de74 100644
--- a/Demo/RX600_RX62N-RSK_Renesas/RTOSDemo/RTOSDemo.nav
+++ b/Demo/RX600_RX62N-RSK_Renesas/RTOSDemo/RTOSDemo.nav
Binary files differ
diff --git a/Demo/RX600_RX62N-RSK_Renesas/RTOSDemo/SessionRX600_E1_E20_SYSTEM.hsf b/Demo/RX600_RX62N-RSK_Renesas/RTOSDemo/SessionRX600_E1_E20_SYSTEM.hsf
index f16a25c..fff7fad 100644
--- a/Demo/RX600_RX62N-RSK_Renesas/RTOSDemo/SessionRX600_E1_E20_SYSTEM.hsf
+++ b/Demo/RX600_RX62N-RSK_Renesas/RTOSDemo/SessionRX600_E1_E20_SYSTEM.hsf
@@ -89,31 +89,31 @@
 "{5F75FDA0-6FF0-11D5-B7CE-00E029352378}PACtrlViews" "0" 
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_EVAL_DENORMAL_MODE" "16777216" 
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_EVAL_ROUND_MODE" "768" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_0" "000000000000BD20" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_1" "000000000000BB8B" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_0" "000000000000CEC4" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_1" "0000000000000000" 
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_10" "00000000A5A5A5A5" 
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_11" "00000000A5A5A5A5" 
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_12" "00000000A5A5A5A5" 
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_13" "00000000A5A5A5A5" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_14" "0000000000012A60" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_15" "0000000000000014" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_16" "000000000000BD20" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_17" "00000000000130D0" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_18" "0000000004030004" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_19" "00000000FFF9817C" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_2" "00000000FFF8A81A" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_20" "00000000FFF8B0C8" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_14" "00000000426E0000" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_15" "000000000001097C" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_16" "000000000000CEC4" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_17" "00000000000130CC" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_18" "0000000000030004" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_19" "00000000FFF8C73C" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_2" "0000000000000000" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_20" "00000000FFF8B130" 
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_21" "0000000000000000" 
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_22" "0000000000000000" 
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_23" "0000000000000000" 
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_24" "0000000000000100" 
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_25" "1234567887650000" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_3" "000000000000000E" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_4" "00000000000000A5" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_5" "00000000000000A5" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_6" "00000000A5A5A5A5" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_7" "00000000A5A5A5A5" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_8" "00000000A5A5A5A5" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_3" "000000000000000A" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_4" "0000000000000007" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_5" "0000000041380000" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_6" "0000000000000000" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_7" "0000000000004FD6" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_8" "000000000000E6AC" 
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_9" "00000000A5A5A5A5" 
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_COUNT" "26" 
 "{6C4D5B81-FD67-46A9-A089-EA44DCDE47FD}RAMMonitorManagerCtrlBlockInfoFileDir" "" 
@@ -370,7 +370,7 @@
 0 
 [WINDOW_POSITION_STATE_DATA_VD1]
 "Help" "TOOLBAR 0" 59419 1 5 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
-"{WK_00000001_CmdLine}" "WINDOW" 59422 0 1 "0.07" 228 0 0 350 200 17 0 "32771|32772|32778|<<separator>>|32773|32774|<<separator>>|32820|<<separator>>|32801|32824" "0.0" 
+"{WK_00000001_CmdLine}" "WINDOW" 59422 0 1 "0.07" 228 0 0 100 100 17 0 "32771|32772|32778|<<separator>>|32773|32774|<<separator>>" "0.0" 
 "{WK_00000001_DEBUGCONSOLE}RTOSDemoSessionRX600_E1_E20_SYSTEM" "WINDOW" 59421 0 1 "1.00" 374 0 0 350 200 17 0 "57634|57637|57633|<<separator>>|32781|32782|<<separator>>|32780|32785|32787" "0.0" 
 "{WK_00000001_DISASSEMBLY}" "WINDOW" 0 0 0 "0.00" 0 0 0 1062 571 9 0 "" "0.0" 
 "{WK_00000001_IO}RTOSDemoSessionRX600_E1_E20_SYSTEM" "WINDOW" 59422 0 2 "0.39" 228 0 0 350 200 17 0 "32817|32826|32819|32820|32821" "0.0" 
diff --git a/Demo/RX600_RX62N-RSK_Renesas/RTOSDemo/SessionRX600_E1_E20_SYSTEM.ini b/Demo/RX600_RX62N-RSK_Renesas/RTOSDemo/SessionRX600_E1_E20_SYSTEM.ini
index ae83e60..f742d43 100644
--- a/Demo/RX600_RX62N-RSK_Renesas/RTOSDemo/SessionRX600_E1_E20_SYSTEM.ini
+++ b/Demo/RX600_RX62N-RSK_Renesas/RTOSDemo/SessionRX600_E1_E20_SYSTEM.ini
@@ -2,7 +2,7 @@
 DebugMode=0
 PowerOut=0
 ResetRelease=0
-EmulatorSerial=E1:_9KM000237
+EmulatorSerial=
 McuGroup=RX62N Group
 Device=R5F562N8
 McuFileDir=RX62NGr
diff --git a/Demo/RX600_RX62N-RSK_Renesas/RTOSDemo/SimDebug_RX600/SimDebug_RX600.hdp b/Demo/RX600_RX62N-RSK_Renesas/RTOSDemo/SimDebug_RX600/SimDebug_RX600.hdp
index 020f081..9b8c90e 100644
--- a/Demo/RX600_RX62N-RSK_Renesas/RTOSDemo/SimDebug_RX600/SimDebug_RX600.hdp
+++ b/Demo/RX600_RX62N-RSK_Renesas/RTOSDemo/SimDebug_RX600/SimDebug_RX600.hdp
Binary files differ
diff --git a/Demo/RX600_RX62N-RSK_Renesas/RTOSDemo/uIP_Task.c b/Demo/RX600_RX62N-RSK_Renesas/RTOSDemo/uIP_Task.c
index 25ed6f9..847c9cb 100644
--- a/Demo/RX600_RX62N-RSK_Renesas/RTOSDemo/uIP_Task.c
+++ b/Demo/RX600_RX62N-RSK_Renesas/RTOSDemo/uIP_Task.c
@@ -57,7 +57,8 @@
 /* Scheduler includes. */
 #include "FreeRTOS.h"
 #include "task.h"
-#include "semphr.h"
+#include "timers.h"
+#include "queue.h"
 
 /* uip includes. */
 #include "net/uip.h"
@@ -81,6 +82,15 @@
 /* Standard constant. */
 #define uipTOTAL_FRAME_HEADER_SIZE	54
 
+/* The ARP timer and the periodic timer share a callback function, so the
+respective timer IDs are used to determine which timer actually expired.  These
+constants are assigned to the timer IDs. */
+#define uipARP_TIMER				0
+#define uipPERIODIC_TIMER			1
+
+/* A block time of zero ticks simply means, "don't block". */
+#define uipDONT_BLOCK				0UL
+
 /*-----------------------------------------------------------*/
 
 /*
@@ -89,24 +99,28 @@
 static void prvSetMACAddress( void );
 
 /*
+ * Perform any uIP initialisation necessary. 
+ */
+static void prvInitialise_uIP( void );
+
+/*
+ * The callback function that is assigned to both the periodic timer and the
+ * ARP timer.
+ */
+static void prvUIPTimerCallback( xTimerHandle xTimer );
+
+/*
  * Port functions required by the uIP stack.
  */
-void clock_init( void );
 clock_time_t clock_time( void );
 
 /*-----------------------------------------------------------*/
 
-/* The semaphore used by the ISR to wake the uIP task. */
-xSemaphoreHandle xEMACSemaphore = NULL;
+/* The queue used to send TCP/IP events to the uIP stack. */
+xQueueHandle xEMACEventQueue = NULL;
 
 /*-----------------------------------------------------------*/
 
-void clock_init(void)
-{
-	/* This is done when the scheduler starts. */
-}
-/*-----------------------------------------------------------*/
-
 clock_time_t clock_time( void )
 {
 	return xTaskGetTickCount();
@@ -115,25 +129,14 @@
 
 void vuIP_Task( void *pvParameters )
 {
-portBASE_TYPE i, xDoneSomething;
-uip_ipaddr_t xIPAddr;
-struct timer periodic_timer, arp_timer;
+portBASE_TYPE i;
+unsigned long ulNewEvent = 0UL;
+unsigned long ulUIP_Events = 0UL;
 
 	( void ) pvParameters;
-
+	
 	/* Initialise the uIP stack. */
-	timer_set( &periodic_timer, configTICK_RATE_HZ / 2 );
-	timer_set( &arp_timer, configTICK_RATE_HZ * 10 );
-	uip_init();
-	uip_ipaddr( &xIPAddr, configIP_ADDR0, configIP_ADDR1, configIP_ADDR2, configIP_ADDR3 );
-	uip_sethostaddr( &xIPAddr );
-	uip_ipaddr( &xIPAddr, configNET_MASK0, configNET_MASK1, configNET_MASK2, configNET_MASK3 );
-	uip_setnetmask( &xIPAddr );
-	prvSetMACAddress();
-	httpd_init();
-
-	/* Create the semaphore used to wake the uIP task. */
-	vSemaphoreCreateBinary( xEMACSemaphore );
+	prvInitialise_uIP();
 
 	/* Initialise the MAC. */
 	vInitEmac();
@@ -145,49 +148,51 @@
 
 	for( ;; )
 	{
-		xDoneSomething = pdFALSE;
-		
-		/* Is there received data ready to be processed? */
-		uip_len = ( unsigned short ) ulEMACRead();
-		
-		if( ( uip_len > 0 ) && ( uip_buf != NULL ) )
-		{
-			/* Standard uIP loop taken from the uIP manual. */
-			if( xHeader->type == htons( UIP_ETHTYPE_IP ) )
+		if( ( ulUIP_Events & uipETHERNET_RX_EVENT ) != 0UL )
+		{		
+			/* Is there received data ready to be processed? */
+			uip_len = ( unsigned short ) ulEMACRead();
+			
+			if( ( uip_len > 0 ) && ( uip_buf != NULL ) )
 			{
-				uip_arp_ipin();
-				uip_input();
-
-				/* If the above function invocation resulted in data that
-				should be sent out on the network, the global variable
-				uip_len is set to a value > 0. */
-				if( uip_len > 0 )
+				/* Standard uIP loop taken from the uIP manual. */
+				if( xHeader->type == htons( UIP_ETHTYPE_IP ) )
 				{
-					uip_arp_out();
-					vEMACWrite();
+					uip_arp_ipin();
+					uip_input();
+
+					/* If the above function invocation resulted in data that
+					should be sent out on the network, the global variable
+					uip_len is set to a value > 0. */
+					if( uip_len > 0 )
+					{
+						uip_arp_out();
+						vEMACWrite();
+					}
 				}
-				
-				xDoneSomething = pdTRUE;
+				else if( xHeader->type == htons( UIP_ETHTYPE_ARP ) )
+				{
+					uip_arp_arpin();
+
+					/* If the above function invocation resulted in data that
+					should be sent out on the network, the global variable
+					uip_len is set to a value > 0. */
+					if( uip_len > 0 )
+					{
+						vEMACWrite();
+					}
+				}
 			}
-			else if( xHeader->type == htons( UIP_ETHTYPE_ARP ) )
+			else
 			{
-				uip_arp_arpin();
-
-				/* If the above function invocation resulted in data that
-				should be sent out on the network, the global variable
-				uip_len is set to a value > 0. */
-				if( uip_len > 0 )
-				{
-					vEMACWrite();
-				}
-				
-				xDoneSomething = pdTRUE;
+				ulUIP_Events &= ~uipETHERNET_RX_EVENT;
 			}
 		}
-
-		if( timer_expired( &periodic_timer ) && ( uip_buf != NULL ) )
+		
+		if( ( ulUIP_Events & uipPERIODIC_TIMER_EVENT ) != 0UL )
 		{
-			timer_reset( &periodic_timer );
+			ulUIP_Events &= ~uipPERIODIC_TIMER_EVENT;
+					
 			for( i = 0; i < UIP_CONNS; i++ )
 			{
 				uip_periodic( i );
@@ -201,25 +206,82 @@
 					vEMACWrite();
 				}
 			}
-
-			/* Call the ARP timer function every 10 seconds. */
-			if( timer_expired( &arp_timer ) )
-			{
-				timer_reset( &arp_timer );
-				uip_arp_timer();
-			}
-			
-			xDoneSomething = pdTRUE;
 		}
 		
-		if( xDoneSomething == pdFALSE )
+		/* Call the ARP timer function every 10 seconds. */
+		if( ( ulUIP_Events & uipARP_TIMER_EVENT ) != 0 )
 		{
-			/* We did not receive a packet, and there was no periodic
-			processing to perform.  Block for a fixed period.  If a packet
-			is received during this period we will be woken by the ISR
-			giving us the Semaphore. */
-			xSemaphoreTake( xEMACSemaphore, configTICK_RATE_HZ / 20 );
+			ulUIP_Events &= ~uipARP_TIMER_EVENT;
+			uip_arp_timer();
 		}
+			
+		if( ulUIP_Events == pdFALSE )
+		{
+			xQueueReceive( xEMACEventQueue, &ulNewEvent, portMAX_DELAY );
+			ulUIP_Events |= ulNewEvent;
+		}
+	}
+}
+/*-----------------------------------------------------------*/
+
+static void prvInitialise_uIP( void )
+{
+xTimerHandle xARPTimer, xPeriodicTimer;
+uip_ipaddr_t xIPAddr;
+const unsigned long ul_uIPEventQueueLength = 10UL;
+
+	/* Initialise the uIP stack. */
+	uip_init();
+	uip_ipaddr( &xIPAddr, configIP_ADDR0, configIP_ADDR1, configIP_ADDR2, configIP_ADDR3 );
+	uip_sethostaddr( &xIPAddr );
+	uip_ipaddr( &xIPAddr, configNET_MASK0, configNET_MASK1, configNET_MASK2, configNET_MASK3 );
+	uip_setnetmask( &xIPAddr );
+	prvSetMACAddress();
+	httpd_init();
+
+	/* Create the queue used to sent TCP/IP events to the uIP stack. */
+	xEMACEventQueue = xQueueCreate( ul_uIPEventQueueLength, sizeof( unsigned long ) );
+
+	/* Create and start the uIP timers. */
+	xARPTimer = xTimerCreate( 	( const signed char * const ) "ARPTimer", /* Just a name that is helpful for debugging, not used by the kernel. */
+								( 10000UL / portTICK_RATE_MS ), /* Timer period. */
+								pdTRUE, /* Autor-reload. */
+								( void * ) uipARP_TIMER,
+								prvUIPTimerCallback
+							);
+
+	xPeriodicTimer = xTimerCreate( 	( const signed char * const ) "PeriodicTimer",
+									( 500 / portTICK_RATE_MS ),
+									pdTRUE, /* Autor-reload. */
+									( void * ) uipPERIODIC_TIMER,
+									prvUIPTimerCallback
+								);
+
+	configASSERT( xARPTimer );
+	configASSERT( xPeriodicTimer );
+
+	xTimerStart( xARPTimer, portMAX_DELAY );
+	xTimerStart( xPeriodicTimer, portMAX_DELAY );
+}
+/*-----------------------------------------------------------*/
+
+static void prvUIPTimerCallback( xTimerHandle xTimer )
+{
+static const unsigned long ulARPTimerExpired = uipARP_TIMER_EVENT;
+static const unsigned long ulPeriodicTimerExpired = uipPERIODIC_TIMER_EVENT;
+
+	/* This is a time callback, so calls to xQueueSend() must not attempt to
+	block. */
+	switch( ( int ) pvTimerGetTimerID( xTimer ) )
+	{
+		case uipARP_TIMER		:	xQueueSend( xEMACEventQueue, &ulARPTimerExpired, uipDONT_BLOCK );
+									break;
+
+		case uipPERIODIC_TIMER	:	xQueueSend( xEMACEventQueue, &ulPeriodicTimerExpired, uipDONT_BLOCK );
+									break;
+
+		default					:  	/* Should not get here. */
+									break;
 	}
 }
 /*-----------------------------------------------------------*/
@@ -250,28 +312,33 @@
 	{
 		/* Is there a command in the string? */
 		c = strstr( pcInputString, "?" );
-		if( c )
-		{
+	    if( c )
+	    {
 			/* Turn the LED's on or off in accordance with the check box status. */
 			if( strstr( c, "LED0=1" ) != NULL )
 			{
-				/* Turn LEDs on. */
-				vParTestSetLED( 3, 1 );
-				vParTestSetLED( 4, 1 );
+				/* Turn the LEDs on. */
+				vParTestSetLED( 7, 1 );
+				vParTestSetLED( 8, 1 );
+				vParTestSetLED( 9, 1 );
+				vParTestSetLED( 10, 1 );
 			}
 			else
 			{
-				/* Turn LED 4 off. */
-				vParTestSetLED( 3, 0 );
-				vParTestSetLED( 4, 0 );
+				/* Turn the LEDs off. */
+				vParTestSetLED( 7, 0 );
+				vParTestSetLED( 8, 0 );
+				vParTestSetLED( 9, 0 );
+				vParTestSetLED( 10, 0 );
 			}
-		}
+	    }
 		else
 		{
-			/* Commands to turn LEDs off are not always explicit, turn LED 4
-			off. */
-			vParTestSetLED( 3, 0 );
-			vParTestSetLED( 4, 0 );
+			/* Commands to turn LEDs off are not always explicit. */
+			vParTestSetLED( 7, 0 );
+			vParTestSetLED( 8, 0 );
+			vParTestSetLED( 9, 0 );
+			vParTestSetLED( 10, 0 );
 		}
 	}
 }
diff --git a/Demo/RX600_RX62N-RSK_Renesas/RTOSDemo/webserver/EMAC.c b/Demo/RX600_RX62N-RSK_Renesas/RTOSDemo/webserver/EMAC.c
index 88dd280..8fe6533 100644
--- a/Demo/RX600_RX62N-RSK_Renesas/RTOSDemo/webserver/EMAC.c
+++ b/Demo/RX600_RX62N-RSK_Renesas/RTOSDemo/webserver/EMAC.c
@@ -246,23 +246,29 @@
 
 	if( ulBytesReceived > 0 )
 	{
-		pxCurrentRxDesc->status &= ~( FP1 | FP0 );
-		pxCurrentRxDesc->status |= ACT;			
+		/* Mark the pxDescriptor buffer as free as uip_buf is going to be set to
+		the buffer that contains the received data. */
+		prvReturnBuffer( uip_buf );
 
+		/* Point uip_buf to the data about ot be processed. */
+		uip_buf = ( void * ) pxCurrentRxDesc->buf_p;
+		
+		/* Allocate a new buffer to the descriptor, as uip_buf is now using it's
+		old descriptor. */
+		pxCurrentRxDesc->buf_p = prvGetNextBuffer();
+
+		/* Prepare the descriptor to go again. */
+		pxCurrentRxDesc->status &= ~( FP1 | FP0 );
+		pxCurrentRxDesc->status |= ACT;
+
+		/* Move onto the next buffer in the ring. */
+		pxCurrentRxDesc = pxCurrentRxDesc->next;
+		
 		if( EDMAC.EDRRR.LONG == 0x00000000L )
 		{
 			/* Restart Ethernet if it has stopped */
 			EDMAC.EDRRR.LONG = 0x00000001L;
 		}
-
-		/* Mark the pxDescriptor buffer as free as uip_buf is going to be set to
-		the buffer that contains the received data. */
-		prvReturnBuffer( uip_buf );
-		
-		uip_buf = ( void * ) pxCurrentRxDesc->buf_p;
-
-		/* Move onto the next buffer in the ring. */
-		pxCurrentRxDesc = pxCurrentRxDesc->next;
 	}
 
 	return ulBytesReceived;
@@ -521,7 +527,8 @@
 	EDMAC.TFTR.LONG = 0x00000000;				/* Threshold of Tx_FIFO */
 	EDMAC.FDR.LONG = 0x00000000;				/* Transmit fifo & receive fifo is 256 bytes */
 	EDMAC.RMCR.LONG = 0x00000003;				/* Receive function is normal mode(continued) */
-	
+	ETHERC.ECMR.BIT.PRM = 0;					/* Ensure promiscuous mode is off. */
+		
 	/* Enable the interrupt... */
 	_IEN( _ETHER_EINT ) = 1;	
 }
@@ -532,19 +539,14 @@
 {
 unsigned long ul = EDMAC.EESR.LONG;
 long lHigherPriorityTaskWoken = pdFALSE;
-extern xSemaphoreHandle xEMACSemaphore;
-static long ulTxEndInts = 0;
+extern xQueueHandle xEMACEventQueue;
+const unsigned long ulRxEvent = uipETHERNET_RX_EVENT;
 
 	/* Has a Tx end occurred? */
 	if( ul & emacTX_END_INTERRUPT )
 	{
-		++ulTxEndInts;
-		if( ulTxEndInts >= 2 )
-		{
-			/* Only return the buffer to the pool once both Txes have completed. */
-			prvReturnBuffer( ( void * ) xTxDescriptors[ 0 ].buf_p );
-			ulTxEndInts = 0;
-		}
+		/* Only return the buffer to the pool once both Txes have completed. */
+		prvReturnBuffer( ( void * ) xTxDescriptors[ 0 ].buf_p );
 		EDMAC.EESR.LONG = emacTX_END_INTERRUPT;
 	}
 
@@ -552,7 +554,7 @@
 	if( ul & emacRX_END_INTERRUPT )
 	{
 		/* Make sure the Ethernet task is not blocked waiting for a packet. */
-		xSemaphoreGiveFromISR( xEMACSemaphore, &lHigherPriorityTaskWoken );
+		xQueueSendFromISR( xEMACEventQueue, &ulRxEvent, &lHigherPriorityTaskWoken );
 		portYIELD_FROM_ISR( lHigherPriorityTaskWoken );
 		EDMAC.EESR.LONG = emacRX_END_INTERRUPT;
 	}
