[GENERAL_DATA]\r
[BREAKPOINTS]\r
[OPEN_WORKSPACE_FILES]\r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-MDK_Renesas\RTOSDemo\main-full.c" \r
[WORKSPACE_FILE_STATES]\r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-MDK_Renesas\RTOSDemo\main-full.c" -4 -23 1351 509 1 0 \r
[LOADED_PROJECTS]\r
"RTOSDemo" \r
[END]\r
licensing and training services.\r
*/\r
\r
-/* High speed timer test as described in main.c. */\r
+/* \r
+ * High frequency timer test as described in main.c. \r
+ */\r
\r
/* Scheduler includes. */\r
#include "FreeRTOS.h"\r
licensing and training services.\r
*/\r
\r
+/*\r
+ * This file contains the non-portable and therefore RX62N specific parts of\r
+ * the IntQueue standard demo task - namely the configuration of the timers\r
+ * that generate the interrupts and the interrupt entry points.\r
+ */\r
+\r
/* Scheduler includes. */\r
#include "FreeRTOS.h"\r
#include "task.h"\r
[TOOL_CHAIN]\r
"Renesas RX Standard Toolchain" "1.0.0.0" \r
[CONFIGURATIONS]\r
+"Blinky" "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-MDK_Renesas\RTOSDemo\Blinky" \r
"Debug" "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-MDK_Renesas\RTOSDemo\Debug" \r
"Debug_RX600_E1_E20_SYSTEM" "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-MDK_Renesas\RTOSDemo\Debug_RX600_E1_E20_SYSTEM" \r
"Debug_with_optimisation" "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-MDK_Renesas\RTOSDemo\Debug_with_optimisation" \r
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-MDK_Renesas\RTOSDemo\Renesas-Files\resetprg.c" "User" "C source file|Renesas Files" 2 \r
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-MDK_Renesas\RTOSDemo\Renesas-Files\sbrk.c" "User" "C source file|Renesas Files" 2 \r
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-MDK_Renesas\RTOSDemo\Renesas-Files\vecttbl.c" "User" "C source file|Renesas Files" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-MDK_Renesas\RTOSDemo\main-blinky.c" "User" "C source file" 2 \r
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-MDK_Renesas\RTOSDemo\main-full.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
[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" "011647417f14bc10" 5 \r
+[OPTIONS_Blinky_Renesas RX Assembler]\r
+"Assembly source file" "088b30f0a993bc10" 4 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-MDK_Renesas\RTOSDemo\Renesas-Files\lowlvl.src" "0cd92d23ed14bc10" 4 \r
+"Linkage symbol file" "088b30f0a993bc10" 4 \r
+[OPTIONS_Blinky_Renesas RX C/C++ Compiler]\r
+"C source file" "067b2354f2d3bc10" 2 \r
+"C++ source file" "067b2354f2d3bc10" 3 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\BlockQ.c" "05d6fdab4a04bc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\GenQTest.c" "05d6fdab4a04bc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\IntQueue.c" "090dfce07df3bc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\PollQ.c" "05d6fdab4a04bc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\QPeek.c" "05d6fdab4a04bc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\blocktim.c" "05d6fdab4a04bc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\death.c" "0984667d4a04bc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\flash.c" "02b798669af3bc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\flop.c" "0fd4f0520214bc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\integer.c" "05d6fdab4a04bc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\recmutex.c" "05d6fdab4a04bc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\semtest.c" "05d6fdab4a04bc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-MDK_Renesas\RTOSDemo\HighFrequencyTimerTest.c" "00526507a114bc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-MDK_Renesas\RTOSDemo\IntQueueTimer.c" "0a762c328df3bc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-MDK_Renesas\RTOSDemo\ParTest.c" "067b2354f2d3bc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-MDK_Renesas\RTOSDemo\Renesas-Files\dbsct.c" "0cd92d23ed14bc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-MDK_Renesas\RTOSDemo\Renesas-Files\hwsetup.c" "0cd92d23ed14bc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-MDK_Renesas\RTOSDemo\Renesas-Files\intprg.c" "0cd92d23ed14bc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-MDK_Renesas\RTOSDemo\Renesas-Files\lowsrc.c" "0cd92d23ed14bc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-MDK_Renesas\RTOSDemo\Renesas-Files\resetprg.c" "0cd92d23ed14bc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-MDK_Renesas\RTOSDemo\Renesas-Files\sbrk.c" "0cd92d23ed14bc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-MDK_Renesas\RTOSDemo\Renesas-Files\vecttbl.c" "0cd92d23ed14bc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-MDK_Renesas\RTOSDemo\main-blinky.c" "02c169eb6f14bc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-MDK_Renesas\RTOSDemo\main-full.c" "03ceac85ed14bc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\list.c" "067b2354f2d3bc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\MemMang\heap_2.c" "067b2354f2d3bc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\Renesas\RX600\port.c" "067b2354f2d3bc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\queue.c" "067b2354f2d3bc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\tasks.c" "067b2354f2d3bc10" 2 \r
+[OPTIONS_Blinky_Renesas RX C/C++ Library Generator]\r
+"Single Shot" "0ca340787f14bc10" 1 \r
+[OPTIONS_Blinky_Renesas RX Configurator]\r
+"Single Shot" "02c169eb6f14bc10" 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^"] [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^"] [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
+" 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\flop.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
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\PollQ.c" \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\QPeek.c" \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\recmutex.c" \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\semtest.c" \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-MDK_Renesas\RTOSDemo\HighFrequencyTimerTest.c" \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-MDK_Renesas\RTOSDemo\IntQueueTimer.c" \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-MDK_Renesas\RTOSDemo\main-full.c" \r
+[LINKAGE_ORDER_Blinky]\r
+[GENERAL_DATA_CONFIGURATION_Blinky]\r
[OPTIONS_Debug_Renesas OptLinker]\r
-"Single Shot" "013d6d85ed14bc10" 5 \r
+"Single Shot" "021ac70d6f14bc10" 5 \r
[OPTIONS_Debug_Renesas RX Assembler]\r
"Assembly source file" "088b30f0a993bc10" 4 \r
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-MDK_Renesas\RTOSDemo\Renesas-Files\lowlvl.src" "0cd92d23ed14bc10" 4 \r
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-MDK_Renesas\RTOSDemo\Renesas-Files\resetprg.c" "0cd92d23ed14bc10" 2 \r
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-MDK_Renesas\RTOSDemo\Renesas-Files\sbrk.c" "0cd92d23ed14bc10" 2 \r
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-MDK_Renesas\RTOSDemo\Renesas-Files\vecttbl.c" "0cd92d23ed14bc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-MDK_Renesas\RTOSDemo\main-blinky.c" "02c169eb6f14bc10" 2 \r
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-MDK_Renesas\RTOSDemo\main-full.c" "03ceac85ed14bc10" 2 \r
"C:\E\Dev\FreeRTOS\WorkingCopy\Source\list.c" "067b2354f2d3bc10" 2 \r
"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\MemMang\heap_2.c" "067b2354f2d3bc10" 2 \r
[OPTIONS_Debug_Renesas RX C/C++ Library Generator]\r
"Single Shot" "0e1346de5614bc10" 1 \r
[OPTIONS_Debug_Renesas RX Configurator]\r
-"Single Shot" "03ceac85ed14bc10" 6 \r
+"Single Shot" "02c169eb6f14bc10" 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|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
" 5 \r
[EXCLUDED_FILES_Debug]\r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-MDK_Renesas\RTOSDemo\main-blinky.c" \r
[LINKAGE_ORDER_Debug]\r
[GENERAL_DATA_CONFIGURATION_Debug]\r
[OPTIONS_Debug_RX600_E1_E20_SYSTEM_Renesas OptLinker]\r
-"Single Shot" "013d6d85ed14bc10" 4 \r
+"Single Shot" "0fd3fdfb6f14bc10" 4 \r
[OPTIONS_Debug_RX600_E1_E20_SYSTEM_Renesas RX Assembler]\r
"Assembly source file" "0cb120ca4793bc10" 3 \r
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-MDK_Renesas\RTOSDemo\Renesas-Files\lowlvl.src" "0cd92d23ed14bc10" 3 \r
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-MDK_Renesas\RTOSDemo\Renesas-Files\resetprg.c" "0cd92d23ed14bc10" 2 \r
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-MDK_Renesas\RTOSDemo\Renesas-Files\sbrk.c" "0cd92d23ed14bc10" 2 \r
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-MDK_Renesas\RTOSDemo\Renesas-Files\vecttbl.c" "0cd92d23ed14bc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-MDK_Renesas\RTOSDemo\main-blinky.c" "02c169eb6f14bc10" 2 \r
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-MDK_Renesas\RTOSDemo\main-full.c" "03ceac85ed14bc10" 2 \r
"C:\E\Dev\FreeRTOS\WorkingCopy\Source\list.c" "04345d232893bc10" 2 \r
"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\MemMang\heap_2.c" "0b083d452893bc10" 2 \r
[OPTIONS_Debug_RX600_E1_E20_SYSTEM_Renesas RX C/C++ Library Generator]\r
"Single Shot" "0cb120ca4793bc10" 1 \r
[OPTIONS_Debug_RX600_E1_E20_SYSTEM_Renesas RX Configurator]\r
-"Single Shot" "03ceac85ed14bc10" 5 \r
+"Single Shot" "02c169eb6f14bc10" 5 \r
[OPTIONS_Debug_RX600_E1_E20_SYSTEM]\r
"" 0 \r
"[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 \r
[LINKAGE_ORDER_Debug_RX600_E1_E20_SYSTEM]\r
[GENERAL_DATA_CONFIGURATION_Debug_RX600_E1_E20_SYSTEM]\r
[OPTIONS_Debug_with_optimisation_Renesas OptLinker]\r
-"Single Shot" "013d6d85ed14bc10" 5 \r
+"Single Shot" "0365455c6f14bc10" 5 \r
[OPTIONS_Debug_with_optimisation_Renesas RX Assembler]\r
"Assembly source file" "088b30f0a993bc10" 4 \r
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-MDK_Renesas\RTOSDemo\Renesas-Files\lowlvl.src" "0cd92d23ed14bc10" 4 \r
"Linkage symbol file" "088b30f0a993bc10" 4 \r
[OPTIONS_Debug_with_optimisation_Renesas RX C/C++ Compiler]\r
-"C source file" "00681241e014bc10" 2 \r
-"C++ source file" "00681241e014bc10" 3 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\BlockQ.c" "00681241e014bc10" 2 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\GenQTest.c" "00681241e014bc10" 2 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\IntQueue.c" "00681241e014bc10" 2 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\PollQ.c" "00681241e014bc10" 2 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\QPeek.c" "00681241e014bc10" 2 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\blocktim.c" "00681241e014bc10" 2 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\death.c" "00681241e014bc10" 2 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\flash.c" "00681241e014bc10" 2 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\flop.c" "0fd4f0520214bc10" 2 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\integer.c" "00681241e014bc10" 2 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\recmutex.c" "00681241e014bc10" 2 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\semtest.c" "00681241e014bc10" 2 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-MDK_Renesas\RTOSDemo\HighFrequencyTimerTest.c" "00526507a114bc10" 2 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-MDK_Renesas\RTOSDemo\IntQueueTimer.c" "00681241e014bc10" 2 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-MDK_Renesas\RTOSDemo\ParTest.c" "00681241e014bc10" 2 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-MDK_Renesas\RTOSDemo\Renesas-Files\dbsct.c" "0cd92d23ed14bc10" 2 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-MDK_Renesas\RTOSDemo\Renesas-Files\hwsetup.c" "0cd92d23ed14bc10" 2 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-MDK_Renesas\RTOSDemo\Renesas-Files\intprg.c" "0cd92d23ed14bc10" 2 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-MDK_Renesas\RTOSDemo\Renesas-Files\lowsrc.c" "0cd92d23ed14bc10" 2 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-MDK_Renesas\RTOSDemo\Renesas-Files\resetprg.c" "0cd92d23ed14bc10" 2 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-MDK_Renesas\RTOSDemo\Renesas-Files\sbrk.c" "0cd92d23ed14bc10" 2 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-MDK_Renesas\RTOSDemo\Renesas-Files\vecttbl.c" "0cd92d23ed14bc10" 2 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-MDK_Renesas\RTOSDemo\main-full.c" "03ceac85ed14bc10" 2 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Source\list.c" "00681241e014bc10" 2 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\MemMang\heap_2.c" "00681241e014bc10" 2 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\Renesas\RX600\port.c" "00681241e014bc10" 2 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Source\queue.c" "00681241e014bc10" 2 \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Source\tasks.c" "00681241e014bc10" 2 \r
+"C source file" "03e2e2a06f14bc10" 2 \r
+"C++ source file" "03e2e2a06f14bc10" 3 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\BlockQ.c" "03e2e2a06f14bc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\GenQTest.c" "03e2e2a06f14bc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\IntQueue.c" "03e2e2a06f14bc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\PollQ.c" "03e2e2a06f14bc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\QPeek.c" "03e2e2a06f14bc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\blocktim.c" "03e2e2a06f14bc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\death.c" "03e2e2a06f14bc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\flash.c" "03e2e2a06f14bc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\flop.c" "03e2e2a06f14bc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\integer.c" "03e2e2a06f14bc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\recmutex.c" "03e2e2a06f14bc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\semtest.c" "03e2e2a06f14bc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-MDK_Renesas\RTOSDemo\HighFrequencyTimerTest.c" "03e2e2a06f14bc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-MDK_Renesas\RTOSDemo\IntQueueTimer.c" "03e2e2a06f14bc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-MDK_Renesas\RTOSDemo\ParTest.c" "03e2e2a06f14bc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-MDK_Renesas\RTOSDemo\Renesas-Files\dbsct.c" "03e2e2a06f14bc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-MDK_Renesas\RTOSDemo\Renesas-Files\hwsetup.c" "03e2e2a06f14bc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-MDK_Renesas\RTOSDemo\Renesas-Files\intprg.c" "03e2e2a06f14bc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-MDK_Renesas\RTOSDemo\Renesas-Files\lowsrc.c" "03e2e2a06f14bc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-MDK_Renesas\RTOSDemo\Renesas-Files\resetprg.c" "03e2e2a06f14bc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-MDK_Renesas\RTOSDemo\Renesas-Files\sbrk.c" "03e2e2a06f14bc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-MDK_Renesas\RTOSDemo\Renesas-Files\vecttbl.c" "03e2e2a06f14bc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-MDK_Renesas\RTOSDemo\main-blinky.c" "02c169eb6f14bc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-MDK_Renesas\RTOSDemo\main-full.c" "03e2e2a06f14bc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\list.c" "03e2e2a06f14bc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\MemMang\heap_2.c" "03e2e2a06f14bc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\Renesas\RX600\port.c" "03e2e2a06f14bc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\queue.c" "03e2e2a06f14bc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\tasks.c" "03e2e2a06f14bc10" 2 \r
[OPTIONS_Debug_with_optimisation_Renesas RX C/C++ Library Generator]\r
-"Single Shot" "02ac694e5a04bc10" 1 \r
+"Single Shot" "00e576febe14bc10" 1 \r
[OPTIONS_Debug_with_optimisation_Renesas RX Configurator]\r
-"Single Shot" "03ceac85ed14bc10" 6 \r
+"Single Shot" "02c169eb6f14bc10" 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|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^"] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [B|DEBUG|1] [S|OPTIMIZE|MAX] [B|SIZE|1] [B|MAP|1] [S|MAPPATH|^"$(CONFIGDIR)\$(PROJECTNAME).bls^"] [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
+"[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^"] [S|DEFINE|INCLUDE_HIGH_FREQUENCY_TIMER_TEST=1] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [B|DEBUG|1] [S|OPTIMIZE|MAX] [B|SIZE|1] [B|MAP|1] [S|MAPPATH|^"$(CONFIGDIR)\$(PROJECTNAME).bls^"] [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^"] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [B|DEBUG|1] [S|OPTIMIZE|MAX] [B|SIZE|1] [B|MAP|1] [S|MAPPATH|^"$(CONFIGDIR)\$(PROJECTNAME).bls^"] [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
+"[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^"] [S|DEFINE|INCLUDE_HIGH_FREQUENCY_TIMER_TEST=1] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [B|DEBUG|1] [S|OPTIMIZE|MAX] [B|SIZE|1] [B|MAP|1] [S|MAPPATH|^"$(CONFIGDIR)\$(PROJECTNAME).bls^"] [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
+"[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] [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^"] [B|MAP|1] [S|MAPPATH|^"$(CONFIGDIR)\$(PROJECTNAME).bls^"] [I|SPACE|^"FF^"] [S|OPTIMIZEITEMS|SPEED] [S|START|B_1,R_1,B_2,R_2,B,R,SU,SI(01000)|PResetPRG(0FFFF8000)|C_1,C_2,C,C$*,D*,P,PIntPRG,W*(0FFFF8100)|FIXEDVECT(0FFFFFFD0)] [B|SKIPDEPENDENCY|1]\r
" 5 \r
[EXCLUDED_FILES_Debug_with_optimisation]\r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-MDK_Renesas\RTOSDemo\main-blinky.c" \r
[LINKAGE_ORDER_Debug_with_optimisation]\r
[GENERAL_DATA_CONFIGURATION_Debug_with_optimisation]\r
[OPTIONS_SimDebug_RX600_Renesas OptLinker]\r
-"Single Shot" "013d6d85ed14bc10" 4 \r
+"Single Shot" "0fd3fdfb6f14bc10" 4 \r
[OPTIONS_SimDebug_RX600_Renesas RX Assembler]\r
"Assembly source file" "0cb120ca4793bc10" 3 \r
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-MDK_Renesas\RTOSDemo\Renesas-Files\lowlvl.src" "0cd92d23ed14bc10" 3 \r
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-MDK_Renesas\RTOSDemo\Renesas-Files\resetprg.c" "0cd92d23ed14bc10" 2 \r
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-MDK_Renesas\RTOSDemo\Renesas-Files\sbrk.c" "0cd92d23ed14bc10" 2 \r
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-MDK_Renesas\RTOSDemo\Renesas-Files\vecttbl.c" "0cd92d23ed14bc10" 2 \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-MDK_Renesas\RTOSDemo\main-blinky.c" "02c169eb6f14bc10" 2 \r
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-MDK_Renesas\RTOSDemo\main-full.c" "03ceac85ed14bc10" 2 \r
"C:\E\Dev\FreeRTOS\WorkingCopy\Source\list.c" "04345d232893bc10" 2 \r
"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\MemMang\heap_2.c" "0b083d452893bc10" 2 \r
[OPTIONS_SimDebug_RX600_Renesas RX C/C++ Library Generator]\r
"Single Shot" "0cb120ca4793bc10" 1 \r
[OPTIONS_SimDebug_RX600_Renesas RX Configurator]\r
-"Single Shot" "03ceac85ed14bc10" 5 \r
+"Single Shot" "02c169eb6f14bc10" 5 \r
[OPTIONS_SimDebug_RX600]\r
"" 0 \r
"[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 \r
[EXCLUDED_FILES_SimDebug_RX600]\r
[LINKAGE_ORDER_SimDebug_RX600]\r
[GENERAL_DATA_CONFIGURATION_SimDebug_RX600]\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
"SessionRX600_E1_E20_SYSTEM" \r
"SimSessionRX600" \r
[CONFIGURATIONS]\r
+"Blinky" \r
"Debug" \r
"Debug_RX600_E1_E20_SYSTEM" \r
"Debug_with_optimisation" \r
[CURRENT_SESSION]\r
"SessionRX600_E1_E20_SYSTEM" \r
[GENERAL_DATA_PROJECT]\r
+[GENERAL_DATA_CONFIGURATION_Blinky]\r
+"PROJECT_FILES_MODIFIED_DATA_TAG" "FALSE" \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
[SESSIONS_Debug]\r
[GENERAL_DATA_SESSION_DefaultSession]\r
[GENERAL_DATA_CONFIGURATION_SESSION_Debug_with_optimisation_SimSessionRX600]\r
[GENERAL_DATA_CONFIGURATION_SESSION_Debug_RX600_E1_E20_SYSTEM_SimSessionRX600]\r
+[GENERAL_DATA_CONFIGURATION_SESSION_Blinky_SessionRX600_E1_E20_SYSTEM]\r
+[GENERAL_DATA_CONFIGURATION_SESSION_Blinky_DefaultSession]\r
[GENERAL_DATA_CONFIGURATION_SESSION_Debug_RX600_E1_E20_SYSTEM_SessionRX600_E1_E20_SYSTEM]\r
[GENERAL_DATA_CONFIGURATION_SESSION_Debug_DefaultSession]\r
[GENERAL_DATA_CONFIGURATION_SESSION_SimDebug_RX600_SessionRX600_E1_E20_SYSTEM]\r
[GENERAL_DATA_CONFIGURATION_SESSION_Debug_SimSessionRX600]\r
[GENERAL_DATA_CONFIGURATION_SESSION_SimDebug_RX600_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
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ColWidth12" "200" \r
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ColWidth2" "120" \r
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ColWidth3" "200" \r
-"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEMCnt" "0" \r
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0000" "cbuffer, 10, 0, P, Col, Hex, N" \r
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0000_SCOPE" "Current Scope," \r
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEMCnt" "1" \r
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd1ColWidth0" "120" \r
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd1ColWidth1" "150" \r
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd1ColWidth12" "200" \r
[LANGUAGE]\r
"English" \r
[CONFIG_INFO_VD1]\r
-0 \r
+1 \r
[CONFIG_INFO_VD2]\r
0 \r
[CONFIG_INFO_VD3]\r
"{WK_00000001_OUTPUT}" "WINDOW" 59422 0 0 "1.00" 351 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 0 "1.00" 307 0 0 350 200 2065 0 "" "0.0" \r
"{WK_00000001_WATCH}RTOSDemoSessionRX600_E1_E20_SYSTEM" "WINDOW" 59422 0 1 "0.53" 351 0 0 853 610 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" 517 560 340 350 200 18 0 "" "0.0" \r
+"{WK_00000002_WORKSPACE}" "WINDOW" 59420 0 0 "1.00" 305 560 340 350 200 18 0 "" "0.0" \r
"{WK_TB00000001_STANDARD}" "TOOLBAR 0" 59419 0 2 "0.00" 0 0 0 0 0 18 0 "" "0.0" \r
"{WK_TB00000002_EDITOR}" "TOOLBAR 0" 59419 0 0 "0.00" 0 0 0 0 0 18 0 "" "0.0" \r
"{WK_TB00000003_BOOKMARKS}" "TOOLBAR 0" 59419 1 1 "0.00" 0 0 0 0 0 17 0 "" "0.0" \r
[WINDOW_POSITION_STATE_DATA_VD3]\r
[WINDOW_POSITION_STATE_DATA_VD4]\r
[WINDOW_Z_ORDER]\r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-MDK_Renesas\RTOSDemo\main-full.c" \r
[TARGET_NAME]\r
"RX600 E1/E20 SYSTEM" "" 0 \r
[STATUSBAR_STATEINFO_VD1]\r
--- /dev/null
+/*\r
+ FreeRTOS V6.0.5 - Copyright (C) 2010 Real Time Engineers Ltd.\r
+\r
+ ***************************************************************************\r
+ * *\r
+ * If you are: *\r
+ * *\r
+ * + New to FreeRTOS, *\r
+ * + Wanting to learn FreeRTOS or multitasking in general quickly *\r
+ * + Looking for basic training, *\r
+ * + Wanting to improve your FreeRTOS skills and productivity *\r
+ * *\r
+ * then take a look at the FreeRTOS eBook *\r
+ * *\r
+ * "Using the FreeRTOS Real Time Kernel - a Practical Guide" *\r
+ * http://www.FreeRTOS.org/Documentation *\r
+ * *\r
+ * A pdf reference manual is also available. Both are usually delivered *\r
+ * to your inbox within 20 minutes to two hours when purchased between 8am *\r
+ * and 8pm GMT (although please allow up to 24 hours in case of *\r
+ * exceptional circumstances). Thank you for your support! *\r
+ * *\r
+ ***************************************************************************\r
+\r
+ This file is part of the FreeRTOS distribution.\r
+\r
+ FreeRTOS is free software; you can redistribute it and/or modify it under\r
+ the terms of the GNU General Public License (version 2) as published by the\r
+ Free Software Foundation AND MODIFIED BY the FreeRTOS exception.\r
+ ***NOTE*** The exception to the GPL is included to allow you to distribute\r
+ a combined work that includes FreeRTOS without being obliged to provide the\r
+ source code for proprietary components outside of the FreeRTOS kernel.\r
+ FreeRTOS is distributed in the hope that it will be useful, but WITHOUT\r
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or\r
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for\r
+ more details. You should have received a copy of the GNU General Public \r
+ License and the FreeRTOS license exception along with FreeRTOS; if not it \r
+ can be viewed here: http://www.freertos.org/a00114.html and also obtained \r
+ by writing to Richard Barry, contact details for whom are available on the\r
+ FreeRTOS WEB site.\r
+\r
+ 1 tab == 4 spaces!\r
+\r
+ http://www.FreeRTOS.org - Documentation, latest information, license and\r
+ contact details.\r
+\r
+ http://www.SafeRTOS.com - A version that is certified for use in safety\r
+ critical systems.\r
+\r
+ http://www.OpenRTOS.com - Commercial support, development, porting,\r
+ licensing and training services.\r
+*/\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
+ *\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
+\r
+/* Hardware specific includes. */\r
+#include "iodefine.h"\r
+\r
+/* Kernel includes. */\r
+#include "FreeRTOS.h"\r
+#include "task.h"\r
+#include "queue.h"\r
+\r
+/* Priorities at which the tasks are created. */\r
+#define configQUEUE_RECEIVE_TASK_PRIORITY ( tskIDLE_PRIORITY + 1 )\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
+\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
+/*\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
+/* The queue used by both tasks. */\r
+static xQueueHandle xQueue = NULL;\r
+\r
+/*-----------------------------------------------------------*/\r
+\r
+void main(void)\r
+{\r
+extern void HardwareSetup( void );\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
+ 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( prvQueueSendTask, "TX", configMINIMAL_STACK_SIZE, NULL, configQUEUE_SEND_TASK_PRIORITY, NULL );\r
+\r
+ /* Start the tasks running. */\r
+ vTaskStartScheduler();\r
+ }\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
+ for( ;; );\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
+static void prvQueueSendTask( void *pvParameters )\r
+{\r
+portTickType xNextWakeTime;\r
+const unsigned long ulValueToSend = 100UL;\r
+\r
+ /* Initialise xNextWakeTime - this only needs to be done once. */\r
+ xNextWakeTime = xTaskGetTickCount();\r
+\r
+ for( ;; )\r
+ {\r
+ /* 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
+\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
+ should always be empty here. */\r
+ xQueueSend( xQueue, &ulValueToSend, 0 );\r
+ }\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
+static void prvQueueReceiveTask( void *pvParameters )\r
+{\r
+unsigned long ulReceivedValue;\r
+\r
+ for( ;; )\r
+ {\r
+ /* Wait until something arives in the queue - this will block \r
+ indefinitely provided INCLUDE_vTaskSuspend is set to 1 in\r
+ FreeRTOSConfig.h. */\r
+ xQueueReceive( xQueue, &ulReceivedValue, portMAX_DELAY );\r
+\r
+ /* To get here something must have arrived, but is it the expected\r
+ value? If it is, toggle the LED. */\r
+ if( ulReceivedValue == 100UL )\r
+ {\r
+ vParTestToggleLED( 0 );\r
+ }\r
+ }\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
+void vApplicationSetupTimerInterrupt( void )\r
+{\r
+ /* Enable compare match timer 0. */\r
+ MSTP( CMT0 ) = 0;\r
+ \r
+ /* Interrupt on compare match. */\r
+ CMT0.CMCR.BIT.CMIE = 1;\r
+ \r
+ /* Set the compare match value. */\r
+ CMT0.CMCOR = ( unsigned short ) ( ( ( configPERIPHERAL_CLOCK_HZ / configTICK_RATE_HZ ) -1 ) / 8 );\r
+ \r
+ /* Divide the PCLK by 8. */\r
+ CMT0.CMCR.BIT.CKS = 0;\r
+ \r
+ /* Enable the interrupt... */\r
+ _IEN( _CMT0_CMI0 ) = 1;\r
+ \r
+ /* ...and set its priority to the application defined kernel priority. */\r
+ _IPR( _CMT0_CMI0 ) = configKERNEL_INTERRUPT_PRIORITY;\r
+ \r
+ /* Start the timer. */\r
+ CMT.CMSTR0.BIT.STR0 = 1;\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
+/* This function is explained by the comments above its prototype at the top\r
+of this file. */\r
+void vApplicationMallocFailedHook( void )\r
+{\r
+ for( ;; );\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
+/* This function is explained by the comments above its prototype at the top\r
+of this file. */\r
+void vApplicationStackOverflowHook( xTaskHandle *pxTask, signed char *pcTaskName )\r
+{\r
+ for( ;; );\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
+/* This function is explained by the comments above its prototype at the top\r
+of this file. */\r
+void vApplicationIdleHook( void )\r
+{\r
+}\r
+/*-----------------------------------------------------------*/\r
licensing and training services.\r
*/\r
\r
-/*\r
- * NOTE 1: The CPU must be in Supervisor mode when the scheduler is started.\r
+/* \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
+ *\r
+ * Creates all the demo application tasks, then starts the scheduler. The WEB\r
+ * documentation provides more details of the standard demo application tasks,\r
+ * which provide no particular functionality but do provide a good example of\r
+ * how to use the FreeRTOS API. The tasks defined in flop.c are included in the\r
+ * set of standard demo tasks to ensure the floating point unit gets some\r
+ * exercise. \r
+ *\r
+ * In addition to the standard demo tasks, the following tasks and tests are \r
+ * defined and/or created within this file:\r
+ *\r
+ * "Reg test" tasks - These fill the registers with known values, then check\r
+ * that each register still contains its expected value. Each task uses\r
+ * different values. The tasks run with very low priority so get preempted very\r
+ * frequently. A register containing an unexpected value is indicative of an\r
+ * error in the context switching mechanism and will result in interrupts being\r
+ * disabled and a branch to a null loop. This has the effect of stopping \r
+ * execution of all the tests and tasks, which in turn results in all LED\r
+ * activity stopping too. The nature of the reg test tasks necessitates that \r
+ * they are written in assembly code. The check task (described below) checks \r
+ * that the reg test tasks are still executing and will indicate an error if\r
+ * either reg test task is found to have stalled.\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
+ *\r
+ * "High frequency timer test" - A high frequency periodic interrupt is \r
+ * generated using a timer - the interrupt is assigned a priority above \r
+ * configMAX_SYSCALL_INTERRUPT_PRIORITY so should not be effected by anything\r
+ * the kernel is doing. The interrupt service routine measures the number of \r
+ * counts a separate timer performs between each interrupt to determine the \r
+ * jitter in the interrupt timing.\r
+ *\r
+ * *NOTE 1* If LED5 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 2* vApplicationSetupTimerInterrupt() is called by the kernel to let\r
+ * the application set up a timer to generate the tick interrupt. In this\r
+ * example a compare match timer is used for this purpose. \r
+ *\r
+ * *NOTE 3* The CPU must be in Supervisor mode when the scheduler is started.\r
* The PowerON_Reset_PC() supplied in resetprg.c with this demo has \r
* Change_PSW_PM_to_UserMode() commented out to ensure this is the case.\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
/* Hardware specific includes. */\r
#include "iodefine.h"\r
-#include "rskrx62ndef.h"\r
\r
/* Kernel includes. */\r
#include "FreeRTOS.h"\r
#include "flop.h"\r
\r
/* Values that are passed into the reg test tasks using the task parameter. The \r
-tasks then check that the values are passed in correctly. */\r
+tasks check that the values are passed in correctly. */\r
#define mainREG_TEST_1_PARAMETER ( 0x12121212UL )\r
#define mainREG_TEST_2_PARAMETER ( 0x12345678UL )\r
\r
#define mainCHECK_LED ( 5 )\r
\r
/* The rate at which mainCHECK_LED will toggle when all the tasks are running\r
-without error. */\r
+without error. Controlled by the check task as described at the top of this\r
+file. */\r
#define mainNO_ERROR_CYCLE_TIME ( 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. */\r
+by at least one task. Controlled by the check task as described at the top of \r
+this file. */\r
#define mainERROR_CYCLE_TIME ( 200 / portTICK_RATE_MS )\r
\r
-/* The period of the system clock in nano seconds. This is used to calculate\r
-the jitter time in nano seconds as part of the high frequency timer test. */\r
-#define mainNS_PER_CLOCK ( ( unsigned long ) ( ( 1.0 / ( double ) configPERIPHERAL_CLOCK_HZ ) * 1000000000.0 ) )\r
+/* The period of the peripheral clock in nano seconds. This is used to calculate\r
+the jitter time in nano seconds as part of the high frequency timer test. The\r
+clock driving the timer is divided by 8. */\r
+#define mainNS_PER_CLOCK ( ( unsigned long ) ( ( 1.0 / ( ( double ) configPERIPHERAL_CLOCK_HZ ) / 8.0 ) * 1000000000.0 ) )\r
\r
/*\r
* vApplicationMallocFailedHook() will only be called if\r
/*\r
* The reg test tasks as described at the top of this file.\r
*/\r
-void vRegTest1Task( void *pvParameters );\r
-void vRegTest2Task( void *pvParameters );\r
+static void prvRegTest1Task( void *pvParameters );\r
+static void prvRegTest2Task( void *pvParameters );\r
\r
/*\r
- * The actual implementatio of the reg test functionality, which, because of\r
+ * The actual implementation of the reg test functionality, which, because of\r
* the direct register access, have to be in assembly.\r
*/\r
static void prvRegTest1Implementation( void );\r
\r
/* Variables that are incremented on each iteration of the reg test tasks - \r
provided the tasks have not reported any errors. The check task inspects these\r
-variables to ensure they are still incrementing as expected. */\r
+variables to ensure they are still incrementing as expected. If a variable \r
+stops incrementing then it is likely that its associate task has stalled. */\r
unsigned long ulRegTest1CycleCount = 0UL, ulRegTest2CycleCount = 0UL;\r
\r
/*-----------------------------------------------------------*/\r
vParTestInitialise();\r
\r
/* Start the reg test tasks which test the context switching mechanism. */\r
- xTaskCreate( vRegTest1Task, "RegTst1", configMINIMAL_STACK_SIZE, ( void * ) mainREG_TEST_1_PARAMETER, tskIDLE_PRIORITY, NULL );\r
- xTaskCreate( vRegTest2Task, "RegTst2", configMINIMAL_STACK_SIZE, ( void * ) mainREG_TEST_2_PARAMETER, tskIDLE_PRIORITY, NULL );\r
+ xTaskCreate( prvRegTest1Task, "RegTst1", configMINIMAL_STACK_SIZE, ( void * ) mainREG_TEST_1_PARAMETER, tskIDLE_PRIORITY, NULL );\r
+ xTaskCreate( prvRegTest2Task, "RegTst2", configMINIMAL_STACK_SIZE, ( void * ) mainREG_TEST_2_PARAMETER, tskIDLE_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
portTickType xNextWakeTime, xCycleFrequency = mainNO_ERROR_CYCLE_TIME;\r
extern void vSetupHighFrequencyTimer( void );\r
extern volatile unsigned short usMaxJitter;\r
-static char cTempBuf[ 15 ]; /* To be deleted when debug console is working. */\r
volatile unsigned long ulActualJitter = 0;\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. */\r
- vSetupHighFrequencyTimer();\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. */\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
ulLastRegTest1CycleCount = ulRegTest1CycleCount;\r
ulLastRegTest2CycleCount = ulRegTest2CycleCount;\r
\r
- /* Toggle the check LED to give an indication of the system status. If the\r
- LED toggles every 5 seconds then everything is ok. A faster toggle indicates\r
- an error. */\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
\r
- /* Calculate the maximum jitter experienced by the high frequency timer test\r
- and print it out. It is ok to use printf without worrying about mutual \r
- exclusion as it is not used anywhere else in this demo. */\r
+ /* Calculate the maximum jitter experienced by the high frequency timer \r
+ test and print it out. It is ok to use printf without worrying about \r
+ mutual exclusion as it is not used anywhere else in this demo. */\r
//sprintf( cTempBuf, "%s [%fns]\n", "Max Jitter = ", ( ( float ) usMaxJitter ) * mainNS_PER_CLOCK );\r
ulActualJitter = ( ( unsigned long ) usMaxJitter ) * mainNS_PER_CLOCK;\r
}\r
}\r
/*-----------------------------------------------------------*/\r
\r
+/* The RX port uses this callback function to configure its tick interrupt. \r
+This allows the application to choose the tick interrupt source. */\r
void vApplicationSetupTimerInterrupt( void )\r
{\r
/* Enable compare match timer 0. */\r
}\r
/*-----------------------------------------------------------*/\r
\r
-void vRegTest1Task( void *pvParameters )\r
+/* This function is explained in the comments at the top of this file. */\r
+static void prvRegTest1Task( void *pvParameters )\r
{\r
if( ( ( unsigned long ) pvParameters ) != mainREG_TEST_1_PARAMETER )\r
{\r
}\r
/*-----------------------------------------------------------*/\r
\r
-void vRegTest2Task( void *pvParameters )\r
+/* This function is explained in the comments at the top of this file. */\r
+static void prvRegTest2Task( void *pvParameters )\r
{\r
if( ( ( unsigned long ) pvParameters ) != mainREG_TEST_2_PARAMETER )\r
{\r
}\r
/*-----------------------------------------------------------*/\r
\r
+/* This function is explained in the comments at the top of this file. */\r
#pragma inline_asm prvRegTest1Implementation\r
static void prvRegTest1Implementation( void )\r
{\r
}\r
/*-----------------------------------------------------------*/\r
\r
+/* This function is explained in the comments at the top of this file. */\r
#pragma inline_asm prvRegTest2Implementation\r
static void prvRegTest2Implementation( void )\r
{\r