\r
<cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">\r
<storageModule moduleId="org.eclipse.cdt.core.settings">\r
- <cconfiguration id="com.renesas.cdt.rxc.release.win32.configuration.Id.1672907423">\r
- <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.renesas.cdt.rxc.release.win32.configuration.Id.1672907423" moduleId="org.eclipse.cdt.core.settings" name="Release">\r
- <externalSettings/>\r
- <extensions>\r
- <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>\r
- <extension id="org.eclipse.cdt.core.PE" point="org.eclipse.cdt.core.BinaryParser"/>\r
- <extension id="com.renesas.cdt.core.KPITGCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
- <extension id="com.renesas.cdt.core.KPITVCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
- <extension id="com.renesas.cdt.core.KPITGASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
- <extension id="com.renesas.cdt.core.KPITMakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
- <extension id="com.renesas.cdt.core.KPITGLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
- <extension id="com.renesas.cdt.core.CCRXErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
- </extensions>\r
- </storageModule>\r
- <storageModule moduleId="cdtBuildSystem" version="4.0.0">\r
- <configuration artifactName="RX64MStartUp" buildArtefactType="com.renesas.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug,org.eclipse.cdt.build.core.buildArtefactType=com.renesas.cdt.build.core.buildArtefactType.exe" cleanCommand="rm -rf *.lst *.lis *.lpp *.map *.x *.lbp src/*.src src/*.p src/*.pp *.bls *.libelf *.lbk *.abs" description="Release - No Debug" errorParsers="com.renesas.cdt.core.KPITMakeErrorParser;com.renesas.cdt.core.KPITGCCErrorParser;com.renesas.cdt.core.KPITGASErrorParser;com.renesas.cdt.core.KPITGLDErrorParser;com.renesas.cdt.core.KPITVCErrorParser;com.renesas.cdt.core.CCRXErrorParser" id="com.renesas.cdt.rxc.release.win32.configuration.Id.1672907423" name="Release" parent="com.renesas.cdt.rxc.release.win32.configuration.Id">\r
- <folderInfo id="com.renesas.cdt.rxc.release.win32.configuration.Id.1672907423." name="/" resourcePath="">\r
- <toolChain id="com.renesas.cdt.rxc.release.win32.toolChain.Id.979371638" name="Renesas RXC Toolchain" superClass="com.renesas.cdt.rxc.release.win32.toolChain.Id">\r
- <targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF;org.eclipse.cdt.core.PE" id="com.renesas.cdt.rxc.release.win32.targetPlatform.IdId.326289097" osList="win32" superClass="com.renesas.cdt.rxc.release.win32.targetPlatform.IdId"/>\r
- <builder buildPath="${workspace_loc:/RX64MStartUp}/Release" id="com.renesas.cdt.rxc.release.win32.builder.Id.1780466888" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="SHC Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.renesas.cdt.rxc.release.win32.builder.Id"/>\r
- <tool id="com.renesas.cdt.rxc.release.win32.tool.compiler.Id.1494256709" name="Compiler" superClass="com.renesas.cdt.rxc.release.win32.tool.compiler.Id">\r
- <option id="com.renesas.cdt.renesas.Compiler.option.defines.535029115" name="Defines" superClass="com.renesas.cdt.renesas.Compiler.option.defines" valueType="definedSymbols">\r
- <listOptionValue builtIn="false" value="__RX"/>\r
- </option>\r
- <option id="com.renesas.cdt.rxc.Release.Compiler.option.cpuType.773963808" name="CPU type" superClass="com.renesas.cdt.rxc.Release.Compiler.option.cpuType" value="RX600" valueType="enumerated"/>\r
- <option id="com.renesas.cdt.rxc.Release.Compiler.option.endian.1825401874" name="Data Endian" superClass="com.renesas.cdt.rxc.Release.Compiler.option.endian" value="Little-endian data" valueType="enumerated"/>\r
- <option id="com.renesas.cdt.rxc.Release.Compiler.option.roundTo.897838305" name="Round to" superClass="com.renesas.cdt.rxc.Release.Compiler.option.roundTo" value="Nearest" valueType="enumerated"/>\r
- <option id="com.renesas.cdt.rxc.Release.Compiler.option.precisionDouble.540860970" name="Precision of double" superClass="com.renesas.cdt.rxc.Release.Compiler.option.precisionDouble" value="Single precision" valueType="enumerated"/>\r
- <option id="com.renesas.cdt.rxc.Release.Compiler.option.signChar.1383946864" name="Sign of char" superClass="com.renesas.cdt.rxc.Release.Compiler.option.signChar" value="unsigned" valueType="enumerated"/>\r
- <option id="com.renesas.cdt.rxc.Release.Compiler.option.signBitField.946035889" name="Sign of bit field" superClass="com.renesas.cdt.rxc.Release.Compiler.option.signBitField" value="unsigned" valueType="enumerated"/>\r
- <option id="com.renesas.cdt.rxc.Release.Compiler.option.allocLowerBit.3737301" name="Allocate from lower bit" superClass="com.renesas.cdt.rxc.Release.Compiler.option.allocLowerBit" value="Lower bit" valueType="enumerated"/>\r
- <option id="com.renesas.cdt.rxc.Release.Compiler.option.widthDivergence.1887628902" name="Width of divergence of function" superClass="com.renesas.cdt.rxc.Release.Compiler.option.widthDivergence" value="24 bit" valueType="enumerated"/>\r
- <option id="com.renesas.cdt.rxc.Release.Compiler.option.patchCode.1241305343" name="Patch code generation" superClass="com.renesas.cdt.rxc.Release.Compiler.option.patchCode" value="None" valueType="enumerated"/>\r
- <option id="com.renesas.cdt.rxc.Release.Compiler.option.registerFastInterrupt.968046492" name="Fast interrupt register" superClass="com.renesas.cdt.rxc.Release.Compiler.option.registerFastInterrupt" value="None" valueType="enumerated"/>\r
- <option id="com.renesas.cdt.rxc.Release.Compiler.option.ROM.1819672052" name="ROM" superClass="com.renesas.cdt.rxc.Release.Compiler.option.ROM" value="None" valueType="enumerated"/>\r
- <option id="com.renesas.cdt.rxc.Release.Compiler.option.RAM.2013992852" name="RAM" superClass="com.renesas.cdt.rxc.Release.Compiler.option.RAM" value="None" valueType="enumerated"/>\r
- <option id="com.renesas.cdt.rxc.Release.Compiler.option.addressRegister.759178237" name="Address Register" superClass="com.renesas.cdt.rxc.Release.Compiler.option.addressRegister" value="None" valueType="enumerated"/>\r
- <option id="com.renesas.cdt.renesas.Compiler.option.device.337119841" name="Device" superClass="com.renesas.cdt.renesas.Compiler.option.device" value="R5F564ML" valueType="string"/>\r
- <option id="com.renesas.cdt.renesas.Compiler.option.deviceShortName.561062042" name="DeviceShortName" superClass="com.renesas.cdt.renesas.Compiler.option.deviceShortName" value="R5F564MLDxFC" valueType="string"/>\r
- <option id="com.renesas.cdt.renesas.Compiler.option.incFileDirectories.417739342" name="Include file directories" superClass="com.renesas.cdt.renesas.Compiler.option.incFileDirectories" valueType="includePath">\r
- <listOptionValue builtIn="false" value=""${TCINSTALL}/include""/>\r
- </option>\r
- <option id="com.renesas.cdt.renesas.Compiler.option.CPUSeries.1432961866" name="Cpu Series" superClass="com.renesas.cdt.renesas.Compiler.option.CPUSeries" value="RX64M" valueType="string"/>\r
- <option id="com.renesas.cdt.renesas.Compiler.option.UserDef.1388700075" name="User-defined options" superClass="com.renesas.cdt.renesas.Compiler.option.UserDef" valueType="stringList">\r
- <listOptionValue builtIn="false" value="-nologo"/>\r
- <listOptionValue builtIn="false" value="-change_message=warning"/>\r
- </option>\r
- <option id="com.renesas.cdt.rxc.Release.Compiler.option.cpu.1320717512" name="CPU" superClass="com.renesas.cdt.rxc.Release.Compiler.option.cpu" value="RX64M" valueType="string"/>\r
- <inputType id="%Base.Compiler.Shc.C.Input.Id.129210005" name="C Input" superClass="%Base.Compiler.Shc.C.Input.Id"/>\r
- <inputType id="%Base.Compiler.Shc.C.Input1.Id.1021200129" name="C++ Input" superClass="%Base.Compiler.Shc.C.Input1.Id"/>\r
- </tool>\r
- <tool id="%com.renesas.cdt.rxc.release.win32.tool.assembler.Id.409101298" name="Assembler" superClass="%com.renesas.cdt.rxc.release.win32.tool.assembler.Id">\r
- <option id="com.renesas.cdt.rxc.Release.Assembler.option.endian.534674149" name="Data Endian" superClass="com.renesas.cdt.rxc.Release.Assembler.option.endian" value="Little-endian data" valueType="enumerated"/>\r
- <option id="com.renesas.cdt.rxc.Release.Assembler.option.address.852994699" name="Address" superClass="com.renesas.cdt.rxc.Release.Assembler.option.address" value="00000000" valueType="string"/>\r
- <option id="com.renesas.cdt.renesas.Assembler.option.userDefine.370665869" name="User-defined options" superClass="com.renesas.cdt.renesas.Assembler.option.userDefine" valueType="stringList">\r
- <listOptionValue builtIn="false" value="-nologo"/>\r
- <listOptionValue builtIn="false" value=""/>\r
- <listOptionValue builtIn="false" value=""/>\r
- </option>\r
- <inputType id="%Base.Assembler.shcInputType.Id.1346544456" name="Assembler InputType" superClass="%Base.Assembler.shcInputType.Id"/>\r
- </tool>\r
- <tool id="com.renesas.cdt.rxc.release.win32.tool.linker.Id.1020824477" name="Linker" superClass="com.renesas.cdt.rxc.release.win32.tool.linker.Id">\r
- <option id="com.renesas.cdt.renesas.Linker.option.rom.644591168" name="ROM to RAM mapped section" superClass="com.renesas.cdt.renesas.Linker.option.rom" valueType="stringList">\r
- <listOptionValue builtIn="false" value="D=R"/>\r
- <listOptionValue builtIn="false" value="D_1=R_1"/>\r
- <listOptionValue builtIn="false" value="D_2=R_2"/>\r
- </option>\r
- <option id="com.renesas.cdt.renesas.Linker.option.linkOrderList.1750231185" name="" superClass="com.renesas.cdt.renesas.Linker.option.linkOrderList" valueType="stringList">\r
- <listOptionValue builtIn="false" value="".\src\RX64MStartUp.obj""/>\r
- <listOptionValue builtIn="false" value="".\src\dbsct.obj""/>\r
- <listOptionValue builtIn="false" value="".\src\interrupt_handlers.obj""/>\r
- <listOptionValue builtIn="false" value="".\src\reset_program.obj""/>\r
- <listOptionValue builtIn="false" value="".\src\sbrk.obj""/>\r
- <listOptionValue builtIn="false" value="".\src\vector_table.obj""/>\r
- <listOptionValue builtIn="false" value="".\RX64MStartUp.lib""/>\r
- </option>\r
- <option id="com.renesas.cdt.renesas.Linker.option.typeOfOutputFileOption.5828690" name="Type of output file:" superClass="com.renesas.cdt.renesas.Linker.option.typeOfOutputFileOption" value="Stype via absolute" valueType="enumerated"/>\r
- </tool>\r
- <tool command="lbgrx" id="%com.renesas.cdt.rxc.release.win32.tool.libgen.Id.695800513" name="Standard Library" superClass="%com.renesas.cdt.rxc.release.win32.tool.libgen.Id">\r
- <option id="com.renesas.cdt.rxc.Release.StandardLibrary.option.endian.2085196719" name="Data Endian" superClass="com.renesas.cdt.rxc.Release.StandardLibrary.option.endian" value="Little-endian data" valueType="enumerated"/>\r
- <option id="com.renesas.cdt.rxc.Release.StandardLibrary.option.address.1396339506" name="Address" superClass="com.renesas.cdt.rxc.Release.StandardLibrary.option.address" value="00000000" valueType="string"/>\r
- <option id="com.renesas.cdt.renesas.StandardLibrary.option.libConfiguration.508834085" name="Library configuration" superClass="com.renesas.cdt.renesas.StandardLibrary.option.libConfiguration" value="C(C89)" valueType="enumerated"/>\r
- <option id="com.renesas.cdt.renesas.StandardLibrary.option.mathc89.1881776053" name="math.h (C89/C99): Mathematical/trigonometric operations (double-precision)" superClass="com.renesas.cdt.renesas.StandardLibrary.option.mathc89" value="false" valueType="boolean"/>\r
- <option id="com.renesas.cdt.renesas.StandardLibrary.option.stdioc89.1128197584" name="stdio.h (C89/C99): Input/Output" superClass="com.renesas.cdt.renesas.StandardLibrary.option.stdioc89" value="false" valueType="boolean"/>\r
- <option id="com.renesas.cdt.renesas.StandardLibrary.option.stdlibc89.284113515" name="stdlib.h (C89/C99): General purpose library features" superClass="com.renesas.cdt.renesas.StandardLibrary.option.stdlibc89" value="false" valueType="boolean"/>\r
- <option id="com.renesas.cdt.renesas.StandardLibrary.option.stringc89.245389191" name="string.h (C89/C99): String handling operations" superClass="com.renesas.cdt.renesas.StandardLibrary.option.stringc89" value="false" valueType="boolean"/>\r
- <option id="com.renesas.cdt.renesas.StandardLibrary.option.rxcnewCPP.1295998752" name="new (EC++): Memory allocation and deallocation routines" superClass="com.renesas.cdt.renesas.StandardLibrary.option.rxcnewCPP" value="false" valueType="boolean"/>\r
- <option id="com.renesas.cdt.renesas.StandardLibrary.option.mode.741613136" name="Mode" superClass="com.renesas.cdt.renesas.StandardLibrary.option.mode" value="com.renesas.cdt.renesas.StandardLibrary.option.buildOnlyWhenOptionsChanged" valueType="enumerated"/>\r
- </tool>\r
- <tool id="com.renesas.cdt.rxc.release.win32.tool.convertor.Id.2027596800" name="Converter" superClass="com.renesas.cdt.rxc.release.win32.tool.convertor.Id"/>\r
- </toolChain>\r
- </folderInfo>\r
- <sourceEntries>\r
- <entry excluding="src" flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name=""/>\r
- </sourceEntries>\r
- </configuration>\r
- </storageModule>\r
- <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>\r
- </cconfiguration>\r
<cconfiguration id="com.renesas.cdt.rxc.hardwaredebug.win32.configuration.Id.534038930">\r
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.renesas.cdt.rxc.hardwaredebug.win32.configuration.Id.534038930" moduleId="org.eclipse.cdt.core.settings" name="HardwareDebug">\r
<externalSettings/>\r
<option id="com.renesas.cdt.renesas.Compiler.option.deviceShortName.849913083" name="DeviceShortName" superClass="com.renesas.cdt.renesas.Compiler.option.deviceShortName" value="R5F564MLDxFC" valueType="string"/>\r
<option id="com.renesas.cdt.renesas.Compiler.option.incFileDirectories.92846512" name="Include file directories" superClass="com.renesas.cdt.renesas.Compiler.option.incFileDirectories" valueType="includePath">\r
<listOptionValue builtIn="false" value=""${TCINSTALL}/include""/>\r
+ <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/Source/Renesas_Code}""/>\r
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/Source/Common_Demo_Source/include}""/>\r
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/Source/FreeRTOS_Source/include}""/>\r
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/Source}""/>\r
<listOptionValue builtIn="false" value="".\RTOSDemo.lib""/>\r
</option>\r
<option id="com.renesas.cdt.renesas.Linker.option.typeOfOutputFileOption.2104356968" name="Type of output file:" superClass="com.renesas.cdt.renesas.Linker.option.typeOfOutputFileOption" value="Stype via absolute" valueType="enumerated"/>\r
- <option id="com.renesas.cdt.renesas.Linker.option.linkOrder.1520767120" name="%option.name.179" superClass="com.renesas.cdt.renesas.Linker.option.linkOrder"/>\r
+ <option id="com.renesas.cdt.renesas.Linker.option.linkOrder.1520767120" name="%option.name.179" superClass="com.renesas.cdt.renesas.Linker.option.linkOrder" valueType="stringList"/>\r
<option id="com.renesas.cdt.renesas.Linker.option.userDefined.1074366648" name="User-defined options" superClass="com.renesas.cdt.renesas.Linker.option.userDefined" valueType="stringList">\r
<listOptionValue builtIn="false" value="-nomessage"/>\r
<listOptionValue builtIn="false" value="-nologo"/>\r
VERSION=v2.01.00
TC_INSTALL=C:\Devtools\Renesas\RX\2_1_0\
VERSION_IDE=3.06.02.004
-E2STUDIO_VERSION=2.1.0.21
ACTIVE_CONFIGURATION=HardwareDebug
+E2STUDIO_VERSION=2.1.0.21
</linkedResources>\r
<filteredResources>\r
<filter>\r
- <id>1394031827230</id>\r
+ <id>1395248551327</id>\r
<name>Source/Common_Demo_Source/Minimal</name>\r
<type>6</type>\r
<matcher>\r
</matcher>\r
</filter>\r
<filter>\r
- <id>1394031827245</id>\r
+ <id>1395248551343</id>\r
<name>Source/Common_Demo_Source/Minimal</name>\r
<type>6</type>\r
<matcher>\r
</matcher>\r
</filter>\r
<filter>\r
- <id>1394031827261</id>\r
+ <id>1395248551358</id>\r
<name>Source/Common_Demo_Source/Minimal</name>\r
<type>6</type>\r
<matcher>\r
</matcher>\r
</filter>\r
<filter>\r
- <id>1394031827261</id>\r
- <name>Source/Common_Demo_Source/Minimal</name>\r
- <type>6</type>\r
- <matcher>\r
- <id>org.eclipse.ui.ide.multiFilter</id>\r
- <arguments>1.0-name-matches-false-false-IntQueue.c</arguments>\r
- </matcher>\r
- </filter>\r
- <filter>\r
- <id>1394031827276</id>\r
+ <id>1395248551374</id>\r
<name>Source/Common_Demo_Source/Minimal</name>\r
<type>6</type>\r
<matcher>\r
--- /dev/null
+/*\r
+ FreeRTOS V8.0.0 - Copyright (C) 2014 Real Time Engineers Ltd. \r
+ All rights reserved\r
+\r
+ VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.\r
+\r
+ ***************************************************************************\r
+ * *\r
+ * FreeRTOS provides completely free yet professionally developed, *\r
+ * robust, strictly quality controlled, supported, and cross *\r
+ * platform software that has become a de facto standard. *\r
+ * *\r
+ * Help yourself get started quickly and support the FreeRTOS *\r
+ * project by purchasing a FreeRTOS tutorial book, reference *\r
+ * manual, or both from: http://www.FreeRTOS.org/Documentation *\r
+ * *\r
+ * Thank you! *\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
+\r
+ >>! NOTE: The modification to the GPL is included to allow you to distribute\r
+ >>! a combined work that includes FreeRTOS without being obliged to provide\r
+ >>! the source code for proprietary components outside of the FreeRTOS\r
+ >>! kernel.\r
+\r
+ FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY\r
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS\r
+ FOR A PARTICULAR PURPOSE. Full license text is available from the following\r
+ link: http://www.freertos.org/a00114.html\r
+\r
+ 1 tab == 4 spaces!\r
+\r
+ ***************************************************************************\r
+ * *\r
+ * Having a problem? Start by reading the FAQ "My application does *\r
+ * not run, what could be wrong?" *\r
+ * *\r
+ * http://www.FreeRTOS.org/FAQHelp.html *\r
+ * *\r
+ ***************************************************************************\r
+\r
+ http://www.FreeRTOS.org - Documentation, books, training, latest versions,\r
+ license and Real Time Engineers Ltd. contact details.\r
+\r
+ http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,\r
+ including FreeRTOS+Trace - an indispensable productivity tool, a DOS\r
+ compatible FAT file system, and our tiny thread aware UDP/IP stack.\r
+\r
+ http://www.OpenRTOS.com - Real Time Engineers ltd license FreeRTOS to High\r
+ Integrity Systems to sell under the OpenRTOS brand. Low cost OpenRTOS\r
+ licenses offer ticketed support, indemnification and middleware.\r
+\r
+ http://www.SafeRTOS.com - High Integrity Systems also provide a safety\r
+ engineered and independently SIL3 certified version for use in safety and\r
+ mission critical applications that require provable dependability.\r
+\r
+ 1 tab == 4 spaces!\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
+\r
+/* Demo includes. */\r
+#include "IntQueueTimer.h"\r
+#include "IntQueue.h"\r
+\r
+/* Renesas includes. */\r
+#include "r_cg_macrodriver.h"\r
+\r
+#define tmrTIMER_0_1_FREQUENCY ( 2000UL )\r
+#define tmrTIMER_2_3_FREQUENCY ( 2001UL )\r
+\r
+void vInitialiseTimerForIntQueueTest( void )\r
+{\r
+#if 0\r
+ /* Ensure interrupts do not start until full configuration is complete. */\r
+ portENTER_CRITICAL();\r
+ {\r
+ /* Cascade two 8bit timer channels to generate the interrupts. \r
+ 8bit timer unit 1 (TMR0 and TMR1) and 8bit timer unit 2 (TMR2 and TMR3 are\r
+ utilised for this test. */\r
+\r
+ /* Enable the timers. */\r
+ SYSTEM.MSTPCRA.BIT.MSTPA5 = 0;\r
+ SYSTEM.MSTPCRA.BIT.MSTPA4 = 0;\r
+\r
+ /* Enable compare match A interrupt request. */\r
+ TMR0.TCR.BIT.CMIEA = 1;\r
+ TMR2.TCR.BIT.CMIEA = 1;\r
+\r
+ /* Clear the timer on compare match A. */\r
+ TMR0.TCR.BIT.CCLR = 1;\r
+ TMR2.TCR.BIT.CCLR = 1;\r
+\r
+ /* Set the compare match value. */\r
+ TMR01.TCORA = ( unsigned short ) ( ( ( configPERIPHERAL_CLOCK_HZ / tmrTIMER_0_1_FREQUENCY ) -1 ) / 8 );\r
+ TMR23.TCORA = ( unsigned short ) ( ( ( configPERIPHERAL_CLOCK_HZ / tmrTIMER_0_1_FREQUENCY ) -1 ) / 8 );\r
+\r
+ /* 16 bit operation ( count from timer 1,2 ). */\r
+ TMR0.TCCR.BIT.CSS = 3;\r
+ TMR2.TCCR.BIT.CSS = 3;\r
+ \r
+ /* Use PCLK as the input. */\r
+ TMR1.TCCR.BIT.CSS = 1;\r
+ TMR3.TCCR.BIT.CSS = 1;\r
+ \r
+ /* Divide PCLK by 8. */\r
+ TMR1.TCCR.BIT.CKS = 2;\r
+ TMR3.TCCR.BIT.CKS = 2;\r
+#warning Need to enable and configure interrupts here.\r
+ /* Enable TMR 0, 2 interrupts. */\r
+// IEN( TMR0, CMIA0 ) = 1;\r
+// IEN( TMR2, CMIA2 ) = 1;\r
+// CMT _IEN( _CMT0_CMI0 ) = 1;\r
+\r
+ /* ...and set its priority to the application defined kernel priority. */\r
+// CMT _IPR( _CMT0_CMI0 ) = configKERNEL_INTERRUPT_PRIORITY;\r
+\r
+\r
+\r
+ /* Set the timer interrupts to be above the kernel. The interrupts are\r
+ assigned different priorities so they nest with each other. */\r
+// IPR( TMR0, CMIA0 ) = configMAX_SYSCALL_INTERRUPT_PRIORITY - 1;\r
+// IPR( TMR2, CMIA2 ) = ( configMAX_SYSCALL_INTERRUPT_PRIORITY - 2 );\r
+ }\r
+ portEXIT_CRITICAL();\r
+ \r
+ /* Ensure the interrupts are clear as they are edge detected. */\r
+// IR( TMR0, CMIA0 ) = 0;\r
+// IR( TMR2, CMIA2 ) = 0;\r
+#endif\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
+//#pragma interrupt ( vT0_1InterruptHandler( vect = VECT_TMR0_CMIA0, enable ) )\r
+// CMT#pragma interrupt (vT0_1InterruptHandler( vect = _VECT( _CMT0_CMI0 ), enable ) )\r
+void vT0_1InterruptHandler( void )\r
+{\r
+ portYIELD_FROM_ISR( xFirstTimerHandler() );\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
+//#pragma interrupt ( vT2_3InterruptHandler( vect = VECT_TMR2_CMIA2, enable ) )\r
+void vT2_3InterruptHandler( void )\r
+{\r
+ portYIELD_FROM_ISR( xSecondTimerHandler() );\r
+}\r
+\r
+\r
+\r
+\r
--- /dev/null
+/*\r
+ FreeRTOS V8.0.0 - Copyright (C) 2014 Real Time Engineers Ltd. \r
+ All rights reserved\r
+\r
+ VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.\r
+\r
+ ***************************************************************************\r
+ * *\r
+ * FreeRTOS provides completely free yet professionally developed, *\r
+ * robust, strictly quality controlled, supported, and cross *\r
+ * platform software that has become a de facto standard. *\r
+ * *\r
+ * Help yourself get started quickly and support the FreeRTOS *\r
+ * project by purchasing a FreeRTOS tutorial book, reference *\r
+ * manual, or both from: http://www.FreeRTOS.org/Documentation *\r
+ * *\r
+ * Thank you! *\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
+\r
+ >>! NOTE: The modification to the GPL is included to allow you to distribute\r
+ >>! a combined work that includes FreeRTOS without being obliged to provide\r
+ >>! the source code for proprietary components outside of the FreeRTOS\r
+ >>! kernel.\r
+\r
+ FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY\r
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS\r
+ FOR A PARTICULAR PURPOSE. Full license text is available from the following\r
+ link: http://www.freertos.org/a00114.html\r
+\r
+ 1 tab == 4 spaces!\r
+\r
+ ***************************************************************************\r
+ * *\r
+ * Having a problem? Start by reading the FAQ "My application does *\r
+ * not run, what could be wrong?" *\r
+ * *\r
+ * http://www.FreeRTOS.org/FAQHelp.html *\r
+ * *\r
+ ***************************************************************************\r
+\r
+ http://www.FreeRTOS.org - Documentation, books, training, latest versions,\r
+ license and Real Time Engineers Ltd. contact details.\r
+\r
+ http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,\r
+ including FreeRTOS+Trace - an indispensable productivity tool, a DOS\r
+ compatible FAT file system, and our tiny thread aware UDP/IP stack.\r
+\r
+ http://www.OpenRTOS.com - Real Time Engineers ltd license FreeRTOS to High\r
+ Integrity Systems to sell under the OpenRTOS brand. Low cost OpenRTOS\r
+ licenses offer ticketed support, indemnification and middleware.\r
+\r
+ http://www.SafeRTOS.com - High Integrity Systems also provide a safety\r
+ engineered and independently SIL3 certified version for use in safety and\r
+ mission critical applications that require provable dependability.\r
+\r
+ 1 tab == 4 spaces!\r
+*/\r
+\r
+#ifndef INT_QUEUE_TIMER_H\r
+#define INT_QUEUE_TIMER_H\r
+\r
+void vInitialiseTimerForIntQueueTest( void );\r
+portBASE_TYPE xTimer0Handler( void );\r
+portBASE_TYPE xTimer1Handler( void );\r
+\r
+#endif\r
+\r
#include "partest.h"\r
\r
/* Hardware specifics. */\r
-//#include "iodefine.h"\r
+#include "rskrx64mdef.h"\r
\r
#define partestNUM_LEDS ( 4 )\r
\r
\r
void vParTestInitialise( void )\r
{\r
- /* Port pin configuration is done by the low level set up prior to this\r
- function being called. */\r
+ /* First set the data levels. */\r
+ LED0 = LED_OFF;\r
+ LED1 = LED_OFF;\r
+ LED2 = LED_OFF;\r
+ LED3 = LED_OFF;\r
+\r
+ /* Set port direction registers. */\r
+ LED0_PIN_DIR = OUTPUT_PIN;\r
+ LED1_PIN_DIR = OUTPUT_PIN;\r
+ LED2_PIN_DIR = OUTPUT_PIN;\r
+ LED3_PIN_DIR = OUTPUT_PIN;\r
}\r
/*-----------------------------------------------------------*/\r
\r
void vParTestSetLED( unsigned long ulLED, signed long xValue )\r
{\r
-#if 0\r
if( ulLED < partestNUM_LEDS )\r
{\r
if( xValue != 0 )\r
taskEXIT_CRITICAL();\r
}\r
}\r
-#endif\r
}\r
/*-----------------------------------------------------------*/\r
\r
void vParTestToggleLED( unsigned long ulLED )\r
{\r
-#if 0\r
if( ulLED < partestNUM_LEDS )\r
{\r
taskENTER_CRITICAL();\r
}\r
taskEXIT_CRITICAL();\r
}\r
-#endif\r
}\r
/*-----------------------------------------------------------*/\r
\r
long lParTestGetLEDState( unsigned long ulLED )\r
{\r
long lReturn = pdTRUE;\r
-#if 0\r
+\r
if( ulLED < partestNUM_LEDS )\r
{\r
switch( ulLED )\r
break;\r
}\r
}\r
-#endif\r
+\r
return lReturn;\r
}\r
/*-----------------------------------------------------------*/\r
--- /dev/null
+/*******************************************************************************\r
+* DISCLAIMER\r
+* This software is supplied by Renesas Electronics Corporation and is only \r
+* intended for use with Renesas products. No other uses are authorized. This \r
+* software is owned by Renesas Electronics Corporation and is protected under\r
+* all applicable laws, including copyright laws.\r
+* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING\r
+* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT\r
+* LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE \r
+* AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.\r
+* TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS \r
+* ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE \r
+* FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR\r
+* ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE\r
+* BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.\r
+* Renesas reserves the right, without notice, to make changes to this software\r
+* and to discontinue the availability of this software. By using this software,\r
+* you agree to the additional terms and conditions found by accessing the \r
+* following link:\r
+* http://www.renesas.com/disclaimer\r
+*******************************************************************************/\r
+/*******************************************************************************\r
+* Copyright (C) 2012 Renesas Electronics Corporation. All rights reserved. */\r
+/*******************************************************************************\r
+* File Name : rskrx64mdef.h\r
+* Version : 1.00\r
+* Device : R5F564ML\r
+* Tool-Chain : Renesas RX Standard 2.01.0\r
+* H/W Platform : RSK+RX64M\r
+* Description : Defines macros relating to the RX64M user LEDs and switches\r
+*******************************************************************************/\r
+/*******************************************************************************\r
+* History : 20 Mar. 2014 Ver. 0.00 Alpha Release\r
+*******************************************************************************/\r
+\r
+/*******************************************************************************\r
+* Macro Definitions\r
+*******************************************************************************/\r
+/* Multiple inclusion prevention macro */\r
+#ifndef RSKRX64MDEF_H\r
+#define RSKRX64MDEF_H\r
+\r
+/*******************************************************************************\r
+* User Includes (Project Level Includes)\r
+*******************************************************************************/\r
+/* Defines RX64M port registers */\r
+#include "r_cg_macrodriver.h"\r
+\r
+/* General Values */\r
+#define LED_ON (0)\r
+#define LED_OFF (1)\r
+#define SET_BIT_HIGH (1)\r
+#define SET_BIT_LOW (0)\r
+#define SET_BYTE_HIGH (0xFF)\r
+#define SET_BYTE_LOW (0x00)\r
+#define OUTPUT_PIN (1)\r
+#define INPUT_PIN (0)\r
+\r
+/* Switch port pins data direction */\r
+#define SW1_PIN_DIR (PORT1.PDR.BIT.B5)\r
+#define SW2_PIN_DIR (PORT1.PDR.BIT.B2)\r
+#define SW3_PIN_DIR (PORT0.PDR.BIT.B7)\r
+\r
+/* Switches */\r
+#define SW1 (PORT1.PIDR.BIT.B5)\r
+#define SW2 (PORT1.PIDR.BIT.B2)\r
+#define SW3 (PORT0.PIDR.BIT.B7)\r
+\r
+/* LED data direction */\r
+#define LED0_PIN_DIR (PORT0.PDR.BIT.B3)\r
+#define LED1_PIN_DIR (PORT0.PDR.BIT.B5)\r
+#define LED2_PIN_DIR (PORT2.PDR.BIT.B6)\r
+#define LED3_PIN_DIR (PORT2.PDR.BIT.B7)\r
+\r
+/* LED ouptut pin settings */\r
+#define LED0 (PORT0.PODR.BIT.B3)\r
+#define LED1 (PORT0.PODR.BIT.B5)\r
+#define LED2 (PORT2.PODR.BIT.B6)\r
+#define LED3 (PORT2.PODR.BIT.B7)\r
+\r
+/* End of multiple inclusion prevention macro */\r
+#endif\r
\r
static void prvSetupHardware( void )\r
{\r
+ /* Set up the ports used by the LED outputs (the name ParTest is now\r
+ obsolete - it originally came from "parallel port test"). */\r
+ vParTestInitialise();\r
}\r
/*-----------------------------------------------------------*/\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
- * FreeRTOS+CLI command console. The command console is access through the\r
- * UART to USB connector on the ZC702 Zynq development board (marked J2). For\r
- * reasons of robustness testing the UART driver is deliberately written to be\r
- * inefficient and should not be used as a template for a production driver.\r
- * Type "help" to see a list of registered commands. The FreeRTOS+CLI license\r
- * is different to the FreeRTOS license, see http://www.FreeRTOS.org/cli for\r
- * license and usage details. The default baud rate is 115200.\r
- *\r
- * "Reg test" tasks - These fill both the core and floating point registers with\r
- * known values, then check that each register maintains its expected value for\r
- * the lifetime of the task. Each task uses a different set of values. The reg\r
- * test tasks execute with a 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.\r
+ * "Reg test" tasks - These fill the core registers with known values, then\r
+ * check that each register maintains its expected value for the lifetime of the\r
+ * task. Each task uses a different set of values. The reg test tasks execute\r
+ * with a very low priority, so get preempted very frequently. A register\r
+ * containing an unexpected value is indicative of an error in the context\r
+ * switching mechanism.\r
*\r
* "Check" task - The check task period is initially set to three seconds. The\r
* task checks that all the standard demo tasks, and the register check tasks,\r
#include "QueueOverwrite.h"\r
#include "IntQueue.h"\r
#include "EventGroupsDemo.h"\r
+#include "flash.h"\r
\r
/* Priorities for the demo application tasks. */\r
#define mainSEM_TEST_PRIORITY ( tskIDLE_PRIORITY + 1UL )\r
#define mainCOM_TEST_TASK_PRIORITY ( tskIDLE_PRIORITY + 2 )\r
#define mainCHECK_TASK_PRIORITY ( configMAX_PRIORITIES - 1 )\r
#define mainQUEUE_OVERWRITE_PRIORITY ( tskIDLE_PRIORITY )\r
+#define mainFLASH_PRIORITY ( tskIDLE_PRIORITY )\r
\r
/* The priority used by the UART command console task. */\r
#define mainUART_COMMAND_CONSOLE_TASK_PRIORITY ( configMAX_PRIORITIES - 2 )\r
\r
/* The LED used by the check timer. */\r
-#define mainCHECK_LED ( 0 )\r
+#define mainCHECK_LED ( 3 )\r
\r
/* A block time of zero simply means "don't block". */\r
#define mainDONT_BLOCK ( 0UL )\r
/* Start all the other standard demo/test tasks. They have not particular\r
functionality, but do demonstrate how to use the FreeRTOS API and test the\r
kernel port. */\r
-// vStartInterruptQueueTasks();\r
+ vStartInterruptQueueTasks();\r
vStartDynamicPriorityTasks();\r
vStartBlockingQueueTasks( mainBLOCK_Q_PRIORITY );\r
vCreateBlockTimeTasks();\r
vStartTimerDemoTask( mainTIMER_TEST_PERIOD );\r
vStartQueueOverwriteTask( mainQUEUE_OVERWRITE_PRIORITY );\r
vStartEventGroupTasks();\r
-\r
- /* Start the tasks that implements the command console on the UART, as\r
- described above. */\r
-// vUARTCommandConsoleStart( mainUART_COMMAND_CONSOLE_STACK_SIZE, mainUART_COMMAND_CONSOLE_TASK_PRIORITY );\r
-\r
- /* Register the standard CLI commands. */\r
-// vRegisterSampleCLICommands();\r
+ vStartLEDFlashTasks( mainFLASH_PRIORITY );\r
\r
/* Create the register check tasks, as described at the top of this file */\r
xTaskCreate( prvRegTestTaskEntry1, "Reg1", configMINIMAL_STACK_SIZE, mainREG_TEST_TASK_1_PARAMETER, tskIDLE_PRIORITY, NULL );\r