Add RSK definition and LED flash tasks into RX64M demo.

pull/1/head
Richard Barry 11 years ago
parent 29a08b5e24
commit 42cbd6a778

@ -3,105 +3,6 @@
<cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage"> <cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
<storageModule moduleId="org.eclipse.cdt.core.settings"> <storageModule moduleId="org.eclipse.cdt.core.settings">
<cconfiguration id="com.renesas.cdt.rxc.release.win32.configuration.Id.1672907423">
<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">
<externalSettings/>
<extensions>
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
<extension id="org.eclipse.cdt.core.PE" point="org.eclipse.cdt.core.BinaryParser"/>
<extension id="com.renesas.cdt.core.KPITGCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="com.renesas.cdt.core.KPITVCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="com.renesas.cdt.core.KPITGASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="com.renesas.cdt.core.KPITMakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="com.renesas.cdt.core.KPITGLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="com.renesas.cdt.core.CCRXErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
</extensions>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<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">
<folderInfo id="com.renesas.cdt.rxc.release.win32.configuration.Id.1672907423." name="/" resourcePath="">
<toolChain id="com.renesas.cdt.rxc.release.win32.toolChain.Id.979371638" name="Renesas RXC Toolchain" superClass="com.renesas.cdt.rxc.release.win32.toolChain.Id">
<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"/>
<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"/>
<tool id="com.renesas.cdt.rxc.release.win32.tool.compiler.Id.1494256709" name="Compiler" superClass="com.renesas.cdt.rxc.release.win32.tool.compiler.Id">
<option id="com.renesas.cdt.renesas.Compiler.option.defines.535029115" name="Defines" superClass="com.renesas.cdt.renesas.Compiler.option.defines" valueType="definedSymbols">
<listOptionValue builtIn="false" value="__RX"/>
</option>
<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"/>
<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"/>
<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"/>
<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"/>
<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"/>
<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"/>
<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"/>
<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"/>
<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"/>
<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"/>
<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"/>
<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"/>
<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"/>
<option id="com.renesas.cdt.renesas.Compiler.option.device.337119841" name="Device" superClass="com.renesas.cdt.renesas.Compiler.option.device" value="R5F564ML" valueType="string"/>
<option id="com.renesas.cdt.renesas.Compiler.option.deviceShortName.561062042" name="DeviceShortName" superClass="com.renesas.cdt.renesas.Compiler.option.deviceShortName" value="R5F564MLDxFC" valueType="string"/>
<option id="com.renesas.cdt.renesas.Compiler.option.incFileDirectories.417739342" name="Include file directories" superClass="com.renesas.cdt.renesas.Compiler.option.incFileDirectories" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${TCINSTALL}/include&quot;"/>
</option>
<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"/>
<option id="com.renesas.cdt.renesas.Compiler.option.UserDef.1388700075" name="User-defined options" superClass="com.renesas.cdt.renesas.Compiler.option.UserDef" valueType="stringList">
<listOptionValue builtIn="false" value="-nologo"/>
<listOptionValue builtIn="false" value="-change_message=warning"/>
</option>
<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"/>
<inputType id="%Base.Compiler.Shc.C.Input.Id.129210005" name="C Input" superClass="%Base.Compiler.Shc.C.Input.Id"/>
<inputType id="%Base.Compiler.Shc.C.Input1.Id.1021200129" name="C++ Input" superClass="%Base.Compiler.Shc.C.Input1.Id"/>
</tool>
<tool id="%com.renesas.cdt.rxc.release.win32.tool.assembler.Id.409101298" name="Assembler" superClass="%com.renesas.cdt.rxc.release.win32.tool.assembler.Id">
<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"/>
<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"/>
<option id="com.renesas.cdt.renesas.Assembler.option.userDefine.370665869" name="User-defined options" superClass="com.renesas.cdt.renesas.Assembler.option.userDefine" valueType="stringList">
<listOptionValue builtIn="false" value="-nologo"/>
<listOptionValue builtIn="false" value=""/>
<listOptionValue builtIn="false" value=""/>
</option>
<inputType id="%Base.Assembler.shcInputType.Id.1346544456" name="Assembler InputType" superClass="%Base.Assembler.shcInputType.Id"/>
</tool>
<tool id="com.renesas.cdt.rxc.release.win32.tool.linker.Id.1020824477" name="Linker" superClass="com.renesas.cdt.rxc.release.win32.tool.linker.Id">
<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">
<listOptionValue builtIn="false" value="D=R"/>
<listOptionValue builtIn="false" value="D_1=R_1"/>
<listOptionValue builtIn="false" value="D_2=R_2"/>
</option>
<option id="com.renesas.cdt.renesas.Linker.option.linkOrderList.1750231185" name="" superClass="com.renesas.cdt.renesas.Linker.option.linkOrderList" valueType="stringList">
<listOptionValue builtIn="false" value="&quot;.\src\RX64MStartUp.obj&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src\dbsct.obj&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src\interrupt_handlers.obj&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src\reset_program.obj&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src\sbrk.obj&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src\vector_table.obj&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\RX64MStartUp.lib&quot;"/>
</option>
<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"/>
</tool>
<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">
<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"/>
<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"/>
<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"/>
<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"/>
<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"/>
<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"/>
<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"/>
<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"/>
<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"/>
</tool>
<tool id="com.renesas.cdt.rxc.release.win32.tool.convertor.Id.2027596800" name="Converter" superClass="com.renesas.cdt.rxc.release.win32.tool.convertor.Id"/>
</toolChain>
</folderInfo>
<sourceEntries>
<entry excluding="src" flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name=""/>
</sourceEntries>
</configuration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
</cconfiguration>
<cconfiguration id="com.renesas.cdt.rxc.hardwaredebug.win32.configuration.Id.534038930"> <cconfiguration id="com.renesas.cdt.rxc.hardwaredebug.win32.configuration.Id.534038930">
<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"> <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">
<externalSettings/> <externalSettings/>
@ -143,6 +44,7 @@
<option id="com.renesas.cdt.renesas.Compiler.option.deviceShortName.849913083" name="DeviceShortName" superClass="com.renesas.cdt.renesas.Compiler.option.deviceShortName" value="R5F564MLDxFC" valueType="string"/> <option id="com.renesas.cdt.renesas.Compiler.option.deviceShortName.849913083" name="DeviceShortName" superClass="com.renesas.cdt.renesas.Compiler.option.deviceShortName" value="R5F564MLDxFC" valueType="string"/>
<option id="com.renesas.cdt.renesas.Compiler.option.incFileDirectories.92846512" name="Include file directories" superClass="com.renesas.cdt.renesas.Compiler.option.incFileDirectories" valueType="includePath"> <option id="com.renesas.cdt.renesas.Compiler.option.incFileDirectories.92846512" name="Include file directories" superClass="com.renesas.cdt.renesas.Compiler.option.incFileDirectories" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${TCINSTALL}/include&quot;"/> <listOptionValue builtIn="false" value="&quot;${TCINSTALL}/include&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/Source/Renesas_Code}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/Source/Common_Demo_Source/include}&quot;"/> <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/Source/Common_Demo_Source/include}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/Source/FreeRTOS_Source/include}&quot;"/> <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/Source/FreeRTOS_Source/include}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/Source}&quot;"/> <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/Source}&quot;"/>
@ -198,7 +100,7 @@
<listOptionValue builtIn="false" value="&quot;.\RTOSDemo.lib&quot;"/> <listOptionValue builtIn="false" value="&quot;.\RTOSDemo.lib&quot;"/>
</option> </option>
<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"/> <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"/>
<option id="com.renesas.cdt.renesas.Linker.option.linkOrder.1520767120" name="%option.name.179" superClass="com.renesas.cdt.renesas.Linker.option.linkOrder"/> <option id="com.renesas.cdt.renesas.Linker.option.linkOrder.1520767120" name="%option.name.179" superClass="com.renesas.cdt.renesas.Linker.option.linkOrder" valueType="stringList"/>
<option id="com.renesas.cdt.renesas.Linker.option.userDefined.1074366648" name="User-defined options" superClass="com.renesas.cdt.renesas.Linker.option.userDefined" valueType="stringList"> <option id="com.renesas.cdt.renesas.Linker.option.userDefined.1074366648" name="User-defined options" superClass="com.renesas.cdt.renesas.Linker.option.userDefined" valueType="stringList">
<listOptionValue builtIn="false" value="-nomessage"/> <listOptionValue builtIn="false" value="-nomessage"/>
<listOptionValue builtIn="false" value="-nologo"/> <listOptionValue builtIn="false" value="-nologo"/>

