]> git.sur5r.net Git - freertos/commitdiff
Update demos to use timers for the check functionality, and the flash timers. Floati...
authorrichardbarry <richardbarry@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Sat, 17 Mar 2012 15:02:32 +0000 (15:02 +0000)
committerrichardbarry <richardbarry@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Sat, 17 Mar 2012 15:02:32 +0000 (15:02 +0000)
git-svn-id: https://svn.code.sf.net/p/freertos/code/trunk@1701 1d2547de-c912-0410-9cb9-b8ca96c0e9e2

Demo/RX600_RX63N-RSK_Renesas/RTOSDemo.tws
Demo/RX600_RX63N-RSK_Renesas/RTOSDemo/FreeRTOSConfig.h
Demo/RX600_RX63N-RSK_Renesas/RTOSDemo/RTOSDemo.hwp
Demo/RX600_RX63N-RSK_Renesas/RTOSDemo/RTOSDemo.nav
Demo/RX600_RX63N-RSK_Renesas/RTOSDemo/RTOSDemo.tps
Demo/RX600_RX63N-RSK_Renesas/RTOSDemo/Renesas-Files/resetprg.c
Demo/RX600_RX63N-RSK_Renesas/RTOSDemo/SessionRX600_E1_E20_SYSTEM.hsf
Demo/RX600_RX63N-RSK_Renesas/RTOSDemo/main-blinky.c
Demo/RX600_RX63N-RSK_Renesas/RTOSDemo/main-full.c

index cd506b80d21fd404cc3e9ff78e671f937c8201ab..910becbd146dafaa65556268a1278f1ab4d6b60f 100644 (file)
@@ -7,13 +7,21 @@
 [GENERAL_DATA]\r
 [BREAKPOINTS]\r
 [OPEN_WORKSPACE_FILES]\r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\include\flash_timer.h" \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\flash_timer.c" \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\FreeRTOSConfig.h" \r
 "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\main-full.c" \r
 "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\Renesas-Files\resetprg.c" \r
 "C:\E\Dev\FreeRTOS\WorkingCopy\Source\queue.c" \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\timers.c" \r
 [WORKSPACE_FILE_STATES]\r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\Renesas-Files\resetprg.c" 22 22 1142 391 0 0 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\main-full.c" 154 154 835 366 0 1 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Source\queue.c" -4 -23 1019 569 1 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\flash_timer.c" 0 0 1326 516 0 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\include\flash_timer.h" 66 66 1120 448 0 3 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\FreeRTOSConfig.h" 44 44 1164 335 0 1 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\Renesas-Files\resetprg.c" 88 88 1120 448 0 4 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\main-full.c" 154 154 835 366 0 0 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\queue.c" -4 -23 1326 673 1 6 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\timers.c" 110 110 1120 448 0 5 \r
 [LOADED_PROJECTS]\r
 "RTOSDemo" \r
 [END]\r
index 3d56a1e7d1796035a43979fd8f297eab81c6d34a..86b84fb33c8d2ebd1dcee3b28d16ea1245aabd14 100644 (file)
@@ -92,6 +92,7 @@
 \r
 #define configMAX_PRIORITIES                   ( ( unsigned portBASE_TYPE ) 7 )\r
 #define configMAX_CO_ROUTINE_PRIORITIES ( 2 )\r
+\r
 /* Software timer definitions. */\r
 #define configUSE_TIMERS                               1\r
 #define configTIMER_TASK_PRIORITY              ( 3 )\r
index 51c9b052c07ee2a5f93e90e519cf4c940a40639c..6dde714761d0799607cda75a01cc5825c36cd844 100644 (file)
 "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\QPeek.c" "User" "C source file|Common demo tasks" 2 \r
 "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\blocktim.c" "User" "C source file|Common demo tasks" 2 \r
 "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\death.c" "User" "C source file|Common demo tasks" 2 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\flash.c" "User" "C source file|Common demo tasks" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\flash_timer.c" "User" "C source file|Common demo tasks" 2 \r
 "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\integer.c" "User" "C source file|Common demo tasks" 2 \r
 "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\recmutex.c" "User" "C source file|Common demo tasks" 2 \r
 "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\semtest.c" "User" "C source file|Common demo tasks" 2 \r
 "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\Renesas-Files\resetprg.c" "User" "C source file|Renesas Files" 2 \r
 "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\Renesas-Files\sbrk.c" "User" "C source file|Renesas Files" 2 \r
 "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\Renesas-Files\vecttbl.c" "User" "C source file|Renesas Files" 2 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\lcd.c" "User" "C source file" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\main-blinky.c" "User" "C source file" 2 \r
 "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\main-full.c" "User" "C source file" 2 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\switches.c" "User" "C source file" 2 \r
 "C:\E\Dev\FreeRTOS\WorkingCopy\Source\list.c" "User" "C source file|FreeRTOS" 2 \r
 "C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\MemMang\heap_2.c" "User" "C source file|FreeRTOS|Portable layer" 2 \r
 "C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\Renesas\RX600\port.c" "User" "C source file|FreeRTOS|Portable layer" 2 \r
 "C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\Renesas\RX600\port_asm.src" "User" "Assembly source file" 2 \r
 "C:\E\Dev\FreeRTOS\WorkingCopy\Source\queue.c" "User" "C source file|FreeRTOS" 2 \r
 "C:\E\Dev\FreeRTOS\WorkingCopy\Source\tasks.c" "User" "C source file|FreeRTOS" 2 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Source\timers.c" "User" "C source file" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\timers.c" "User" "C source file|FreeRTOS" 2 \r
 [FOLDER]\r
 "Assembly source file" "Assembly source file" \r
 "C header file" "C header file" \r
 [ON_DEMAND_COMPONENTS_LOADED]\r
 [SYNC_SESSION_NAMES]\r
 [SESSIONS]\r
-"DefaultSession" "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\DefaultSession.hsf" 0 \r
 "SessionRX600_E1_E20_SYSTEM" "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\SessionRX600_E1_E20_SYSTEM.hsf" 0 \r
-"SimSessionRX600" "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\SimSessionRX600.hsf" 0 \r
-[GENERAL_DATA_SESSION_DefaultSession]\r
 [GENERAL_DATA_SESSION_SessionRX600_E1_E20_SYSTEM]\r
-[GENERAL_DATA_SESSION_SimSessionRX600]\r
 [OPTIONS_Blinky_Renesas OptLinker]\r
-"Single Shot" "00bd89f6bf10dc10" 5 \r
+"Single Shot" "0a2367d2f830dc10" 5 \r
 [OPTIONS_Blinky_Renesas RX Assembler]\r
 "Assembly source file" "00bd89f6bf10dc10" 4 \r
 "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\Renesas-Files\lowlvl.src" "00bd89f6bf10dc10" 4 \r
 "C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\Renesas\RX600\port_asm.src" "00bd89f6bf10dc10" 4 \r
 "Linkage symbol file" "00bd89f6bf10dc10" 4 \r
 [OPTIONS_Blinky_Renesas RX C/C++ Compiler]\r
-"C source file" "00a669f6bf10dc10" 3 \r
-"C++ source file" "00a669f6bf10dc10" 2 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\BlockQ.c" "00a669f6bf10dc10" 3 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\GenQTest.c" "00a669f6bf10dc10" 3 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\IntQueue.c" "00a669f6bf10dc10" 3 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\PollQ.c" "00a669f6bf10dc10" 3 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\QPeek.c" "00a669f6bf10dc10" 3 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\blocktim.c" "00a669f6bf10dc10" 3 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\death.c" "00a669f6bf10dc10" 3 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\flash.c" "00a669f6bf10dc10" 3 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\integer.c" "00a669f6bf10dc10" 3 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\recmutex.c" "00a669f6bf10dc10" 3 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\semtest.c" "00a669f6bf10dc10" 3 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\HighFrequencyTimerTest.c" "00a669f6bf10dc10" 3 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\IntQueueTimer.c" "00a669f6bf10dc10" 3 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\ParTest.c" "00a669f6bf10dc10" 3 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\Renesas-Files\dbsct.c" "00a669f6bf10dc10" 3 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\Renesas-Files\hwsetup.c" "00a669f6bf10dc10" 3 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\Renesas-Files\intprg.c" "00a669f6bf10dc10" 3 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\Renesas-Files\lowsrc.c" "00a669f6bf10dc10" 3 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\Renesas-Files\resetprg.c" "00a669f6bf10dc10" 3 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\Renesas-Files\sbrk.c" "00a669f6bf10dc10" 3 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\Renesas-Files\vecttbl.c" "00a669f6bf10dc10" 3 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\lcd.c" "00a669f6bf10dc10" 3 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\main-full.c" "00a669f6bf10dc10" 3 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\switches.c" "00a669f6bf10dc10" 3 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Source\list.c" "00a669f6bf10dc10" 3 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\MemMang\heap_2.c" "00a669f6bf10dc10" 3 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\Renesas\RX600\port.c" "00a669f6bf10dc10" 3 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Source\queue.c" "00a669f6bf10dc10" 3 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Source\tasks.c" "00a669f6bf10dc10" 3 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Source\timers.c" "00a669f6bf10dc10" 3 \r
+"C source file" "00a669f6bf10dc10" 2 \r
+"C++ source file" "00a669f6bf10dc10" 3 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\BlockQ.c" "00a669f6bf10dc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\GenQTest.c" "00a669f6bf10dc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\IntQueue.c" "00a669f6bf10dc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\PollQ.c" "00a669f6bf10dc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\QPeek.c" "00a669f6bf10dc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\blocktim.c" "00a669f6bf10dc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\death.c" "00a669f6bf10dc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\flash_timer.c" "0cad76d2f830dc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\integer.c" "00a669f6bf10dc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\recmutex.c" "00a669f6bf10dc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\semtest.c" "00a669f6bf10dc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\HighFrequencyTimerTest.c" "00a669f6bf10dc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\IntQueueTimer.c" "00a669f6bf10dc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\ParTest.c" "00a669f6bf10dc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\Renesas-Files\dbsct.c" "00a669f6bf10dc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\Renesas-Files\hwsetup.c" "00a669f6bf10dc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\Renesas-Files\intprg.c" "00a669f6bf10dc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\Renesas-Files\lowsrc.c" "00a669f6bf10dc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\Renesas-Files\resetprg.c" "00a669f6bf10dc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\Renesas-Files\sbrk.c" "00a669f6bf10dc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\Renesas-Files\vecttbl.c" "00a669f6bf10dc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\main-blinky.c" "0ae1d1e2b530dc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\main-full.c" "00a669f6bf10dc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\list.c" "00a669f6bf10dc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\MemMang\heap_2.c" "00a669f6bf10dc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\Renesas\RX600\port.c" "00a669f6bf10dc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\queue.c" "00a669f6bf10dc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\tasks.c" "00a669f6bf10dc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\timers.c" "00a669f6bf10dc10" 2 \r
 [OPTIONS_Blinky_Renesas RX C/C++ Library Generator]\r
 "Single Shot" "00a669f6bf10dc10" 1 \r
 [OPTIONS_Blinky_Renesas RX Configurator]\r