@ -2,5 +2,5 @@ TOOL_CHAIN=Renesas RXC Toolchain
VERSION=v2.01.00 VERSION=v2.01.00
TC_INSTALL=C:\Devtools\Renesas\RX\2_1_0\ TC_INSTALL=C:\Devtools\Renesas\RX\2_1_0\
VERSION_IDE=3.06.02.004 VERSION_IDE=3.06.02.004
E2STUDIO_VERSION=2.1.0.21
ACTIVE_CONFIGURATION=HardwareDebug ACTIVE_CONFIGURATION=HardwareDebug
E2STUDIO_VERSION=2.1.0.21

@ -83,7 +83,7 @@
</linkedResources> </linkedResources>
<filteredResources> <filteredResources>
<filter> <filter>
<id>1394031827230</id> <id>1395248551327</id>
<name>Source/Common_Demo_Source/Minimal</name> <name>Source/Common_Demo_Source/Minimal</name>
<type>6</type> <type>6</type>
<matcher> <matcher>
@ -92,7 +92,7 @@
</matcher> </matcher>
</filter> </filter>
<filter> <filter>
<id>1394031827245</id> <id>1395248551343</id>
<name>Source/Common_Demo_Source/Minimal</name> <name>Source/Common_Demo_Source/Minimal</name>
<type>6</type> <type>6</type>
<matcher> <matcher>
@ -101,7 +101,7 @@
</matcher> </matcher>
</filter> </filter>
<filter> <filter>
<id>1394031827261</id> <id>1395248551358</id>
<name>Source/Common_Demo_Source/Minimal</name> <name>Source/Common_Demo_Source/Minimal</name>
<type>6</type> <type>6</type>
<matcher> <matcher>
@ -110,16 +110,7 @@
</matcher> </matcher>
</filter> </filter>
<filter> <filter>
<id>1394031827261</id> <id>1395248551374</id>
<name>Source/Common_Demo_Source/Minimal</name>
<type>6</type>
<matcher>
<id>org.eclipse.ui.ide.multiFilter</id>
<arguments>1.0-name-matches-false-false-IntQueue.c</arguments>
</matcher>
</filter>
<filter>
<id>1394031827276</id>
<name>Source/Common_Demo_Source/Minimal</name> <name>Source/Common_Demo_Source/Minimal</name>
<type>6</type> <type>6</type>
<matcher> <matcher>

@ -0,0 +1,164 @@
/*
FreeRTOS V8.0.0 - Copyright (C) 2014 Real Time Engineers Ltd.
All rights reserved
VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
***************************************************************************
* *
* FreeRTOS provides completely free yet professionally developed, *
* robust, strictly quality controlled, supported, and cross *
* platform software that has become a de facto standard. *
* *
* Help yourself get started quickly and support the FreeRTOS *
* project by purchasing a FreeRTOS tutorial book, reference *
* manual, or both from: http://www.FreeRTOS.org/Documentation *
* *
* Thank you! *
* *
***************************************************************************
This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation >>!AND MODIFIED BY!<< the FreeRTOS exception.
>>! NOTE: The modification to the GPL is included to allow you to distribute
>>! a combined work that includes FreeRTOS without being obliged to provide
>>! the source code for proprietary components outside of the FreeRTOS
>>! kernel.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. Full license text is available from the following
link: http://www.freertos.org/a00114.html
1 tab == 4 spaces!
***************************************************************************
* *
* Having a problem? Start by reading the FAQ "My application does *
* not run, what could be wrong?" *
* *
* http://www.FreeRTOS.org/FAQHelp.html *
* *
***************************************************************************
http://www.FreeRTOS.org - Documentation, books, training, latest versions,
license and Real Time Engineers Ltd. contact details.
http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
including FreeRTOS+Trace - an indispensable productivity tool, a DOS
compatible FAT file system, and our tiny thread aware UDP/IP stack.
http://www.OpenRTOS.com - Real Time Engineers ltd license FreeRTOS to High
Integrity Systems to sell under the OpenRTOS brand. Low cost OpenRTOS
licenses offer ticketed support, indemnification and middleware.
http://www.SafeRTOS.com - High Integrity Systems also provide a safety
engineered and independently SIL3 certified version for use in safety and
mission critical applications that require provable dependability.
1 tab == 4 spaces!
*/
/*
* This file contains the non-portable and therefore RX62N specific parts of
* the IntQueue standard demo task - namely the configuration of the timers
* that generate the interrupts and the interrupt entry points.
*/
/* Scheduler includes. */
#include "FreeRTOS.h"
#include "task.h"
/* Demo includes. */
#include "IntQueueTimer.h"
#include "IntQueue.h"
/* Renesas includes. */
#include "r_cg_macrodriver.h"
#define tmrTIMER_0_1_FREQUENCY ( 2000UL )
#define tmrTIMER_2_3_FREQUENCY ( 2001UL )
void vInitialiseTimerForIntQueueTest( void )
{
#if 0
/* Ensure interrupts do not start until full configuration is complete. */
portENTER_CRITICAL();
{
/* Cascade two 8bit timer channels to generate the interrupts.
8bit timer unit 1 (TMR0 and TMR1) and 8bit timer unit 2 (TMR2 and TMR3 are
utilised for this test. */
/* Enable the timers. */
SYSTEM.MSTPCRA.BIT.MSTPA5 = 0;
SYSTEM.MSTPCRA.BIT.MSTPA4 = 0;
/* Enable compare match A interrupt request. */
TMR0.TCR.BIT.CMIEA = 1;
TMR2.TCR.BIT.CMIEA = 1;
/* Clear the timer on compare match A. */
TMR0.TCR.BIT.CCLR = 1;
TMR2.TCR.BIT.CCLR = 1;
/* Set the compare match value. */
TMR01.TCORA = ( unsigned short ) ( ( ( configPERIPHERAL_CLOCK_HZ / tmrTIMER_0_1_FREQUENCY ) -1 ) / 8 );
TMR23.TCORA = ( unsigned short ) ( ( ( configPERIPHERAL_CLOCK_HZ / tmrTIMER_0_1_FREQUENCY ) -1 ) / 8 );
/* 16 bit operation ( count from timer 1,2 ). */
TMR0.TCCR.BIT.CSS = 3;
TMR2.TCCR.BIT.CSS = 3;
/* Use PCLK as the input. */
TMR1.TCCR.BIT.CSS = 1;
TMR3.TCCR.BIT.CSS = 1;
/* Divide PCLK by 8. */
TMR1.TCCR.BIT.CKS = 2;
TMR3.TCCR.BIT.CKS = 2;
#warning Need to enable and configure interrupts here.
/* Enable TMR 0, 2 interrupts. */
// IEN( TMR0, CMIA0 ) = 1;
// IEN( TMR2, CMIA2 ) = 1;
// CMT _IEN( _CMT0_CMI0 ) = 1;
/* ...and set its priority to the application defined kernel priority. */
// CMT _IPR( _CMT0_CMI0 ) = configKERNEL_INTERRUPT_PRIORITY;
/* Set the timer interrupts to be above the kernel. The interrupts are
assigned different priorities so they nest with each other. */
// IPR( TMR0, CMIA0 ) = configMAX_SYSCALL_INTERRUPT_PRIORITY - 1;
// IPR( TMR2, CMIA2 ) = ( configMAX_SYSCALL_INTERRUPT_PRIORITY - 2 );
}
portEXIT_CRITICAL();
/* Ensure the interrupts are clear as they are edge detected. */
// IR( TMR0, CMIA0 ) = 0;
// IR( TMR2, CMIA2 ) = 0;
#endif
}
/*-----------------------------------------------------------*/
//#pragma interrupt ( vT0_1InterruptHandler( vect = VECT_TMR0_CMIA0, enable ) )
// CMT#pragma interrupt (vT0_1InterruptHandler( vect = _VECT( _CMT0_CMI0 ), enable ) )
void vT0_1InterruptHandler( void )
{
portYIELD_FROM_ISR( xFirstTimerHandler() );
}
/*-----------------------------------------------------------*/
//#pragma interrupt ( vT2_3InterruptHandler( vect = VECT_TMR2_CMIA2, enable ) )
void vT2_3InterruptHandler( void )
{
portYIELD_FROM_ISR( xSecondTimerHandler() );
}