-"Single Shot" "00bd89f6bf10dc10" 6 \r
+"Single Shot" "0cad76d2f830dc10" 6 \r
 [OPTIONS_Blinky]\r
 "" 0 \r
 "[V|VERSION|1] [B|COMMAND|1] [S|SPEC|UITRON4] [S|OUTPUTPATH|^"$(CONFIGDIR)^"] [S|CPU|RX600] [S|ENDIAN|LITTLE] [S|FINT_REGISTER|0]" 6 \r
 "[V|VERSION|1] [B|SJIS|1] [B|DEBUG|1] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [S|CPU|RX600] [S|BASE|00000000=NONE] [B|SKIPDEPENDENCY|1]\r
 " 4 \r
 "[V|VERSION|1] [S|LANG|CPP] [B|SJIS|1] [S|INCLUDE|^"$(PROJDIR)\..\..\..\Source\portable\Renesas\RX600^"|^"$(PROJDIR)\..\..\..\Source\include^"|^"$(PROJDIR)\.^"|^"$(PROJDIR)\..\..\include^"|^"$(PROJDIR)\..\..\Common\include^"|^"$(PROJDIR)\.\include^"|^"$(PROJDIR)\webserver^"] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [B|DEBUG|1] [S|OPTIMIZE|0] [B|SIZE|1] [B|MAP|0] [I|INLINE|100] [I|LOOP|2] [S|MISRA2004_CHECK_RULE|ALL] [S|MISRA2004_RULE|1.1|3.4|4.1|5.2|5.3|5.4|5.5|5.6|5.7|6.1|6.2|6.3|6.4|6.5|7.1|8.1|8.2|8.3|8.5|8.6|8.7|8.8|8.11|8.12|9.2|9.3|10.1|10.2|10.3|10.4|10.5|10.6|11.1|11.2|11.3|11.4|11.5|12.1|12.2|12.3|12.4|12.5|12.6|12.7|12.8|12.9|12.10|12.11|12.12|12.13|13.1|13.2|13.3|13.4|13.7|14.1|14.2|14.3|14.4|14.5|14.6|14.7|14.8|14.9|14.10|15.1|15.2|15.3|15.4|15.5|16.1|16.2|16.3|16.4|16.5|16.6|16.8|16.9|17.3|17.4|17.5|17.6|18.1|18.2|18.4|19.1|20.2|20.4|20.5|20.7|20.8|20.9|20.10|20.11|20.12] [S|MISRA1998_CHECK_RULE|ALL] [S|MISRA1998_RULE|1|5|8|12|13|14|17|18|19|20|21|22|24|28|29|31|32|33|34|35|36|37|38|39|40|42|43|44|45|46|48|49|50|51|53|54|55|56|57|58|59|60|61|62|63|64|65|68|69|70|71|72|73|74|75|76|77|78|79|80|82|83|84|85|99|101|102|103|104|105|106|108|110|111|112|113|115|118|119|121|122|123|124|125|126|127] [S|MISRA_GROUP_FILE_PATH|^"$(PROJDIR)\$(PROJECTNAME).rde^"] [S|CPU|RX600] [S|BASE|00000000=NONE] [B|SKIPDEPENDENCY|1] [N|DEPENDSCAN|1]\r
-" 2 \r
-"[V|VERSION|1] [S|LANG|C] [B|SJIS|1] [S|INCLUDE|^"$(PROJDIR)\..\..\..\Source\portable\Renesas\RX600^"|^"$(PROJDIR)\..\..\..\Source\include^"|^"$(PROJDIR)\.^"|^"$(PROJDIR)\..\..\include^"|^"$(PROJDIR)\..\..\Common\include^"|^"$(PROJDIR)\.\include^"|^"$(PROJDIR)\webserver^"] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [B|DEBUG|1] [S|OPTIMIZE|0] [B|SIZE|1] [B|MAP|0] [I|INLINE|100] [I|LOOP|2] [S|MISRA2004_CHECK_RULE|ALL] [S|MISRA2004_RULE|1.1|3.4|4.1|5.2|5.3|5.4|5.5|5.6|5.7|6.1|6.2|6.3|6.4|6.5|7.1|8.1|8.2|8.3|8.5|8.6|8.7|8.8|8.11|8.12|9.2|9.3|10.1|10.2|10.3|10.4|10.5|10.6|11.1|11.2|11.3|11.4|11.5|12.1|12.2|12.3|12.4|12.5|12.6|12.7|12.8|12.9|12.10|12.11|12.12|12.13|13.1|13.2|13.3|13.4|13.7|14.1|14.2|14.3|14.4|14.5|14.6|14.7|14.8|14.9|14.10|15.1|15.2|15.3|15.4|15.5|16.1|16.2|16.3|16.4|16.5|16.6|16.8|16.9|17.3|17.4|17.5|17.6|18.1|18.2|18.4|19.1|20.2|20.4|20.5|20.7|20.8|20.9|20.10|20.11|20.12] [S|MISRA1998_CHECK_RULE|ALL] [S|MISRA1998_RULE|1|5|8|12|13|14|17|18|19|20|21|22|24|28|29|31|32|33|34|35|36|37|38|39|40|42|43|44|45|46|48|49|50|51|53|54|55|56|57|58|59|60|61|62|63|64|65|68|69|70|71|72|73|74|75|76|77|78|79|80|82|83|84|85|99|101|102|103|104|105|106|108|110|111|112|113|115|118|119|121|122|123|124|125|126|127] [S|MISRA_GROUP_FILE_PATH|^"$(PROJDIR)\$(PROJECTNAME).rde^"] [S|CPU|RX600] [S|BASE|00000000=NONE] [B|SKIPDEPENDENCY|1] [N|DEPENDSCAN|1]\r
 " 3 \r
+"[V|VERSION|1] [S|LANG|C] [B|SJIS|1] [S|INCLUDE|^"$(PROJDIR)\..\..\..\Source\portable\Renesas\RX600^"|^"$(PROJDIR)\..\..\..\Source\include^"|^"$(PROJDIR)\.^"|^"$(PROJDIR)\..\..\include^"|^"$(PROJDIR)\..\..\Common\include^"|^"$(PROJDIR)\.\include^"|^"$(PROJDIR)\webserver^"] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [B|DEBUG|1] [S|OPTIMIZE|0] [B|SIZE|1] [B|MAP|0] [I|INLINE|100] [I|LOOP|2] [S|MISRA2004_CHECK_RULE|ALL] [S|MISRA2004_RULE|1.1|3.4|4.1|5.2|5.3|5.4|5.5|5.6|5.7|6.1|6.2|6.3|6.4|6.5|7.1|8.1|8.2|8.3|8.5|8.6|8.7|8.8|8.11|8.12|9.2|9.3|10.1|10.2|10.3|10.4|10.5|10.6|11.1|11.2|11.3|11.4|11.5|12.1|12.2|12.3|12.4|12.5|12.6|12.7|12.8|12.9|12.10|12.11|12.12|12.13|13.1|13.2|13.3|13.4|13.7|14.1|14.2|14.3|14.4|14.5|14.6|14.7|14.8|14.9|14.10|15.1|15.2|15.3|15.4|15.5|16.1|16.2|16.3|16.4|16.5|16.6|16.8|16.9|17.3|17.4|17.5|17.6|18.1|18.2|18.4|19.1|20.2|20.4|20.5|20.7|20.8|20.9|20.10|20.11|20.12] [S|MISRA1998_CHECK_RULE|ALL] [S|MISRA1998_RULE|1|5|8|12|13|14|17|18|19|20|21|22|24|28|29|31|32|33|34|35|36|37|38|39|40|42|43|44|45|46|48|49|50|51|53|54|55|56|57|58|59|60|61|62|63|64|65|68|69|70|71|72|73|74|75|76|77|78|79|80|82|83|84|85|99|101|102|103|104|105|106|108|110|111|112|113|115|118|119|121|122|123|124|125|126|127] [S|MISRA_GROUP_FILE_PATH|^"$(PROJDIR)\$(PROJECTNAME).rde^"] [S|CPU|RX600] [S|BASE|00000000=NONE] [B|SKIPDEPENDENCY|1] [N|DEPENDSCAN|1]\r
+" 2 \r
 "[V|VERSION|1] [S|MODE|BUILD/CHANGED] [S|EXISTOUTPUTPATH|^"$(CONFIGDIR)\$(PROJECTNAME).lib^"] [B|RUNTIME|1] [B|STDIO|1] [B|STDLIB|1] [B|STRING|1] [B|NOFLOAT|1] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(PROJECTNAME).lib^"] [B|SIZE|1] [I|INLINE|100] [I|LOOP|2] [S|CPU|RX600] [S|BASE|00000000=NONE] [B|SKIPDEPENDENCY|1]\r
 " 1 \r
-"[V|VERSION|6] [S|FORM|STYPE] [S|BYTE_COUNT_VALUE|FF] [B|DEBUG|1] [S|ROM|(D,R)|(D_1,R_1)|(D_2,R_2)] [S|CRC|NONE|DEFAULT|00000000] [B|LIST|1] [S|LIST|^"$(CONFIGDIR)\$(PROJECTNAME).map^"] [S|SHOW|METHODCUSTOM|] [S|OUTPUT|^"$(CONFIGDIR)\$(PROJECTNAME).mot^"] [I|SPACE|^"FF^"] [B|OPTIMIZE|0] [S|START|B_1,R_1,B_2,R_2,B,R,SU,SI(01000)|PResetPRG(0FFF80000)|C_1,C_2,C,C$*,D*,P,PIntPRG,W*(0FFF81000)|FIXEDVECT(0FFFFFFD0)] [B|SKIPDEPENDENCY|1]\r
+"[V|VERSION|6] [S|FORM|STYPE] [S|BYTE_COUNT_VALUE|FF] [B|DEBUG|1] [S|ROM|(D,R)|(D_1,R_1)|(D_2,R_2)] [S|CRC|NONE|DEFAULT|00000000] [B|LIST|1] [S|LIST|^"$(CONFIGDIR)\$(PROJECTNAME).map^"] [S|SHOW|METHODCUSTOM|] [S|OUTPUT|^"$(CONFIGDIR)\$(PROJECTNAME).mot^"] [I|SPACE|^"FF^"] [B|OPTIMIZE|0] [S|START|B_1,R_1,B_2,R_2,B,R,SU,SI(01000)|PResetPRG(0FFF80000)|C_1,C_2,C,L*,C$*,D*,P,PIntPRG,W*(0FFF81000)|FIXEDVECT(0FFFFFFD0)] [S|MEMORY|HIGH] [B|SKIPDEPENDENCY|1]\r
 " 5 \r
 [EXCLUDED_FILES_Blinky]\r
 "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\BlockQ.c" \r
 "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\blocktim.c" \r
 "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\death.c" \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\flash.c" \r
 "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\GenQTest.c" \r
 "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\integer.c" \r
 "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\IntQueue.c" \r
 [LINKAGE_ORDER_Blinky]\r
 [GENERAL_DATA_CONFIGURATION_Blinky]\r
 [OPTIONS_Debug_Renesas OptLinker]\r
-"Single Shot" "00a669f6bf10dc10" 5 \r
+"Single Shot" "0a2367d2f830dc10" 5 \r
 [OPTIONS_Debug_Renesas RX Assembler]\r
 "Assembly source file" "00a669f6bf10dc10" 4 \r
 "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\Renesas-Files\lowlvl.src" "00a669f6bf10dc10" 4 \r
 "C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\Renesas\RX600\port_asm.src" "00a669f6bf10dc10" 4 \r
 "Linkage symbol file" "00a669f6bf10dc10" 4 \r
 [OPTIONS_Debug_Renesas RX C/C++ Compiler]\r
-"C source file" "00a669f6bf10dc10" 3 \r
-"C++ source file" "00a669f6bf10dc10" 2 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\BlockQ.c" "00a669f6bf10dc10" 3 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\GenQTest.c" "00a669f6bf10dc10" 3 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\IntQueue.c" "00a669f6bf10dc10" 3 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\PollQ.c" "00a669f6bf10dc10" 3 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\QPeek.c" "00a669f6bf10dc10" 3 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\blocktim.c" "00a669f6bf10dc10" 3 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\death.c" "00a669f6bf10dc10" 3 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\flash.c" "00a669f6bf10dc10" 3 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\integer.c" "00a669f6bf10dc10" 3 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\recmutex.c" "00a669f6bf10dc10" 3 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\semtest.c" "00a669f6bf10dc10" 3 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\HighFrequencyTimerTest.c" "00a669f6bf10dc10" 3 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\IntQueueTimer.c" "00a669f6bf10dc10" 3 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\ParTest.c" "00a669f6bf10dc10" 3 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\Renesas-Files\dbsct.c" "00a669f6bf10dc10" 3 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\Renesas-Files\hwsetup.c" "00a669f6bf10dc10" 3 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\Renesas-Files\intprg.c" "00a669f6bf10dc10" 3 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\Renesas-Files\lowsrc.c" "00a669f6bf10dc10" 3 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\Renesas-Files\resetprg.c" "00a669f6bf10dc10" 3 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\Renesas-Files\sbrk.c" "00a669f6bf10dc10" 3 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\Renesas-Files\vecttbl.c" "00a669f6bf10dc10" 3 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\lcd.c" "00a669f6bf10dc10" 3 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\main-full.c" "00a669f6bf10dc10" 3 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\switches.c" "00a669f6bf10dc10" 3 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Source\list.c" "00a669f6bf10dc10" 3 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\MemMang\heap_2.c" "00a669f6bf10dc10" 3 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\Renesas\RX600\port.c" "00a669f6bf10dc10" 3 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Source\queue.c" "00a669f6bf10dc10" 3 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Source\tasks.c" "00a669f6bf10dc10" 3 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Source\timers.c" "00a669f6bf10dc10" 3 \r
+"C source file" "00a669f6bf10dc10" 2 \r
+"C++ source file" "00a669f6bf10dc10" 3 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\BlockQ.c" "00a669f6bf10dc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\GenQTest.c" "00a669f6bf10dc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\IntQueue.c" "00a669f6bf10dc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\PollQ.c" "00a669f6bf10dc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\QPeek.c" "00a669f6bf10dc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\blocktim.c" "00a669f6bf10dc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\death.c" "00a669f6bf10dc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\flash_timer.c" "0cad76d2f830dc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\integer.c" "00a669f6bf10dc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\recmutex.c" "00a669f6bf10dc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\semtest.c" "00a669f6bf10dc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\HighFrequencyTimerTest.c" "00a669f6bf10dc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\IntQueueTimer.c" "00a669f6bf10dc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\ParTest.c" "00a669f6bf10dc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\Renesas-Files\dbsct.c" "00a669f6bf10dc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\Renesas-Files\hwsetup.c" "00a669f6bf10dc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\Renesas-Files\intprg.c" "00a669f6bf10dc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\Renesas-Files\lowsrc.c" "00a669f6bf10dc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\Renesas-Files\resetprg.c" "00a669f6bf10dc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\Renesas-Files\sbrk.c" "00a669f6bf10dc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\Renesas-Files\vecttbl.c" "00a669f6bf10dc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\main-blinky.c" "0ae1d1e2b530dc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\main-full.c" "00a669f6bf10dc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\list.c" "00a669f6bf10dc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\MemMang\heap_2.c" "00a669f6bf10dc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\Renesas\RX600\port.c" "00a669f6bf10dc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\queue.c" "00a669f6bf10dc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\tasks.c" "00a669f6bf10dc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\timers.c" "00a669f6bf10dc10" 2 \r
 [OPTIONS_Debug_Renesas RX C/C++ Library Generator]\r
 "Single Shot" "00a669f6bf10dc10" 1 \r
 [OPTIONS_Debug_Renesas RX Configurator]\r
-"Single Shot" "00a669f6bf10dc10" 6 \r
+"Single Shot" "0cad76d2f830dc10" 6 \r
 [OPTIONS_Debug]\r
 "" 0 \r
 "[V|VERSION|1] [B|COMMAND|1] [S|SPEC|UITRON4] [S|OUTPUTPATH|^"$(CONFIGDIR)^"] [S|CPU|RX600] [S|ENDIAN|LITTLE] [S|FINT_REGISTER|0]" 6 \r
 "[V|VERSION|1] [B|SJIS|1] [B|DEBUG|1] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [S|CPU|RX600] [S|BASE|00000000=NONE]\r
 " 4 \r
 "[V|VERSION|1] [S|LANG|C99] [B|SJIS|1] [S|INCLUDE|^"$(PROJDIR)\..\..\..\Source\portable\Renesas\RX600^"|^"$(PROJDIR)\..\..\..\Source\include^"|^"$(PROJDIR)\.^"|^"$(PROJDIR)\..\..\include^"|^"$(PROJDIR)\..\..\Common\include^"|^"$(PROJDIR)\.\include^"|^"$(PROJDIR)\..\..\Common\ethernet\FreeTCPIP^"|^"$(PROJDIR)\webserver^"] [S|CHANGE_MESSAGE|INFORMATION|] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [B|DEBUG|1] [S|OPTIMIZE|0] [B|SIZE|1] [B|MAP|0] [I|INLINE|100] [I|LOOP|2] [S|MISRA2004_CHECK_RULE|ALL] [S|MISRA2004_RULE|1.1|3.4|4.1|5.2|5.3|5.4|5.5|5.6|5.7|6.1|6.2|6.3|6.4|6.5|7.1|8.1|8.2|8.3|8.5|8.6|8.7|8.8|8.11|8.12|9.2|9.3|10.1|10.2|10.3|10.4|10.5|10.6|11.1|11.2|11.3|11.4|11.5|12.1|12.2|12.3|12.4|12.5|12.6|12.7|12.8|12.9|12.10|12.11|12.12|12.13|13.1|13.2|13.3|13.4|13.7|14.1|14.2|14.3|14.4|14.5|14.6|14.7|14.8|14.9|14.10|15.1|15.2|15.3|15.4|15.5|16.1|16.2|16.3|16.4|16.5|16.6|16.8|16.9|17.3|17.4|17.5|17.6|18.1|18.2|18.4|19.1|20.2|20.4|20.5|20.7|20.8|20.9|20.10|20.11|20.12] [S|MISRA1998_CHECK_RULE|ALL] [S|MISRA1998_RULE|1|5|8|12|13|14|17|18|19|20|21|22|24|28|29|31|32|33|34|35|36|37|38|39|40|42|43|44|45|46|48|49|50|51|53|54|55|56|57|58|59|60|61|62|63|64|65|68|69|70|71|72|73|74|75|76|77|78|79|80|82|83|84|85|99|101|102|103|104|105|106|108|110|111|112|113|115|118|119|121|122|123|124|125|126|127] [S|MISRA_GROUP_FILE_PATH|^"$(PROJDIR)\$(PROJECTNAME).rde^"] [S|CPU|RX600] [S|BASE|00000000=NONE]\r
-" 3 \r
-"[V|VERSION|1] [S|LANG|CPP] [B|SJIS|1] [S|INCLUDE|^"$(PROJDIR)\..\..\..\Source\portable\Renesas\RX600^"|^"$(PROJDIR)\..\..\..\Source\include^"|^"$(PROJDIR)\.^"|^"$(PROJDIR)\..\..\include^"|^"$(PROJDIR)\..\..\Common\include^"|^"$(PROJDIR)\.\include^"|^"$(PROJDIR)\..\..\Common\ethernet\FreeTCPIP^"|^"$(PROJDIR)\webserver^"] [S|CHANGE_MESSAGE|INFORMATION|] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [B|DEBUG|1] [S|OPTIMIZE|0] [B|SIZE|1] [B|MAP|0] [I|INLINE|100] [I|LOOP|2] [S|MISRA2004_CHECK_RULE|ALL] [S|MISRA2004_RULE|1.1|3.4|4.1|5.2|5.3|5.4|5.5|5.6|5.7|6.1|6.2|6.3|6.4|6.5|7.1|8.1|8.2|8.3|8.5|8.6|8.7|8.8|8.11|8.12|9.2|9.3|10.1|10.2|10.3|10.4|10.5|10.6|11.1|11.2|11.3|11.4|11.5|12.1|12.2|12.3|12.4|12.5|12.6|12.7|12.8|12.9|12.10|12.11|12.12|12.13|13.1|13.2|13.3|13.4|13.7|14.1|14.2|14.3|14.4|14.5|14.6|14.7|14.8|14.9|14.10|15.1|15.2|15.3|15.4|15.5|16.1|16.2|16.3|16.4|16.5|16.6|16.8|16.9|17.3|17.4|17.5|17.6|18.1|18.2|18.4|19.1|20.2|20.4|20.5|20.7|20.8|20.9|20.10|20.11|20.12] [S|MISRA1998_CHECK_RULE|ALL] [S|MISRA1998_RULE|1|5|8|12|13|14|17|18|19|20|21|22|24|28|29|31|32|33|34|35|36|37|38|39|40|42|43|44|45|46|48|49|50|51|53|54|55|56|57|58|59|60|61|62|63|64|65|68|69|70|71|72|73|74|75|76|77|78|79|80|82|83|84|85|99|101|102|103|104|105|106|108|110|111|112|113|115|118|119|121|122|123|124|125|126|127] [S|MISRA_GROUP_FILE_PATH|^"$(PROJDIR)\$(PROJECTNAME).rde^"] [S|CPU|RX600] [S|BASE|00000000=NONE]\r
 " 2 \r