@ -0,0 +1,74 @@
/*
FreeRTOS V8.0.0 - Copyright (C) 2014 Real Time Engineers Ltd.
All rights reserved
VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
***************************************************************************
* *
* FreeRTOS provides completely free yet professionally developed, *
* robust, strictly quality controlled, supported, and cross *
* platform software that has become a de facto standard. *
* *
* Help yourself get started quickly and support the FreeRTOS *
* project by purchasing a FreeRTOS tutorial book, reference *
* manual, or both from: http://www.FreeRTOS.org/Documentation *
* *
* Thank you! *
* *
***************************************************************************
This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation >>!AND MODIFIED BY!<< the FreeRTOS exception.
>>! NOTE: The modification to the GPL is included to allow you to distribute
>>! a combined work that includes FreeRTOS without being obliged to provide
>>! the source code for proprietary components outside of the FreeRTOS
>>! kernel.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. Full license text is available from the following
link: http://www.freertos.org/a00114.html
1 tab == 4 spaces!
***************************************************************************
* *
* Having a problem? Start by reading the FAQ "My application does *
* not run, what could be wrong?" *
* *
* http://www.FreeRTOS.org/FAQHelp.html *
* *
***************************************************************************
http://www.FreeRTOS.org - Documentation, books, training, latest versions,
license and Real Time Engineers Ltd. contact details.
http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
including FreeRTOS+Trace - an indispensable productivity tool, a DOS
compatible FAT file system, and our tiny thread aware UDP/IP stack.
http://www.OpenRTOS.com - Real Time Engineers ltd license FreeRTOS to High
Integrity Systems to sell under the OpenRTOS brand. Low cost OpenRTOS
licenses offer ticketed support, indemnification and middleware.
http://www.SafeRTOS.com - High Integrity Systems also provide a safety
engineered and independently SIL3 certified version for use in safety and
mission critical applications that require provable dependability.
1 tab == 4 spaces!
*/
#ifndef INT_QUEUE_TIMER_H
#define INT_QUEUE_TIMER_H
void vInitialiseTimerForIntQueueTest( void );
portBASE_TYPE xTimer0Handler( void );
portBASE_TYPE xTimer1Handler( void );
#endif