+"[V|VERSION|1] [S|LANG|CPP] [B|SJIS|1] [S|INCLUDE|^"$(PROJDIR)\..\..\..\Source\portable\Renesas\RX600^"|^"$(PROJDIR)\..\..\..\Source\include^"|^"$(PROJDIR)\.^"|^"$(PROJDIR)\..\..\include^"|^"$(PROJDIR)\..\..\Common\include^"|^"$(PROJDIR)\.\include^"|^"$(PROJDIR)\..\..\Common\ethernet\FreeTCPIP^"|^"$(PROJDIR)\webserver^"] [S|CHANGE_MESSAGE|INFORMATION|] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [B|DEBUG|1] [S|OPTIMIZE|0] [B|SIZE|1] [B|MAP|0] [I|INLINE|100] [I|LOOP|2] [S|MISRA2004_CHECK_RULE|ALL] [S|MISRA2004_RULE|1.1|3.4|4.1|5.2|5.3|5.4|5.5|5.6|5.7|6.1|6.2|6.3|6.4|6.5|7.1|8.1|8.2|8.3|8.5|8.6|8.7|8.8|8.11|8.12|9.2|9.3|10.1|10.2|10.3|10.4|10.5|10.6|11.1|11.2|11.3|11.4|11.5|12.1|12.2|12.3|12.4|12.5|12.6|12.7|12.8|12.9|12.10|12.11|12.12|12.13|13.1|13.2|13.3|13.4|13.7|14.1|14.2|14.3|14.4|14.5|14.6|14.7|14.8|14.9|14.10|15.1|15.2|15.3|15.4|15.5|16.1|16.2|16.3|16.4|16.5|16.6|16.8|16.9|17.3|17.4|17.5|17.6|18.1|18.2|18.4|19.1|20.2|20.4|20.5|20.7|20.8|20.9|20.10|20.11|20.12] [S|MISRA1998_CHECK_RULE|ALL] [S|MISRA1998_RULE|1|5|8|12|13|14|17|18|19|20|21|22|24|28|29|31|32|33|34|35|36|37|38|39|40|42|43|44|45|46|48|49|50|51|53|54|55|56|57|58|59|60|61|62|63|64|65|68|69|70|71|72|73|74|75|76|77|78|79|80|82|83|84|85|99|101|102|103|104|105|106|108|110|111|112|113|115|118|119|121|122|123|124|125|126|127] [S|MISRA_GROUP_FILE_PATH|^"$(PROJDIR)\$(PROJECTNAME).rde^"] [S|CPU|RX600] [S|BASE|00000000=NONE]\r
+" 3 \r
 "[V|VERSION|1] [S|MODE|BUILD/CHANGED] [S|EXISTOUTPUTPATH|^"$(CONFIGDIR)\$(PROJECTNAME).lib^"] [B|RUNTIME|1] [B|MATH|1] [B|STDIO|1] [B|STDLIB|1] [B|STRING|1] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(PROJECTNAME).lib^"] [B|SIZE|1] [I|INLINE|100] [I|LOOP|2] [S|CPU|RX600] [S|BASE|00000000=NONE]\r
 " 1 \r
-"[V|VERSION|6] [S|PRELINK|SKIP] [S|FORM|STYPE] [S|BYTE_COUNT_VALUE|FF] [B|DEBUG|1] [S|ROM|(D,R)|(D_1,R_1)|(D_2,R_2)] [S|CRC|NONE|DEFAULT|00000000] [B|LIST|1] [S|LIST|^"$(CONFIGDIR)\$(PROJECTNAME).map^"] [S|SHOW|METHODALL|] [S|OUTPUT|^"$(CONFIGDIR)\$(PROJECTNAME).mot^"] [I|SPACE|^"FF^"] [B|OPTIMIZE|0] [S|START|B_RX_DESC,B_TX_DESC,B_ETHERNET_BUFFERS,B_1,R_1,B_2,R_2,B,R,SU,SI(01000)|PResetPRG(0FFF80000)|C_1,C_2,C,C$*,D*,P,PIntPRG,W*(0FFF81000)|FIXEDVECT(0FFFFFFD0)]\r
+"[V|VERSION|6] [S|PRELINK|SKIP] [S|FORM|STYPE] [S|BYTE_COUNT_VALUE|FF] [B|DEBUG|1] [S|ROM|(D,R)|(D_1,R_1)|(D_2,R_2)] [S|CRC|NONE|DEFAULT|00000000] [B|LIST|1] [S|LIST|^"$(CONFIGDIR)\$(PROJECTNAME).map^"] [S|SHOW|METHODALL|SYMBOL|REFERENCE|XREFERENCE] [S|OUTPUT|^"$(CONFIGDIR)\$(PROJECTNAME).mot^"] [I|SPACE|^"FF^"] [B|OPTIMIZE|0] [S|START|B_1,R_1,B_2,R_2,B,R,SU,SI(01000)|PResetPRG(0FFF80000)|C_1,C_2,C,L*,C$*,D*,P,PIntPRG,W*(0FFF81000)|FIXEDVECT(0FFFFFFD0)] [S|MEMORY|HIGH]\r
 " 5 \r
 [EXCLUDED_FILES_Debug]\r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\main-blinky.c" \r
 "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\Renesas-Files\lowlvl.src" \r
 "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\Renesas-Files\lowsrc.c" \r
 [LINKAGE_ORDER_Debug]\r
 [GENERAL_DATA_CONFIGURATION_Debug]\r
 [OPTIONS_Debug_with_optimisation_Renesas OptLinker]\r
-"Single Shot" "0158b9448c20dc10" 5 \r
+"Single Shot" "0a2367d2f830dc10" 5 \r
 [OPTIONS_Debug_with_optimisation_Renesas RX Assembler]\r
 "Assembly source file" "0f42b9f6bf10dc10" 4 \r
 "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\Renesas-Files\lowlvl.src" "0f42b9f6bf10dc10" 4 \r
 "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\QPeek.c" "0f42b9f6bf10dc10" 2 \r
 "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\blocktim.c" "0f42b9f6bf10dc10" 2 \r
 "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\death.c" "0f42b9f6bf10dc10" 2 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\flash.c" "0f42b9f6bf10dc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\flash_timer.c" "0cad76d2f830dc10" 2 \r
 "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\integer.c" "0f42b9f6bf10dc10" 2 \r
 "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\recmutex.c" "0f42b9f6bf10dc10" 2 \r
 "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\semtest.c" "0f42b9f6bf10dc10" 2 \r
 "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\Renesas-Files\resetprg.c" "0f42b9f6bf10dc10" 2 \r
 "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\Renesas-Files\sbrk.c" "0f42b9f6bf10dc10" 2 \r
 "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\Renesas-Files\vecttbl.c" "0f42b9f6bf10dc10" 2 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\lcd.c" "0f42b9f6bf10dc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\main-blinky.c" "0ae1d1e2b530dc10" 2 \r
 "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\main-full.c" "0f42b9f6bf10dc10" 2 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\switches.c" "0f42b9f6bf10dc10" 2 \r
 "C:\E\Dev\FreeRTOS\WorkingCopy\Source\list.c" "0f42b9f6bf10dc10" 2 \r
 "C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\MemMang\heap_2.c" "0f42b9f6bf10dc10" 2 \r
 "C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\Renesas\RX600\port.c" "0f42b9f6bf10dc10" 2 \r
 [OPTIONS_Debug_with_optimisation_Renesas RX C/C++ Library Generator]\r
 "Single Shot" "0f42b9f6bf10dc10" 1 \r
 [OPTIONS_Debug_with_optimisation_Renesas RX Configurator]\r
-"Single Shot" "0f59d9f6bf10dc10" 6 \r
+"Single Shot" "0cad76d2f830dc10" 6 \r
 [OPTIONS_Debug_with_optimisation]\r
 "" 0 \r
 "[V|VERSION|1] [B|COMMAND|1] [S|SPEC|UITRON4] [S|OUTPUTPATH|^"$(CONFIGDIR)^"] [S|CPU|RX600] [S|ENDIAN|LITTLE] [S|FINT_REGISTER|0]" 6 \r
 "[V|VERSION|6] [S|FORM|STYPE] [S|BYTE_COUNT_VALUE|FF] [B|DEBUG|1] [S|ROM|(D,R)|(D_1,R_1)|(D_2,R_2)] [S|CRC|NONE|DEFAULT|00000000] [B|LIST|1] [S|LIST|^"$(CONFIGDIR)\$(PROJECTNAME).map^"] [S|SHOW|METHODCUSTOM|] [S|OUTPUT|^"$(CONFIGDIR)\$(PROJECTNAME).mot^"] [I|SPACE|^"FF^"] [S|OPTIMIZEITEMS|SPEED] [S|START|B_1,R_1,B_2,R_2,B,R,SU,SI(01000)|PResetPRG(0FFF80000)|C_1,C_2,C,C$*,D*,P,PIntPRG,W*,L(0FFF81000)|FIXEDVECT(0FFFFFFD0)] [S|MEMORY|HIGH] [B|SKIPDEPENDENCY|1]\r
 " 5 \r
 [EXCLUDED_FILES_Debug_with_optimisation]\r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\lcd.c" \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\switches.c" \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\main-blinky.c" \r
 [LINKAGE_ORDER_Debug_with_optimisation]\r
 [GENERAL_DATA_CONFIGURATION_Debug_with_optimisation]\r
-[GENERAL_DATA_CONFIGURATION_SESSION_Blinky_DefaultSession]\r
-[SESSION_DATA_CONFIGURATION_SESSION_Blinky_DefaultSession]\r
-"MEMORY_MAPPING_OPTIONS" "" \r
 [GENERAL_DATA_CONFIGURATION_SESSION_Blinky_SessionRX600_E1_E20_SYSTEM]\r
 [SESSION_DATA_CONFIGURATION_SESSION_Blinky_SessionRX600_E1_E20_SYSTEM]\r
 "MEMORY_MAPPING_OPTIONS" "Unknown Options" \r
-[GENERAL_DATA_CONFIGURATION_SESSION_Blinky_SimSessionRX600]\r
-[SESSION_DATA_CONFIGURATION_SESSION_Blinky_SimSessionRX600]\r
-"MEMORY_MAPPING_OPTIONS" "[V|VERSION|1] [S|CPUTYPE|^"Other (RX600)^"] [S|MAP|^"0x00000000,0x0001FFFF,RAM,32,0101,2 0x00080000,0x000FFFFF,I/O,32,0101,2 0x00100000,0x00107FFF,ROM,32,0101,2 0x007F8000,0x007F9FFF,RAM,32,0101,2 0x007FC000,0x007FC4FF,I/O,32,0101,2 0x007FFC00,0x007FFFFF,I/O,32,0101,2 0x00E00000,0x00FFFFFF,ROM,32,0101,2 0xFEFFE000,0xFEFFFFFF,ROM,32,0101,2 0xFF7FC000,0xFF7FFFFF,ROM,32,0101,2 0xFFE00000,0xFFFFFFFF,ROM,32,0101,2^"] [S|RESOURCE|^"0x00000000,0x0001FFFF,R/W 0x00080000,0x000FFFFF,R/W 0x007FC000,0x007FC4FF,R/W 0x007FFC00,0x007FFFFF,R/W 0xFFFF8000,0xFFFFFFFF,R/W ^"] [B|SIMIOF|0] [I|SIMIOADR|0x0] [I|BUS_MODE|0] [S|ENDIAN|^"LITTLE^"] [S|PATCH|^"OFF^"]" \r
-[GENERAL_DATA_CONFIGURATION_SESSION_Debug_DefaultSession]\r
-[SESSION_DATA_CONFIGURATION_SESSION_Debug_DefaultSession]\r
-"MEMORY_MAPPING_OPTIONS" "" \r
 [GENERAL_DATA_CONFIGURATION_SESSION_Debug_SessionRX600_E1_E20_SYSTEM]\r
 [SESSION_DATA_CONFIGURATION_SESSION_Debug_SessionRX600_E1_E20_SYSTEM]\r
 "MEMORY_MAPPING_OPTIONS" "Unknown Options" \r
-[GENERAL_DATA_CONFIGURATION_SESSION_Debug_SimSessionRX600]\r
-[SESSION_DATA_CONFIGURATION_SESSION_Debug_SimSessionRX600]\r
-"MEMORY_MAPPING_OPTIONS" "[V|VERSION|1] [S|CPUTYPE|^"Other (RX600)^"] [S|MAP|^"0x00000000,0x0001FFFF,RAM,32,0101,2 0x00080000,0x000FFFFF,I/O,32,0101,2 0x00100000,0x00107FFF,ROM,32,0101,2 0x007F8000,0x007F9FFF,RAM,32,0101,2 0x007FC000,0x007FC4FF,I/O,32,0101,2 0x007FFC00,0x007FFFFF,I/O,32,0101,2 0x00E00000,0x00FFFFFF,ROM,32,0101,2 0xFEFFE000,0xFEFFFFFF,ROM,32,0101,2 0xFF7FC000,0xFF7FFFFF,ROM,32,0101,2 0xFFE00000,0xFFFFFFFF,ROM,32,0101,2^"] [S|RESOURCE|^"0x00000000,0x0001FFFF,R/W 0x00080000,0x000FFFFF,R/W 0x007FC000,0x007FC4FF,R/W 0x007FFC00,0x007FFFFF,R/W 0xFFFF8000,0xFFFFFFFF,R/W ^"] [B|SIMIOF|0] [I|SIMIOADR|0x0] [I|BUS_MODE|0] [S|ENDIAN|^"LITTLE^"] [S|PATCH|^"OFF^"]" \r
-[GENERAL_DATA_CONFIGURATION_SESSION_Debug_with_optimisation_DefaultSession]\r
-[SESSION_DATA_CONFIGURATION_SESSION_Debug_with_optimisation_DefaultSession]\r
-"MEMORY_MAPPING_OPTIONS" "" \r
 [GENERAL_DATA_CONFIGURATION_SESSION_Debug_with_optimisation_SessionRX600_E1_E20_SYSTEM]\r
 [SESSION_DATA_CONFIGURATION_SESSION_Debug_with_optimisation_SessionRX600_E1_E20_SYSTEM]\r
 "MEMORY_MAPPING_OPTIONS" "Unknown Options" \r
-[GENERAL_DATA_CONFIGURATION_SESSION_Debug_with_optimisation_SimSessionRX600]\r
-[SESSION_DATA_CONFIGURATION_SESSION_Debug_with_optimisation_SimSessionRX600]\r
-"MEMORY_MAPPING_OPTIONS" "[V|VERSION|1] [S|CPUTYPE|^"Other (RX600)^"] [S|MAP|^"0x00000000,0x0001FFFF,RAM,32,0101,2 0x00080000,0x000FFFFF,I/O,32,0101,2 0x00100000,0x00107FFF,ROM,32,0101,2 0x007F8000,0x007F9FFF,RAM,32,0101,2 0x007FC000,0x007FC4FF,I/O,32,0101,2 0x007FFC00,0x007FFFFF,I/O,32,0101,2 0x00E00000,0x00FFFFFF,ROM,32,0101,2 0xFEFFE000,0xFEFFFFFF,ROM,32,0101,2 0xFF7FC000,0xFF7FFFFF,ROM,32,0101,2 0xFFE00000,0xFFFFFFFF,ROM,32,0101,2^"] [S|RESOURCE|^"0x00000000,0x0001FFFF,R/W 0x00080000,0x000FFFFF,R/W 0x007FC000,0x007FC4FF,R/W 0x007FFC00,0x007FFFFF,R/W 0xFFFF8000,0xFFFFFFFF,R/W ^"] [B|SIMIOF|0] [I|SIMIOADR|0x0] [I|BUS_MODE|0] [S|ENDIAN|^"LITTLE^"] [S|PATCH|^"OFF^"]" \r
 [EXT_DEBUGGER_INFO]\r
 0 "" "" "" "" \r
 [END]\r
index 99a6c3d3719fad9ef570b19cc24e9fe757978eb1..e41139a7b3bfe6462e5193076dc35a6397319693 100644 (file)
Binary files a/Demo/RX600_RX63N-RSK_Renesas/RTOSDemo/RTOSDemo.nav and b/Demo/RX600_RX63N-RSK_Renesas/RTOSDemo/RTOSDemo.nav differ
index 97d09ccd7ec249aad63375883b7212505fff65ce..3bb4854246cf558d427fc957db2263fd281aa6e9 100644 (file)
@@ -3,15 +3,13 @@
 [DATABASE_VERSION]\r
 "1.1" \r
 [SESSIONS_]\r
-"DefaultSession" \r
 "SessionRX600_E1_E20_SYSTEM" \r
-"SimSessionRX600" \r
 [CONFIGURATIONS]\r
 "Blinky" \r
 "Debug" \r
 "Debug_with_optimisation" \r
 [CURRENT_CONFIGURATION]\r
-"Debug_with_optimisation\r
+"Debug" \r
 [CURRENT_SESSION]\r
 "SessionRX600_E1_E20_SYSTEM" \r
 [GENERAL_DATA_PROJECT]\r
 [GENERAL_DATA_CONFIGURATION_Blinky]\r
 "PROJECT_FILES_MODIFIED_DATA_TAG" "TRUE" \r
 [SESSIONS_Blinky]\r
-"DefaultSession" \r
 "SessionRX600_E1_E20_SYSTEM" \r
-"SimSessionRX600" \r
 [GENERAL_DATA_CONFIGURATION_Debug]\r
-"PROJECT_FILES_MODIFIED_DATA_TAG" "TRUE" \r
+"PROJECT_FILES_MODIFIED_DATA_TAG" "FALSE" \r
 [SESSIONS_Debug]\r
-"DefaultSession" \r
 "SessionRX600_E1_E20_SYSTEM" \r
-"SimSessionRX600" \r
 [GENERAL_DATA_CONFIGURATION_Debug_with_optimisation]\r
-"PROJECT_FILES_MODIFIED_DATA_TAG" "FALSE" \r
+"PROJECT_FILES_MODIFIED_DATA_TAG" "TRUE" \r
 [SESSIONS_Debug_with_optimisation]\r
-"DefaultSession" \r
 "SessionRX600_E1_E20_SYSTEM" \r
-"SimSessionRX600" \r
-[GENERAL_DATA_SESSION_SimSessionRX600]\r
-[GENERAL_DATA_SESSION_DefaultSession]\r
-[GENERAL_DATA_CONFIGURATION_SESSION_Debug_with_optimisation_SimSessionRX600]\r
 [GENERAL_DATA_CONFIGURATION_SESSION_Blinky_SessionRX600_E1_E20_SYSTEM]\r
-[GENERAL_DATA_CONFIGURATION_SESSION_Blinky_DefaultSession]\r
-[GENERAL_DATA_CONFIGURATION_SESSION_Debug_DefaultSession]\r
 [GENERAL_DATA_CONFIGURATION_SESSION_Debug_SessionRX600_E1_E20_SYSTEM]\r
-[GENERAL_DATA_CONFIGURATION_SESSION_Debug_SimSessionRX600]\r
-[GENERAL_DATA_CONFIGURATION_SESSION_Debug_with_optimisation_DefaultSession]\r
-[GENERAL_DATA_CONFIGURATION_SESSION_Blinky_SimSessionRX600]\r
 [GENERAL_DATA_CONFIGURATION_SESSION_Debug_with_optimisation_SessionRX600_E1_E20_SYSTEM]\r
 [GENERAL_DATA_SESSION_SessionRX600_E1_E20_SYSTEM]\r
 [END]\r