@ -75,7 +75,7 @@
#include "partest.h" #include "partest.h"
/* Hardware specifics. */ /* Hardware specifics. */
//#include "iodefine.h" #include "rskrx64mdef.h"
#define partestNUM_LEDS ( 4 ) #define partestNUM_LEDS ( 4 )
@ -85,14 +85,22 @@ long lParTestGetLEDState( unsigned long ulLED );
void vParTestInitialise( void ) void vParTestInitialise( void )
{ {
/* Port pin configuration is done by the low level set up prior to this /* First set the data levels. */
function being called. */ LED0 = LED_OFF;
LED1 = LED_OFF;
LED2 = LED_OFF;
LED3 = LED_OFF;
/* Set port direction registers. */
LED0_PIN_DIR = OUTPUT_PIN;
LED1_PIN_DIR = OUTPUT_PIN;
LED2_PIN_DIR = OUTPUT_PIN;
LED3_PIN_DIR = OUTPUT_PIN;
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
void vParTestSetLED( unsigned long ulLED, signed long xValue ) void vParTestSetLED( unsigned long ulLED, signed long xValue )
{ {
#if 0
if( ulLED < partestNUM_LEDS ) if( ulLED < partestNUM_LEDS )
{ {
if( xValue != 0 ) if( xValue != 0 )
@ -135,13 +143,11 @@ void vParTestSetLED( unsigned long ulLED, signed long xValue )
taskEXIT_CRITICAL(); taskEXIT_CRITICAL();
} }
} }
#endif
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
void vParTestToggleLED( unsigned long ulLED ) void vParTestToggleLED( unsigned long ulLED )
{ {
#if 0
if( ulLED < partestNUM_LEDS ) if( ulLED < partestNUM_LEDS )
{ {
taskENTER_CRITICAL(); taskENTER_CRITICAL();
@ -157,14 +163,13 @@ void vParTestToggleLED( unsigned long ulLED )
} }
taskEXIT_CRITICAL(); taskEXIT_CRITICAL();
} }
#endif
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
long lParTestGetLEDState( unsigned long ulLED ) long lParTestGetLEDState( unsigned long ulLED )
{ {
long lReturn = pdTRUE; long lReturn = pdTRUE;
#if 0
if( ulLED < partestNUM_LEDS ) if( ulLED < partestNUM_LEDS )
{ {
switch( ulLED ) switch( ulLED )
@ -191,7 +196,7 @@ long lReturn = pdTRUE;
break; break;
} }
} }
#endif
return lReturn; return lReturn;
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/

@ -0,0 +1,82 @@
/*******************************************************************************
* DISCLAIMER
* This software is supplied by Renesas Electronics Corporation and is only
* intended for use with Renesas products. No other uses are authorized. This
* software is owned by Renesas Electronics Corporation and is protected under
* all applicable laws, including copyright laws.
* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING
* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT
* LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE
* AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.
* TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS
* ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE
* FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR
* ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE
* BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
* Renesas reserves the right, without notice, to make changes to this software
* and to discontinue the availability of this software. By using this software,
* you agree to the additional terms and conditions found by accessing the
* following link:
* http://www.renesas.com/disclaimer
*******************************************************************************/
/*******************************************************************************
* Copyright (C) 2012 Renesas Electronics Corporation. All rights reserved. */
/*******************************************************************************
* File Name : rskrx64mdef.h
* Version : 1.00
* Device : R5F564ML
* Tool-Chain : Renesas RX Standard 2.01.0
* H/W Platform : RSK+RX64M
* Description : Defines macros relating to the RX64M user LEDs and switches
*******************************************************************************/
/*******************************************************************************
* History : 20 Mar. 2014 Ver. 0.00 Alpha Release
*******************************************************************************/
/*******************************************************************************
* Macro Definitions
*******************************************************************************/
/* Multiple inclusion prevention macro */
#ifndef RSKRX64MDEF_H
#define RSKRX64MDEF_H
/*******************************************************************************
* User Includes (Project Level Includes)
*******************************************************************************/
/* Defines RX64M port registers */
#include "r_cg_macrodriver.h"
/* General Values */
#define LED_ON (0)
#define LED_OFF (1)
#define SET_BIT_HIGH (1)
#define SET_BIT_LOW (0)
#define SET_BYTE_HIGH (0xFF)
#define SET_BYTE_LOW (0x00)
#define OUTPUT_PIN (1)
#define INPUT_PIN (0)
/* Switch port pins data direction */
#define SW1_PIN_DIR (PORT1.PDR.BIT.B5)
#define SW2_PIN_DIR (PORT1.PDR.BIT.B2)
#define SW3_PIN_DIR (PORT0.PDR.BIT.B7)
/* Switches */
#define SW1 (PORT1.PIDR.BIT.B5)
#define SW2 (PORT1.PIDR.BIT.B2)
#define SW3 (PORT0.PIDR.BIT.B7)
/* LED data direction */
#define LED0_PIN_DIR (PORT0.PDR.BIT.B3)
#define LED1_PIN_DIR (PORT0.PDR.BIT.B5)
#define LED2_PIN_DIR (PORT2.PDR.BIT.B6)
#define LED3_PIN_DIR (PORT2.PDR.BIT.B7)
/* LED ouptut pin settings */
#define LED0 (PORT0.PODR.BIT.B3)
#define LED1 (PORT0.PODR.BIT.B5)
#define LED2 (PORT2.PODR.BIT.B6)
#define LED3 (PORT2.PODR.BIT.B7)
/* End of multiple inclusion prevention macro */
#endif

@ -163,6 +163,9 @@ int main( void )
static void prvSetupHardware( void ) static void prvSetupHardware( void )
{ {
/* Set up the ports used by the LED outputs (the name ParTest is now
obsolete - it originally came from "parallel port test"). */
vParTestInitialise();
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/

@ -84,20 +84,12 @@
* In addition to the standard demo tasks, the following tasks and tests are * In addition to the standard demo tasks, the following tasks and tests are
* defined and/or created within this file: * defined and/or created within this file:
* *
* FreeRTOS+CLI command console. The command console is access through the * "Reg test" tasks - These fill the core registers with known values, then
* UART to USB connector on the ZC702 Zynq development board (marked J2). For * check that each register maintains its expected value for the lifetime of the
* reasons of robustness testing the UART driver is deliberately written to be * task. Each task uses a different set of values. The reg test tasks execute
* inefficient and should not be used as a template for a production driver. * with a very low priority, so get preempted very frequently. A register
* Type "help" to see a list of registered commands. The FreeRTOS+CLI license * containing an unexpected value is indicative of an error in the context
* is different to the FreeRTOS license, see http://www.FreeRTOS.org/cli for * switching mechanism.
* license and usage details. The default baud rate is 115200.
*
* "Reg test" tasks - These fill both the core and floating point registers with
* known values, then check that each register maintains its expected value for
* the lifetime of the task. Each task uses a different set of values. The reg
* test tasks execute with a very low priority, so get preempted very
* frequently. A register containing an unexpected value is indicative of an
* error in the context switching mechanism.
* *
* "Check" task - The check task period is initially set to three seconds. The * "Check" task - The check task period is initially set to three seconds. The
* task checks that all the standard demo tasks, and the register check tasks, * task checks that all the standard demo tasks, and the register check tasks,
@ -137,6 +129,7 @@
#include "QueueOverwrite.h" #include "QueueOverwrite.h"
#include "IntQueue.h" #include "IntQueue.h"
#include "EventGroupsDemo.h" #include "EventGroupsDemo.h"
#include "flash.h"
/* Priorities for the demo application tasks. */ /* Priorities for the demo application tasks. */
#define mainSEM_TEST_PRIORITY ( tskIDLE_PRIORITY + 1UL ) #define mainSEM_TEST_PRIORITY ( tskIDLE_PRIORITY + 1UL )
@ -147,12 +140,13 @@
#define mainCOM_TEST_TASK_PRIORITY ( tskIDLE_PRIORITY + 2 ) #define mainCOM_TEST_TASK_PRIORITY ( tskIDLE_PRIORITY + 2 )
#define mainCHECK_TASK_PRIORITY ( configMAX_PRIORITIES - 1 ) #define mainCHECK_TASK_PRIORITY ( configMAX_PRIORITIES - 1 )
#define mainQUEUE_OVERWRITE_PRIORITY ( tskIDLE_PRIORITY ) #define mainQUEUE_OVERWRITE_PRIORITY ( tskIDLE_PRIORITY )
#define mainFLASH_PRIORITY ( tskIDLE_PRIORITY )
/* The priority used by the UART command console task. */ /* The priority used by the UART command console task. */
#define mainUART_COMMAND_CONSOLE_TASK_PRIORITY ( configMAX_PRIORITIES - 2 ) #define mainUART_COMMAND_CONSOLE_TASK_PRIORITY ( configMAX_PRIORITIES - 2 )
/* The LED used by the check timer. */ /* The LED used by the check timer. */
#define mainCHECK_LED ( 0 ) #define mainCHECK_LED ( 3 )
/* A block time of zero simply means "don't block". */ /* A block time of zero simply means "don't block". */
#define mainDONT_BLOCK ( 0UL ) #define mainDONT_BLOCK ( 0UL )
@ -233,7 +227,7 @@ void main_full( void )
/* Start all the other standard demo/test tasks. They have not particular /* Start all the other standard demo/test tasks. They have not particular
functionality, but do demonstrate how to use the FreeRTOS API and test the functionality, but do demonstrate how to use the FreeRTOS API and test the
kernel port. */ kernel port. */
// vStartInterruptQueueTasks(); vStartInterruptQueueTasks();
vStartDynamicPriorityTasks(); vStartDynamicPriorityTasks();
vStartBlockingQueueTasks( mainBLOCK_Q_PRIORITY ); vStartBlockingQueueTasks( mainBLOCK_Q_PRIORITY );
vCreateBlockTimeTasks(); vCreateBlockTimeTasks();
@ -245,13 +239,7 @@ void main_full( void )
vStartTimerDemoTask( mainTIMER_TEST_PERIOD ); vStartTimerDemoTask( mainTIMER_TEST_PERIOD );
vStartQueueOverwriteTask( mainQUEUE_OVERWRITE_PRIORITY ); vStartQueueOverwriteTask( mainQUEUE_OVERWRITE_PRIORITY );
vStartEventGroupTasks(); vStartEventGroupTasks();
vStartLEDFlashTasks( mainFLASH_PRIORITY );
/* Start the tasks that implements the command console on the UART, as
described above. */
// vUARTCommandConsoleStart( mainUART_COMMAND_CONSOLE_STACK_SIZE, mainUART_COMMAND_CONSOLE_TASK_PRIORITY );
/* Register the standard CLI commands. */
// vRegisterSampleCLICommands();
/* Create the register check tasks, as described at the top of this file */ /* Create the register check tasks, as described at the top of this file */
xTaskCreate( prvRegTestTaskEntry1, "Reg1", configMINIMAL_STACK_SIZE, mainREG_TEST_TASK_1_PARAMETER, tskIDLE_PRIORITY, NULL ); xTaskCreate( prvRegTestTaskEntry1, "Reg1", configMINIMAL_STACK_SIZE, mainREG_TEST_TASK_1_PARAMETER, tskIDLE_PRIORITY, NULL );

Loading…
Cancel
Save