index 42ee02a6776b58c70f4047f98e315209630914d0..9bf85976ada54af6f7a1f1fd1f2e70dee8c1d66c 100644 (file)
@@ -57,7 +57,7 @@ void PowerON_Reset_PC(void)
 { \r
 volatile unsigned int i;\r
 \r
-       set_intb((unsigned long)__sectop("C$VECT"));\r
+       set_intb(__sectop("C$VECT"));\r
        set_fpsw(FPSW_init);\r
 \r
     /* MCU boots using the LOCO, so turn the speed up before setting up the C\r
index a066a070d11d84f18a32607bebb8b0f824583130..c896fc82f16c6f8a95fbfea9f335be65d6c9dd41 100644 (file)
@@ -8,7 +8,7 @@
 "" \r
 [GENERAL_DATA]\r
 "FIRST_CONNECTION_TAG" "NO" \r
-"MRULABELS_DATAMANAGER_KEY" "FFFFFFFF|00000000|2a94|f|108a|1054|fff8cd9e|1050|fff8c484|88218|000870B4|000870AE|88204|88208|18b8" \r
+"MRULABELS_DATAMANAGER_KEY" "00000000|FFFFFFFF|2a94|f|108a|1054|fff8cd9e|1050|fff8c484|88218|000870B4|000870AE|88204|88208|18b8" \r
 "RESET_CPU_AFTER_DOWNLOAD_TAG" "VARIANT_TRUE_STORE_TAG" \r
 "{228DB593-0AB2-4EBE-A098-A2CABF094E46}RamMonitorCtrlViews" "0" \r
 "{287A8023-99B5-49E1-A54E-4DDCA43D7959}MapCtrlECX_MAP_FIND_SYMBOL_LIST" "" \r
 "{5F75FDA0-6FF0-11D5-B7CE-00E029352378}PACtrlViews" "0" \r
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_EVAL_DENORMAL_MODE" "16777216" \r
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_EVAL_ROUND_MODE" "768" \r
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_0" "0000000000007274\r
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_1" "0000000000006FF4\r
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_0" "0000000000004750\r
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_1" "000000000000446C\r
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_10" "00000000A5A5A5A5" \r
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_11" "00000000A5A5A5A5" \r
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_12" "00000000A5A5A5A5" \r
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_13" "00000000A5A5A5A5" \r
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_14" "00000000A5A5A5A5\r
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_15" "0000000000006A44\r
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_16" "0000000000007274\r
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_17" "000000000000E70C" \r
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_18" "0000000000030004\r
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_19" "00000000FFF84104\r
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_2" "0000000000000000\r
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_20" "00000000FFF813CC\r
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_14" "0000000000004774\r
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_15" "00000000A5A5A5A5\r
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_16" "0000000000004750\r
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_17" "000000000000E73C" \r
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_18" "0000000000030001\r
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_19" "00000000FFF85D58\r
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_2" "0000000000004774\r
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_20" "00000000FFF81628\r
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_21" "0000000000000000" \r
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_22" "0000000000000000" \r
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_23" "0000000000000000" \r
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_24" "0000000000000100" \r
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_25" "1234567887650000" \r
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_3" "000000000000E168\r
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_4" "000000000000E168\r
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_3" "0000000000000000\r
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_4" "0000000000000000\r
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_5" "0000000000000000" \r
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_6" "0000000000006AA4\r
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_7" "0000000000006A44\r
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_8" "000000000000E148\r
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_9" "000000000000DB44\r
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_6" "0000000000000000\r
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_7" "00000000A5A5A5A5\r
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_8" "00000000A5A5A5A5\r
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_9" "00000000A5A5A5A5\r
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_COUNT" "26" \r
 "{6C4D5B81-FD67-46A9-A089-EA44DCDE47FD}RAMMonitorManagerCtrlBlockInfoFileDir" "" \r
 "{6C4D5B81-FD67-46A9-A089-EA44DCDE47FD}RAMMonitorManagerCtrlBlockInfoFileName" "" \r
 "{8A898260-6F1D-11D5-8EB6-00004CC34E9D}ECX_WAVE_COMB_BUFFER" ",,,," \r
 "{8A898260-6F1D-11D5-8EB6-00004CC34E9D}ECX_WAVE_SAMPLING_RATE" "1000" \r
 "{8A898260-6F1D-11D5-8EB6-00004CC34E9D}WaveformCtrlViews" "0" \r
-"{95A081A1-7001-11D5-B1FD-00A0C9E23A58}RegistersCtrlViews" "1\r
+"{95A081A1-7001-11D5-B1FD-00A0C9E23A58}RegistersCtrlViews" "0\r
 "{95A081A1-7001-11D5-B1FD-00A0C9E23A58}RegistersWnd0ColumnWidth" "47,153,35" \r
 "{95A081A1-7001-11D5-B1FD-00A0C9E23A58}RegistersWnd0ECX_REGISTER_COUNT" "33" \r
 "{95A081A1-7001-11D5-B1FD-00A0C9E23A58}RegistersWnd0ECX_REGISTER_DISPLAYED" "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1" \r
 "Help" "TOOLBAR 0" 59419 1 5 "0.00" 0 0 0 0 0 17 0 "" "0.0" \r
 "QzROM" "TOOLBAR 0" 59419 4 1 "0.00" 0 0 0 0 0 17 0 "" "0.0" \r
 "{WK_00000001_CmdLine}ADC_Single_DTC_MTUDefaultSession" "WINDOW" 59422 0 1 "0.50" 230 0 0 350 200 17 0 "32771|32772|32778|<<separator>>|32773|32774|<<separator>>|32820|<<separator>>|32801|32824" "0.0" \r
-"{WK_00000001_CmdLine}" "WINDOW" 59422 0 2 "0.33" 291 0 0 350 200 17 0 "32771|32772|32778|<<separator>>|32773|32774|<<separator>>|32820|<<separator>>|32801|32824" "0.0" \r
-"{WK_00000001_DEBUGCONSOLE}RTOSDemoSessionRX600_E1_E20_SYSTEM" "WINDOW" 59421 0 2 "1.00" 300 0 0 350 200 17 0 "57634|57637|57633|<<separator>>|32781|32782|<<separator>>|32780|32785|32787" "0.0" \r
+"{WK_00000001_CmdLine}" "WINDOW" 59422 0 2 "0.20" 187 0 0 350 200 17 0 "32771|32772|32778|<<separator>>|32773|32774|<<separator>>|32820|<<separator>>|32801|32824" "0.0" \r
+"{WK_00000001_DEBUGCONSOLE}RTOSDemoSessionRX600_E1_E20_SYSTEM" "WINDOW" 59421 0 1 "1.00" 300 0 0 350 200 17 0 "57634|57637|57633|<<separator>>|32781|32782|<<separator>>|32780|32785|32787" "0.0" \r
 "{WK_00000001_DISASSEMBLY}" "WINDOW" 0 0 0 "0.00" 0 132 132 835 366 9 0 "" "0.0" \r
-"{WK_00000001_IO}RTOSDemoSessionRX600_E1_E20_SYSTEM" "WINDOW" 59422 0 1 "0.50" 291 0 0 869 657 17 0 "32817|32826|32819|32820|32821" "0.0" \r
+"{WK_00000001_IO}RTOSDemoSessionRX600_E1_E20_SYSTEM" "WINDOW" 59422 0 1 "0.50" 187 0 0 869 657 17 0 "32817|32826|32819|32820|32821" "0.0" \r
 "{WK_00000001_MEMORY}RTOSDemoSessionRX600_E1_E20_SYSTEM" "WINDOW" 59422 0 0 "1.00" 219 1452 519 1033 219 2053 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" \r
-"{WK_00000001_OUTPUT}" "WINDOW" 59422 0 0 "1.00" 291 560 340 350 200 18 0 "36756|36757|36758|36759|<<separator>>|36746|36747|<<separator>>|39531|<<separator>>|39500|39534|<<separator>>|36687" "0.0" \r
-"{WK_00000001_REGISTERS}RTOSDemoSessionRX600_E1_E20_SYSTEM" "WINDOW" 59421 0 1 "1.00" 300 0 0 350 200 18 0 "" "0.0" \r
+"{WK_00000001_OUTPUT}" "WINDOW" 59422 0 0 "1.00" 187 560 340 350 200 18 0 "36756|36757|36758|36759|<<separator>>|36746|36747|<<separator>>|39531|<<separator>>|39500|39534|<<separator>>|36687" "0.0" \r
+"{WK_00000001_REGISTERS}RTOSDemoSessionRX600_E1_E20_SYSTEM" "WINDOW" 59421 0 1 "1.00" 300 0 0 350 200 2065 0 "" "0.0" \r
 "{WK_00000001_STACKTRACE}RTOSDemoSessionRX600_E1_E20_SYSTEM" "WINDOW" 59422 0 0 "0.50" 277 0 0 350 200 2065 0 "" "0.0" \r
 "{WK_00000001_WATCH}RTOSDemoSessionRX600_E1_E20_SYSTEM" "WINDOW" 59421 0 0 "0.50" 300 0 0 1040 307 17 0 "32781|32783|<<separator>>|32771|32829|32772|32827|32773|<<separator>>|32786|<<separator>>|32810|32811" "0.0" \r
 "{WK_00000002_WORKSPACE}" "WINDOW" 59420 0 0 "1.00" 330 560 340 350 200 18 0 "" "0.0" \r
 "{WK_TB00000011_CPU} TOOLBAR 0" \r
 "C:\E\Dev\FreeRTOS\WorkingCopy\Source\queue.c" \r
 "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\Renesas-Files\resetprg.c" \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\flash_timer.c" \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\FreeRTOSConfig.h" \r
 "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\main-full.c" \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\timers.c" \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\include\flash_timer.h" \r
 [TARGET_NAME]\r
 "RX E1/E20 SYSTEM" "" 0 \r
 [STATUSBAR_STATEINFO_VD1]\r
 [DEBUGGER_OPTIONS]\r
 "" \r
 [DOWNLOAD_MODULES]\r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\Debug_with_optimisation\RTOSDemo.abs" 0 "Elf/Dwarf2" 0 0 1 0 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX63N-RSK_Renesas\RTOSDemo\Debug\RTOSDemo.abs" 0 "Elf/Dwarf2" 0 0 1 0 \r
 [CONNECT_ON_GO]\r
 "FALSE" \r
 [DOWNLOAD_MODULES_AFTER_BUILD]\r
 [FLASH_DETAILS]\r
 "0.000000" 0 0 "" 0 "" 0 0 "" 1 1 0 0 0 0 0 "" "" "" "" "" \r
 [BREAKPOINTS]\r
+"c:\e\dev\freertos\workingcopy\demo\rx600_rx63n-rsk_renesas\rtosdemo\renesas-files\resetprg.c" 137 -524083 1 "{00000000-0000-0000-C000-000000000046}" "" \r
 [END]\r
index 154cd1484c948421a0f40ba130d1c423f6a0bec1..013e1452d5b8bc421befa81f2fd280e824ea43e2 100644 (file)
 */\r
 \r
 /* \r
- * This is a very simple demo that creates two tasks and one queue.  One task\r
- * (the queue receive task) blocks on the queue to wait for data to arrive, \r
- * toggling an LED each time '100' is received.  The other task (the queue send\r
- * task) repeatedly blocks for a fixed period before sending '100' to the queue\r
- * (causing the first task to toggle the LED). \r
+ * This is a very simple demo that creates two tasks, one queue, and one \r
+ * software timer.  For a much more complete and complex example select either \r
+ * the Debug or Debug_with_optimisation build configurations within the HEW,\r
+ * which build main_full.c in place of this file.\r
+ * \r
+ * One task (the queue receive task) blocks on the queue to wait for data to \r
+ * arrive, toggling LED0 each time '100' is received.  The other task (the \r
+ * queue send task) repeatedly blocks for a fixed period before sending '100' \r
+ * to the queue (causing the first task to toggle the LED). \r
  *\r
- * For a much more complete and complex example select either the Debug or\r
- * Debug_with_optimisation build configurations within the HEW IDE. \r
-*/\r
+ * The software timer is configured to auto-reload.  The timer callback \r
+ * function periodically toggles LED1.\r
+ */\r
 \r
 /* Hardware specific includes. */\r
 #include "iodefine.h"\r
@@ -68,6 +72,7 @@
 /* Kernel includes. */\r
 #include "FreeRTOS.h"\r
 #include "task.h"\r
+#include "timers.h"\r
 #include "queue.h"\r
 \r
 /* Priorities at which the tasks are created. */\r
 #define        configQUEUE_SEND_TASK_PRIORITY          ( tskIDLE_PRIORITY + 2 )\r
 \r
 /* The rate at which data is sent to the queue, specified in milliseconds. */\r
-#define mainQUEUE_SEND_FREQUENCY_MS                    ( 500 / portTICK_RATE_MS )\r
+#define mainQUEUE_SEND_PERIOD_MS                       ( 500 / portTICK_RATE_MS )\r
+\r
+/* The period of the software timer, specified in milliseconds. */\r
+#define mainSOFTWARE_TIMER_PERIOD_MS           ( 150 / portTICK_RATE_MS )\r
 \r
 /* The number of items the queue can hold.  This is 1 as the receive task\r
 will remove items as they are added so the send task should always find the\r
 queue empty. */\r
 #define mainQUEUE_LENGTH                                       ( 1 )\r
 \r
+/* The LEDs toggle by the task and timer respectively. */\r
+#define mainTASK_LED                                           ( 0 )\r
+#define mainTIMER_LED                                          ( 1 )\r
+\r
 /*\r
  * The tasks as defined at the top of this file.\r
  */\r
 static void prvQueueReceiveTask( void *pvParameters );\r
 static void prvQueueSendTask( void *pvParameters );\r
 \r
+/*\r
+ * The callback function used by the software timer.\r
+ */\r
+static void prvBlinkyTimerCallback( xTimerHandle xTimer );\r
+\r
 /* The queue used by both tasks. */\r
 static xQueueHandle xQueue = NULL;\r
 \r
@@ -98,22 +115,40 @@ volatile unsigned long ulHighFrequencyTickCount = 0UL;
 \r
 void main(void)\r
 {\r
-extern void HardwareSetup( void );\r
+xTimerHandle xTimer;\r
 \r
-       /* Renesas provided CPU configuration routine.  The clocks are configured in\r
-       here. */\r
-       HardwareSetup();\r
-       \r
        /* Turn all LEDs off. */\r
        vParTestInitialise();\r
        \r
        /* Create the queue. */\r
        xQueue = xQueueCreate( mainQUEUE_LENGTH, sizeof( unsigned long ) );\r
 \r
+       /* Create the software timer, as described at the top of this file. */\r
+       xTimer = xTimerCreate( "BlinkyTimer",                                   /* Just a text name to make debugging easier - not used by the scheduler. */\r
+                                                       mainSOFTWARE_TIMER_PERIOD_MS,   /* The timer period. */\r
+                                                       pdTRUE,                                                 /* Set to pdTRUE for periodic timer, or pdFALSE for one-shot timer. */\r
+                                                       NULL,                                                   /* The timer ID is not required. */\r
+                                                       prvBlinkyTimerCallback );               /* The function executed when the timer expires. */\r
+                                                       \r
+       if( xTimer != NULL )\r
+       {\r
+               /* Start the timer - it will not actually start running until the\r
+               scheduler has started.  The block time is set to 0, although, because\r
+               xTimerStart() is being called before the scheduler has been started,\r
+               the any block time specified would be ignored anyway. */\r
+               xTimerStart( xTimer, 0UL );\r
+       }\r
+       \r
        if( xQueue != NULL )\r
        {\r
                /* Start the two tasks as described at the top of this file. */\r
-               xTaskCreate( prvQueueReceiveTask, "Rx", configMINIMAL_STACK_SIZE, NULL, configQUEUE_RECEIVE_TASK_PRIORITY, NULL );\r
+               xTaskCreate( prvQueueReceiveTask,                                       /* The function that implements the task. */\r
+                                        "Rx",                                                                  /* Just a text name to make debugging easier - not used by the scheduler. */\r
+                                        configMINIMAL_STACK_SIZE,                              /* The size of the task stack, in words. */\r
+                                        NULL,                                                                  /* The task parameter is not used. */\r
+                                        configQUEUE_RECEIVE_TASK_PRIORITY,     /* The priority assigned to the task when it is created. */\r
+                                        NULL );                                                                /* The task handle is not used. */\r
+                                        \r
                xTaskCreate( prvQueueSendTask, "TX", configMINIMAL_STACK_SIZE, NULL, configQUEUE_SEND_TASK_PRIORITY, NULL );\r
 \r
                /* Start the tasks running. */\r
@@ -140,7 +175,7 @@ const unsigned long ulValueToSend = 100UL;
                /* Place this task in the blocked state until it is time to run again. \r
                The block state is specified in ticks, the constant used converts ticks\r
                to ms. */\r
-               vTaskDelayUntil( &xNextWakeTime, mainQUEUE_SEND_FREQUENCY_MS );\r
+               vTaskDelayUntil( &xNextWakeTime, mainQUEUE_SEND_PERIOD_MS );\r
 \r
                /* Send to the queue - causing the queue receive task to flash its LED.  0\r
                is used so the send does not block - it shouldn't need to as the queue\r
@@ -165,12 +200,19 @@ unsigned long ulReceivedValue;
                value?  If it is, toggle the LED. */\r
                if( ulReceivedValue == 100UL )\r
                {\r
-                       vParTestToggleLED( 0 );\r
+                       vParTestToggleLED( mainTASK_LED );\r
                }\r
        }\r
 }\r
 /*-----------------------------------------------------------*/\r
 \r
+static void prvBlinkyTimerCallback( xTimerHandle xTimer )\r
+{\r
+       /* The software timer does nothing but toggle an LED. */\r
+       vParTestToggleLED( mainTIMER_LED );\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
 void vApplicationSetupTimerInterrupt( void )\r
 {\r
        /* Enable compare match timer 0. */\r
index 7f8ff8b5315beb2818164f05fc3f4bf5b47f0507..dfd7fc028b59dff7199e18eb91b11211a74c118d 100644 (file)
@@ -54,7 +54,8 @@
 /* ****************************************************************************\r
  * This project includes a lot of tasks and tests and is therefore complex.\r
  * If you would prefer a much simpler project to get started with then select\r
- * the 'Blinky' build configuration within the HEW IDE.\r
+ * the 'Blinky' build configuration within the HEW IDE.  The Blinky \r
+ * configuration builds main-blinky.c in place of this file.\r
  * ****************************************************************************\r
  *\r
  * Creates all the demo application tasks, then starts the scheduler.  The web\r
  * error has occurred.  The nature of the reg test tasks necessitates that they\r
  * are written in assembly code.\r
  *\r
- * "Check" task - This only executes every five seconds but has a high priority\r
- * to ensure it gets processor time.  Its main function is to check that all the\r
- * standard demo tasks are still operational.  While no errors have been\r
- * discovered the check task will toggle LED 5 every 5 seconds - the toggle\r
- * rate increasing to 200ms being a visual indication that at least one task has\r
- * reported unexpected behaviour.\r
+ * "Check" timer - The check software timer period is initially set to five\r
+ * seconds.  The callback function associated with the check software timer\r
+ * checks that all the standard demo tasks, and the register check tasks, are\r
+ * not only still executing, but are executing without reporting any errors.  If\r
+ * the check software timer discovers that a task has either stalled, or\r
+ * reported an error, then it changes its own execution period from the initial\r
+ * five seconds, to just 200ms.  The check software timer callback function\r
+ * also toggles LED3 each time it is called.  This provides a visual indication \r
+ * of the system status:  If LED3 toggles every five seconds, then no issues \r
+ * have been discovered.  If the LED toggles every 200ms, then an issue has been \r
+ * discovered with at least one task.\r
  *\r
  * "High frequency timer test" - A high frequency periodic interrupt is\r
  * generated using a timer - the interrupt is assigned a priority above\r
  * optimised builds the count of high frequency ticks is used as the time base\r
  * for the run time stats.\r
  *\r
- * *NOTE 1* If LED5 is toggling every 5 seconds then all the demo application\r
+ * *NOTE 1* If LED3 is toggling every 5 seconds then all the demo application\r
  * tasks are executing as expected and no errors have been reported in any\r
  * tasks.  The toggle rate increasing to 200ms indicates that at least one task\r
  * has reported unexpected behaviour.\r
  *\r
  * *NOTE 4* The IntQueue common demo tasks test interrupt nesting and make use\r
  * of all the 8bit timers (as two cascaded 16bit units).\r
+ *\r
+ * *\r
 */\r
 \r
 #include <string.h>\r
 /* Kernel includes. */\r
 #include "FreeRTOS.h"\r
 #include "task.h"\r
+#include "timers.h"\r
 #include "semphr.h"\r
 \r
 /* Standard demo includes. */\r
 #include "partest.h"\r
-#include "flash.h"\r
+#include "flash_timer.h"\r
 #include "IntQueue.h"\r
 #include "BlockQ.h"\r
 #include "death.h"\r
@@ -156,7 +165,6 @@ tasks check that the values are passed in correctly. */
 #define mainSEM_TEST_PRIORITY          ( tskIDLE_PRIORITY + 1 )\r
 #define mainBLOCK_Q_PRIORITY           ( tskIDLE_PRIORITY + 2 )\r
 #define mainCREATOR_TASK_PRIORITY   ( tskIDLE_PRIORITY + 3 )\r
-#define mainFLASH_TASK_PRIORITY                ( tskIDLE_PRIORITY + 1 )\r
 #define mainuIP_TASK_PRIORITY          ( tskIDLE_PRIORITY + 2 )\r
 #define mainINTEGER_TASK_PRIORITY   ( tskIDLE_PRIORITY )\r
 #define mainGEN_QUEUE_TASK_PRIORITY    ( tskIDLE_PRIORITY )\r
@@ -166,18 +174,25 @@ tasks check that the values are passed in correctly. */
 stack than most of the other tasks. */\r
 #define mainuIP_STACK_SIZE                     ( configMINIMAL_STACK_SIZE * 3 )\r
 \r
-/* The LED toggled by the check task. */\r
+/* The LED toggled by the check timer. */\r
 #define mainCHECK_LED                          ( 3 )\r
 \r
 /* The rate at which mainCHECK_LED will toggle when all the tasks are running\r
-without error.  Controlled by the check task as described at the top of this\r
+without error.  Controlled by the check timer as described at the top of this\r
 file. */\r
-#define mainNO_ERROR_CYCLE_TIME                ( 5000 / portTICK_RATE_MS )\r
+#define mainNO_ERROR_CHECK_TIMER_PERIOD_MS     ( 5000 / portTICK_RATE_MS )\r
 \r
 /* The rate at which mainCHECK_LED will toggle when an error has been reported\r
-by at least one task.  Controlled by the check task as described at the top of\r
+by at least one task.  Controlled by the check timer as described at the top of\r
 this file. */\r
-#define mainERROR_CYCLE_TIME           ( 200 / portTICK_RATE_MS )\r
+#define mainERROR_CHECK_TIMER_PERIOD_MS                ( 200 / portTICK_RATE_MS )\r
+\r
+/* A block time of zero simply means "don't block". */\r
+#define mainDONT_BLOCK ( 0UL )\r
+\r
+/* A set of timers are created, each of which toggles and LED.  This specifies\r
+the number of timers to create. */\r
+#define mainNUMBER_OF_LEDS_TO_FLASH            ( 3 )\r
 \r
 /*\r
  * vApplicationMallocFailedHook() will only be called if\r
@@ -225,9 +240,9 @@ static void prvRegTest1Implementation( void );
 static void prvRegTest2Implementation( void );\r
 \r
 /*\r
- * The check task as described at the top of this file.\r
+ * The check timer callback function, as described at the top of this file.\r
  */\r
-static void prvCheckTask( void *pvParameters );\r
+static void prvCheckTimerCallback( xTimerHandle xTimer );\r
 \r
 /*\r
  * Contains the implementation of the WEB server.\r
@@ -251,6 +266,7 @@ const char *pcStatusMessage = "All tasks executing without error.";
 \r
 void main(void)\r
 {\r
+xTimerHandle xCheckTimer;\r
 extern void HardwareSetup( void );\r
 \r
        /* Turn all LEDs off. */\r
@@ -263,22 +279,35 @@ extern void HardwareSetup( void );
        /* The web server task. */\r
 //     xTaskCreate( vuIP_Task, "uIP", mainuIP_STACK_SIZE, NULL, mainuIP_TASK_PRIORITY, NULL );\r
 \r
-       /* Start the check task as described at the top of this file. */\r
-       xTaskCreate( prvCheckTask, "Check", configMINIMAL_STACK_SIZE * 3, NULL, mainCHECK_TASK_PRIORITY, NULL );\r
-\r
        /* Create the standard demo tasks. */\r
        vStartBlockingQueueTasks( mainBLOCK_Q_PRIORITY );\r
        vCreateBlockTimeTasks();\r
        vStartSemaphoreTasks( mainSEM_TEST_PRIORITY );\r
        vStartPolledQueueTasks( mainQUEUE_POLL_PRIORITY );\r
        vStartIntegerMathTasks( mainINTEGER_TASK_PRIORITY );\r
-       vStartGenericQueueTasks( mainGEN_QUEUE_TASK_PRIORITY );\r
-       vStartLEDFlashTasks( mainFLASH_TASK_PRIORITY );\r
+       vStartGenericQueueTasks( mainGEN_QUEUE_TASK_PRIORITY ); \r
        vStartQueuePeekTasks();\r
        vStartRecursiveMutexTasks();\r
        vStartInterruptQueueTasks();\r
 //     vStartMathTasks( mainFLOP_TASK_PRIORITY );\r
 \r
+       /* Create the timers used to toggle the LEDs. */\r
+       vStartLEDFlashTimers( mainNUMBER_OF_LEDS_TO_FLASH );\r
+\r
+       /* Create the software timer that performs the 'check' functionality,\r
+       as described at the top of this file. */\r
+       xCheckTimer = xTimerCreate( "CheckTimer",                                                       /* A text name, purely to help debugging. */\r
+                                                               ( mainNO_ERROR_CHECK_TIMER_PERIOD_MS ), /* The timer period, in this case 5000ms (5s). */\r
+                                                               pdTRUE,                                                                 /* This is an auto-reload timer, so xAutoReload is set to pdTRUE. */\r
+                                                               ( void * ) 0,                                                   /* The ID is not used, so can be set to anything. */\r
+                                                               prvCheckTimerCallback                                   /* The callback function that inspects the status of all the other tasks. */\r
+                                                         );    \r
+       \r
+       if( xCheckTimer != NULL )\r
+       {\r
+               xTimerStart( xCheckTimer, mainDONT_BLOCK );\r
+       }\r
+\r
        /* The suicide tasks must be created last as they need to know how many\r
        tasks were running prior to their creation in order to ascertain whether\r
        or not the correct/expected number of tasks are running at any given time. */\r
@@ -287,116 +316,123 @@ extern void HardwareSetup( void );
        /* Start the tasks running. */\r
        vTaskStartScheduler();\r
 \r
-       /* If all is well we will never reach here as the scheduler will now be\r
-       running.  If we do reach here then it is likely that there was insufficient\r
-       heap available for the idle task to be created. */\r
+       /* If all is well, the scheduler will now be running, and the following line\r
+       will never be reached.  If the following line does execute, then there was\r
+       insufficient FreeRTOS heap memory available for the idle and/or timer tasks\r
+       to be created.  See the memory management section on the FreeRTOS web site\r
+       for more details. */\r
        for( ;; );\r
 }\r
 /*-----------------------------------------------------------*/\r
 \r
-static void prvCheckTask( void *pvParameters )\r
+static void prvCheckTimerCallback( xTimerHandle xTimer )\r
 {\r
-static volatile unsigned long ulLastRegTest1CycleCount = 0UL, ulLastRegTest2CycleCount = 0UL;\r
-portTickType xNextWakeTime, xCycleFrequency = mainNO_ERROR_CYCLE_TIME;\r
-extern void vSetupHighFrequencyTimer( void );\r
-\r
-       /* If this is being executed then the kernel has been started.  Start the high\r
-       frequency timer test as described at the top of this file.  This is only\r
-       included in the optimised build configuration - otherwise it takes up too much\r
-       CPU time and can disrupt other tests. */\r
+static long lChangedTimerPeriodAlready = pdFALSE;\r
+static unsigned long ulLastRegTest1CycleCount = 0, ulLastRegTest2CycleCount = 0;\r
+long lErrorFound = pdFALSE;\r
+\r
+       /* If this is being executed then the kernel has been started.  Start the \r
+       high frequency timer test as described at the top of this file.  This is \r
+       only included in the optimised build configuration - otherwise it takes up \r
+       too much CPU time and can disrupt other tests. */\r
        #ifdef INCLUDE_HIGH_FREQUENCY_TIMER_TEST\r
                vSetupHighFrequencyTimer();\r
        #endif\r
 \r
-       /* Initialise xNextWakeTime - this only needs to be done once. */\r
-       xNextWakeTime = xTaskGetTickCount();\r
-\r
-       for( ;; )\r
+       /* Check the standard demo tasks are running without error. */\r
+       if( xAreGenericQueueTasksStillRunning() != pdTRUE )\r
        {\r
-               /* Place this task in the blocked state until it is time to run again. */\r
-               vTaskDelayUntil( &xNextWakeTime, xCycleFrequency );\r
-               \r
-               /* Check the standard demo tasks are running without error. */\r
-               if( xAreGenericQueueTasksStillRunning() != pdTRUE )\r
-               {\r
-                       /* Increase the rate at which this task cycles, which will increase the\r
-                       rate at which mainCHECK_LED flashes to give visual feedback that an error\r
-                       has occurred. */\r
-                       xCycleFrequency = mainERROR_CYCLE_TIME;\r
-                       pcStatusMessage = "Error: GenQueue";\r
-               }\r
-               else if( xAreQueuePeekTasksStillRunning() != pdTRUE )\r
-               {\r
-                       xCycleFrequency = mainERROR_CYCLE_TIME;\r
-                       pcStatusMessage = "Error: QueuePeek";\r
-               }\r
-               else if( xAreBlockingQueuesStillRunning() != pdTRUE )\r
-               {\r
-                       xCycleFrequency = mainERROR_CYCLE_TIME;\r
-                       pcStatusMessage = "Error: BlockQueue";\r
-               }\r
-               else if( xAreBlockTimeTestTasksStillRunning() != pdTRUE )\r
-               {\r
-                       xCycleFrequency = mainERROR_CYCLE_TIME;\r
-                       pcStatusMessage = "Error: BlockTime";\r
-               }\r
-               else if( xAreSemaphoreTasksStillRunning() != pdTRUE )\r
-               {\r
-                       xCycleFrequency = mainERROR_CYCLE_TIME;\r
-                       pcStatusMessage = "Error: SemTest";\r
-               }\r
-               else if( xArePollingQueuesStillRunning() != pdTRUE )\r
-               {\r
-                       xCycleFrequency = mainERROR_CYCLE_TIME;\r
-                       pcStatusMessage = "Error: PollQueue";\r
-               }\r
-               else if( xIsCreateTaskStillRunning() != pdTRUE )\r
-               {\r
-                       xCycleFrequency = mainERROR_CYCLE_TIME;\r
-                       pcStatusMessage = "Error: Death";\r
-               }\r
-               else if( xAreIntegerMathsTaskStillRunning() != pdTRUE )\r
-               {\r
-                       xCycleFrequency = mainERROR_CYCLE_TIME;\r
-                       pcStatusMessage = "Error: IntMath";\r
-               }\r
-               else if( xAreRecursiveMutexTasksStillRunning() != pdTRUE )\r
-               {\r
-                       xCycleFrequency = mainERROR_CYCLE_TIME;\r
-                       pcStatusMessage = "Error: RecMutex";\r
-               }\r
-               else if( xAreIntQueueTasksStillRunning() != pdPASS )\r
-               {\r
-                       xCycleFrequency = mainERROR_CYCLE_TIME;\r
-                       pcStatusMessage = "Error: IntQueue";\r
-               }\r
+               lErrorFound = pdTRUE;\r
+               pcStatusMessage = "Error: GenQueue";\r
+       }\r
+       else if( xAreQueuePeekTasksStillRunning() != pdTRUE )\r
+       {\r
+               lErrorFound = pdTRUE;\r
+               pcStatusMessage = "Error: QueuePeek";\r
+       }\r
+       else if( xAreBlockingQueuesStillRunning() != pdTRUE )\r
+       {\r
+               lErrorFound = pdTRUE;\r
+               pcStatusMessage = "Error: BlockQueue";\r
+       }\r
+       else if( xAreBlockTimeTestTasksStillRunning() != pdTRUE )\r
+       {\r
+               lErrorFound = pdTRUE;\r
+               pcStatusMessage = "Error: BlockTime";\r
+       }\r
+       else if( xAreSemaphoreTasksStillRunning() != pdTRUE )\r
+       {\r
+               lErrorFound = pdTRUE;\r
+               pcStatusMessage = "Error: SemTest";\r
+       }\r
+       else if( xArePollingQueuesStillRunning() != pdTRUE )\r
+       {\r
+               lErrorFound = pdTRUE;\r
+               pcStatusMessage = "Error: PollQueue";\r
+       }\r
+       else if( xIsCreateTaskStillRunning() != pdTRUE )\r
+       {\r
+               lErrorFound = pdTRUE;\r
+               pcStatusMessage = "Error: Death";\r
+       }\r
+       else if( xAreIntegerMathsTaskStillRunning() != pdTRUE )\r
+       {\r
+               lErrorFound = pdTRUE;\r
+               pcStatusMessage = "Error: IntMath";\r
+       }\r
+       else if( xAreRecursiveMutexTasksStillRunning() != pdTRUE )\r
+       {\r
+               lErrorFound = pdTRUE;\r
+               pcStatusMessage = "Error: RecMutex";\r
+       }\r
+       else if( xAreIntQueueTasksStillRunning() != pdPASS )\r
+       {\r
+               lErrorFound = pdTRUE;\r
+               pcStatusMessage = "Error: IntQueue";\r
+       }\r
 if( 0 )//              else if( xAreMathsTaskStillRunning() != pdPASS )\r
-               {\r
-                       xCycleFrequency = mainERROR_CYCLE_TIME;\r
-                       pcStatusMessage = "Error: Flop";\r
-               }\r
+       {\r
+               lErrorFound = pdTRUE;\r
+               pcStatusMessage = "Error: Flop";\r
+       }\r
 \r
-               /* Check the reg test tasks are still cycling.  They will stop incrementing\r
-               their loop counters if they encounter an error. */\r
-               if( ulRegTest1CycleCount == ulLastRegTest1CycleCount )\r
-               {\r
-                       xCycleFrequency = mainERROR_CYCLE_TIME;\r
-                       pcStatusMessage = "Error: RegTest1";\r
-               }\r
+       /* Check the reg test tasks are still cycling.  They will stop incrementing\r
+       their loop counters if they encounter an error. */\r
+       if( ulRegTest1CycleCount == ulLastRegTest1CycleCount )\r
+       {\r
+               lErrorFound = pdTRUE;\r
+               pcStatusMessage = "Error: RegTest1";\r
+       }\r
 \r
-               if( ulRegTest2CycleCount == ulLastRegTest2CycleCount )\r
-               {\r
-                       xCycleFrequency = mainERROR_CYCLE_TIME;\r
-                       pcStatusMessage = "Error: RegTest2";\r
-               }\r
+       if( ulRegTest2CycleCount == ulLastRegTest2CycleCount )\r
+       {\r
+               lErrorFound = pdTRUE;\r
+               pcStatusMessage = "Error: RegTest2";\r
+       }\r
 \r
-               ulLastRegTest1CycleCount = ulRegTest1CycleCount;\r
-               ulLastRegTest2CycleCount = ulRegTest2CycleCount;\r
+       ulLastRegTest1CycleCount = ulRegTest1CycleCount;\r
+       ulLastRegTest2CycleCount = ulRegTest2CycleCount;\r
 \r
-               /* Toggle the check LED to give an indication of the system status.  If\r
-               the LED toggles every 5 seconds then everything is ok.  A faster toggle\r
-               indicates an error. */\r
-               vParTestToggleLED( mainCHECK_LED );\r
+       /* Toggle the check LED to give an indication of the system status.  If\r
+       the LED toggles every mainNO_ERROR_CHECK_TIMER_PERIOD_MS milliseconds then\r
+       everything is ok.  A faster toggle indicates an error. */\r
+       vParTestToggleLED( mainCHECK_LED );     \r
+       \r
+       /* Have any errors been latch in lErrorFound?  If so, shorten the\r
+       period of the check timer to mainERROR_CHECK_TIMER_PERIOD_MS milliseconds.\r
+       This will result in an increase in the rate at which mainCHECK_LED\r
+       toggles. */\r
+       if( lErrorFound != pdFALSE )\r
+       {\r
+               if( lChangedTimerPeriodAlready == pdFALSE )\r
+               {\r
+                       lChangedTimerPeriodAlready = pdTRUE;\r
+                       \r
+                       /* This call to xTimerChangePeriod() uses a zero block time.\r
+                       Functions called from inside of a timer callback function must\r
+                       *never* attempt to block. */\r
+                       xTimerChangePeriod( xTimer, ( mainERROR_CHECK_TIMER_PERIOD_MS ), mainDONT_BLOCK );\r
+               }\r
        }\r
 }\r
 /*-----------------------------------------------------------*/\r