For RL78GCC port/demo:

- Added YRDKRL78G14 build configuration.
- Runs provided the dynamic priority tasks are not started.
- Does not run with the debugger connected.
This commit is contained in:
Richard Barry 2013-03-04 20:04:02 +00:00
parent fba04057ec
commit 08b959f143
10 changed files with 365 additions and 57 deletions

View file

@ -57,7 +57,9 @@
<option id="com.renesas.cdt.core.Compiler.option.warning13.1346187712" name="Issue Warning of bad sign comparisions(-Wsign-compare)" superClass="com.renesas.cdt.core.Compiler.option.warning13" value="true" valueType="boolean"/> <option id="com.renesas.cdt.core.Compiler.option.warning13.1346187712" name="Issue Warning of bad sign comparisions(-Wsign-compare)" superClass="com.renesas.cdt.core.Compiler.option.warning13" value="true" valueType="boolean"/>
<option id="com.renesas.cdt.rl78.HardwareDebug.Compiler.option.debugFormat.2111907264" name="Debug format" superClass="com.renesas.cdt.rl78.HardwareDebug.Compiler.option.debugFormat" value="com.renesas.cdt.rl78.HardwareDebug.Compiler.option.debugFormat.dwarf" valueType="enumerated"/> <option id="com.renesas.cdt.rl78.HardwareDebug.Compiler.option.debugFormat.2111907264" name="Debug format" superClass="com.renesas.cdt.rl78.HardwareDebug.Compiler.option.debugFormat" value="com.renesas.cdt.rl78.HardwareDebug.Compiler.option.debugFormat.dwarf" valueType="enumerated"/>
<option id="com.renesas.cdt.rl78.HardwareDebug.Compiler.option.optimizationLevel.474691448" name="Optimization level" superClass="com.renesas.cdt.rl78.HardwareDebug.Compiler.option.optimizationLevel" value="com.renesas.cdt.rl78.HardwareDebug.Compiler.option.optimizationLevel.none" valueType="enumerated"/> <option id="com.renesas.cdt.rl78.HardwareDebug.Compiler.option.optimizationLevel.474691448" name="Optimization level" superClass="com.renesas.cdt.rl78.HardwareDebug.Compiler.option.optimizationLevel" value="com.renesas.cdt.rl78.HardwareDebug.Compiler.option.optimizationLevel.none" valueType="enumerated"/>
<option id="com.renesas.cdt.rl78.HardwareDebug.Compiler.option.macroDefines.1975812623" name="Macro Defines" superClass="com.renesas.cdt.rl78.HardwareDebug.Compiler.option.macroDefines" valueType="stringList"/> <option id="com.renesas.cdt.rl78.HardwareDebug.Compiler.option.macroDefines.1975812623" name="Macro Defines" superClass="com.renesas.cdt.rl78.HardwareDebug.Compiler.option.macroDefines" valueType="stringList">
<listOptionValue builtIn="false" value="YRDKRL78G14"/>
</option>
<option id="com.renesas.cdt.core.Compiler.option.includeSymbolTable.1341454572" name="Include Symbol Table(s)" superClass="com.renesas.cdt.core.Compiler.option.includeSymbolTable" value="true" valueType="boolean"/> <option id="com.renesas.cdt.core.Compiler.option.includeSymbolTable.1341454572" name="Include Symbol Table(s)" superClass="com.renesas.cdt.core.Compiler.option.includeSymbolTable" value="true" valueType="boolean"/>
<inputType id="%Base.Compiler.C.InputType.Id.304532987" name="C Input" superClass="%Base.Compiler.C.InputType.Id"/> <inputType id="%Base.Compiler.C.InputType.Id.304532987" name="C Input" superClass="%Base.Compiler.C.InputType.Id"/>
</tool> </tool>
@ -207,6 +209,212 @@
<storageModule moduleId="org.eclipse.cdt.core.language.mapping"/> <storageModule moduleId="org.eclipse.cdt.core.language.mapping"/>
<storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/> <storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
</cconfiguration> </cconfiguration>
<cconfiguration id="com.renesas.cdt.RL78.configuration.hardwaredebug.1462655394.864201896">
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.renesas.cdt.RL78.configuration.hardwaredebug.1462655394.864201896" moduleId="org.eclipse.cdt.core.settings" name="YRDKRL78G14">
<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="org.eclipse.cdt.core.VCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
</extensions>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<configuration artifactExtension="mot" artifactName="RTOSDemo" 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" description="" id="com.renesas.cdt.RL78.configuration.hardwaredebug.1462655394.864201896" name="YRDKRL78G14" parent="com.renesas.cdt.RL78.configuration.hardwaredebug">
<folderInfo id="com.renesas.cdt.RL78.configuration.hardwaredebug.1462655394.864201896." name="/" resourcePath="">
<toolChain id="com.renesas.cdt.RL78.toolChain.hardwaredebugConf.2105647290" name="KPIT GNURL78-ELF Toolchain" superClass="com.renesas.cdt.RL78.toolChain.hardwaredebugConf">
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF;org.eclipse.cdt.core.PE" id="com.renesas.cdt.rl78.hardwaredebug.win32.targetPlatform.1977742921" osList="win32" superClass="com.renesas.cdt.rl78.hardwaredebug.win32.targetPlatform"/>
<builder buildPath="${workspace_loc:/RTOSDemo/HardwareDebug}" id="com.renesas.cdt.rl78.hardwaredebug.win32.builder.Id.291234065" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="GNU Make Builder" superClass="com.renesas.cdt.rl78.hardwaredebug.win32.builder.Id"/>
<tool command="rl78-elf-libgen" id="com.renesas.cdt.rl78.hardwaredebug.win32.tool.libgen.Id.915781966" name="Library Generator" superClass="com.renesas.cdt.rl78.hardwaredebug.win32.tool.libgen.Id">
<option id="com.renesas.cdt.core.LibraryGenerator.option.stdio.442763428" name="stdio.h : Performs input/oputput handling" superClass="com.renesas.cdt.core.LibraryGenerator.option.stdio" value="false" valueType="boolean"/>
<option id="com.renesas.cdt.core.LibraryGenerator.option.stdlib.73062971" name="stdlib.h : Performs C program statndard processing such as storage area management" superClass="com.renesas.cdt.core.LibraryGenerator.option.stdlib" value="true" valueType="boolean"/>
<option id="com.renesas.cdt.core.LibraryGenerator.option.string.1752787959" name="string.h : Performs string comparison, copying " superClass="com.renesas.cdt.core.LibraryGenerator.option.string" value="true" valueType="boolean"/>
<option id="com.renesas.cdt.core.LibraryGenerator.option.selectLibrary.1349163289" name="Select library" superClass="com.renesas.cdt.core.LibraryGenerator.option.selectLibrary" value="Optimized" valueType="enumerated"/>
<option id="com.renesas.cdt.core.LibraryGenerator.option.libraryType.1850153794" name="Library type" superClass="com.renesas.cdt.core.LibraryGenerator.option.libraryType" value="Project-Built" valueType="enumerated"/>
</tool>
<tool id="com.renesas.cdt.rl78.hardwaredebug.win32.tool.compiler.Id.1257527949" name="Compiler" superClass="com.renesas.cdt.rl78.hardwaredebug.win32.tool.compiler.Id">
<option id="com.renesas.cdt.rl78.HardwareDebug.Compiler.option.cpuType.190677938" name="CPU Type" superClass="com.renesas.cdt.rl78.HardwareDebug.Compiler.option.cpuType" value="com.renesas.cdt.rl78.HardwareDebug.Compiler.option.cpuType.g14" valueType="enumerated"/>
<option id="com.renesas.cdt.rl78.HardwareDebug.Compiler.option.mmul.1081397113" name="Multiplication code Generation Option" superClass="com.renesas.cdt.rl78.HardwareDebug.Compiler.option.mmul" value="None" valueType="enumerated"/>
<option id="com.renesas.cdt.core.Compiler.option.includeFileDir.18427768" name="Include file directories" superClass="com.renesas.cdt.core.Compiler.option.includeFileDir" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${TCINSTALL}\rl78-elf\optlibinc&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/Common-Demo-Tasks/include}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/FreeRTOS_Source/include}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/FreeRTOS_Source/portable/GCC/RL78}&quot;"/>
</option>
<option id="com.renesas.cdt.core.Compiler.option.CPUSeries.492092351" name="Cpu Series" superClass="com.renesas.cdt.core.Compiler.option.CPUSeries" value="R5F10JBC" valueType="string"/>
<option id="com.renesas.cdt.core.Compiler.option.warning14.1999001488" name="Print extra warning messages(-Wextra)" superClass="com.renesas.cdt.core.Compiler.option.warning14" value="true" valueType="boolean"/>
<option id="com.renesas.cdt.core.Compiler.option.stdWarnings.2033355479" name="Standard Warnings" superClass="com.renesas.cdt.core.Compiler.option.stdWarnings" value="com.renesas.cdt.core.Compiler.option.stdWarnings.enableAll" valueType="enumerated"/>
<option id="com.renesas.cdt.core.Compiler.option.warning1.1188153264" name="Issue Warning if an array subscript has type char(-Wchar-subscripts)" superClass="com.renesas.cdt.core.Compiler.option.warning1" value="true" valueType="boolean"/>
<option id="com.renesas.cdt.core.Compiler.option.warning2.1365724981" name="Issue Warning if comment appears within comment(-Wcomment)" superClass="com.renesas.cdt.core.Compiler.option.warning2" value="true" valueType="boolean"/>
<option id="com.renesas.cdt.core.Compiler.option.warning3.187071513" name="Issue Warning if string functions format is incorrect(-Wformat)" superClass="com.renesas.cdt.core.Compiler.option.warning3" value="true" valueType="boolean"/>
<option id="com.renesas.cdt.core.Compiler.option.warning4.167581461" name="Issue Warning if a function or parameter is implicitly declare(-Wimplicit)" superClass="com.renesas.cdt.core.Compiler.option.warning4" value="true" valueType="boolean"/>
<option id="com.renesas.cdt.core.Compiler.option.warning5.392920277" name="Disable Warning about the use of #import(-Wno-import)" superClass="com.renesas.cdt.core.Compiler.option.warning5" value="true" valueType="boolean"/>
<option id="com.renesas.cdt.core.Compiler.option.warning6.1735271693" name="Issue Warning if parantheses are omitted in certain contexts(-Wparentheses)" superClass="com.renesas.cdt.core.Compiler.option.warning6" value="true" valueType="boolean"/>
<option id="com.renesas.cdt.core.Compiler.option.warning7.1204889219" name="Issue Warning of possible return type problems(-Wreturn-type)" superClass="com.renesas.cdt.core.Compiler.option.warning7" value="true" valueType="boolean"/>
<option id="com.renesas.cdt.core.Compiler.option.warning8.1046413401" name="Issue Warning of possible switch statement problems(-Wswitch)" superClass="com.renesas.cdt.core.Compiler.option.warning8" value="true" valueType="boolean"/>
<option id="com.renesas.cdt.core.Compiler.option.warning9.150999274" name="Issue Warning if any trigraphs are encountered(-Wtrigraphs)" superClass="com.renesas.cdt.core.Compiler.option.warning9" value="true" valueType="boolean"/>
<option id="com.renesas.cdt.core.Compiler.option.warning10.215714668" name="Issue Warning if a variable is unused aside from its declaration(-Wunused)" superClass="com.renesas.cdt.core.Compiler.option.warning10" value="true" valueType="boolean"/>
<option id="com.renesas.cdt.core.Compiler.option.warning11.44335597" name="Issue Warning if an uninitialised automatic variable is used(-Wuninitialized)" superClass="com.renesas.cdt.core.Compiler.option.warning11" value="true" valueType="boolean"/>
<option id="com.renesas.cdt.core.Compiler.option.warning12.1212638254" name="Issue Warning of member intialisation mismatch(-Wreorder)" superClass="com.renesas.cdt.core.Compiler.option.warning12" value="true" valueType="boolean"/>
<option id="com.renesas.cdt.core.Compiler.option.warning13.1936980483" name="Issue Warning of bad sign comparisions(-Wsign-compare)" superClass="com.renesas.cdt.core.Compiler.option.warning13" value="true" valueType="boolean"/>
<option id="com.renesas.cdt.rl78.HardwareDebug.Compiler.option.debugFormat.1002084348" name="Debug format" superClass="com.renesas.cdt.rl78.HardwareDebug.Compiler.option.debugFormat" value="com.renesas.cdt.rl78.HardwareDebug.Compiler.option.debugFormat.dwarf" valueType="enumerated"/>
<option id="com.renesas.cdt.rl78.HardwareDebug.Compiler.option.optimizationLevel.1876718114" name="Optimization level" superClass="com.renesas.cdt.rl78.HardwareDebug.Compiler.option.optimizationLevel" value="com.renesas.cdt.rl78.HardwareDebug.Compiler.option.optimizationLevel.none" valueType="enumerated"/>
<option id="com.renesas.cdt.rl78.HardwareDebug.Compiler.option.macroDefines.1159637418" name="Macro Defines" superClass="com.renesas.cdt.rl78.HardwareDebug.Compiler.option.macroDefines" valueType="stringList">
<listOptionValue builtIn="false" value="YRDKRL78G14"/>
</option>
<option id="com.renesas.cdt.core.Compiler.option.includeSymbolTable.318290481" name="Include Symbol Table(s)" superClass="com.renesas.cdt.core.Compiler.option.includeSymbolTable" value="true" valueType="boolean"/>
<inputType id="%Base.Compiler.C.InputType.Id.1290374987" name="C Input" superClass="%Base.Compiler.C.InputType.Id"/>
</tool>
<tool id="com.renesas.cdt.rl78.hardwaredebug.win32.tool.assembler.Id.1164252651" name="Assembler" superClass="com.renesas.cdt.rl78.hardwaredebug.win32.tool.assembler.Id">
<option id="com.renesas.cdt.core.Assembler.option.includeFileDirectories.611081498" name="Include file directories" superClass="com.renesas.cdt.core.Assembler.option.includeFileDirectories" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}\src&quot;"/>
</option>
<option id="com.renesas.cdt.core.Assembler.option.includeSymbolTable.2099981296" name="Include Symbol Table(-as)" superClass="com.renesas.cdt.core.Assembler.option.includeSymbolTable" value="true" valueType="boolean"/>
<inputType id="%Base.Assembler.inputType.Id.1153908375" name="Assembler InputType" superClass="%Base.Assembler.inputType.Id"/>
</tool>
<tool command="rl78-elf-ld" commandLinePattern="${COMMAND} ${OUTPUT_FLAG}${OUTPUT_PREFIX} ${OUTPUT}${INPUTS} ${FLAGS}" id="com.renesas.cdt.rl78.hardwaredebug.win32.tool.linker.Id.1989122310" name="Linker" superClass="com.renesas.cdt.rl78.hardwaredebug.win32.tool.linker.Id">
<option id="com.renesas.cdt.rl78.HardwareDebug.Linker.option.archiveSearchDirectories.984802356" name="Archive search directories" superClass="com.renesas.cdt.rl78.HardwareDebug.Linker.option.archiveSearchDirectories" valueType="stringList">
<listOptionValue builtIn="false" value="&quot;${CONFIGDIR}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${TCINSTALL}\lib\gcc\rl78-elf\\${GCC_VERSION}&quot;"/>
</option>
<option id="com.renesas.cdt.rl78.HardwareDebug.Linker.option.archiveLibraryFiles.1052424957" name="Archive (library) files" superClass="com.renesas.cdt.rl78.HardwareDebug.Linker.option.archiveLibraryFiles" valueType="stringList">
<listOptionValue builtIn="false" value="${ProjName}"/>
<listOptionValue builtIn="false" value="gcc"/>
</option>
<option id="com.renesas.cdt.core.Linker.option.userDefinedOptions.518249328" name="User defined options" superClass="com.renesas.cdt.core.Linker.option.userDefinedOptions" valueType="stringList">
<listOptionValue builtIn="false" value="-e_PowerON_Reset"/>
</option>
<option command="-stats" id="com.renesas.cdt.core.Linker.option.misc8.1335307106" name="Compute and display statistics about the operation of the linker(-stats)" superClass="com.renesas.cdt.core.Linker.option.misc8" value="true" valueType="boolean"/>
</tool>
<tool id="com.renesas.cdt.rl78.hardwaredebug.win32.tool.objcopy.Id.1661224436" name="Objcopy" superClass="com.renesas.cdt.rl78.hardwaredebug.win32.tool.objcopy.Id"/>
</toolChain>
</folderInfo>
<sourceEntries>
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
</sourceEntries>
</configuration>
</storageModule>
<storageModule moduleId="scannerConfiguration">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
<profile id="com.iar.cdt.v850.scanner.IAR_V850_PerProjectProfile">
<buildOutputProvider>
<openAction enabled="false" filePath=""/>
<parser enabled="false"/>
</buildOutputProvider>
<scannerInfoProvider id="com.iar.cdt.v850.toolchain.scannerInfoProvider1">
<runAction arguments="" command="" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="com.iar.cdt.rl78.scanner.IAR_RL78_PerProjectProfile">
<buildOutputProvider>
<openAction enabled="false" filePath=""/>
<parser enabled="false"/>
</buildOutputProvider>
<scannerInfoProvider id="com.iar.cdt.rl78.toolchain.scannerInfoProviderRL78">
<runAction arguments="" command="" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="com.iar.cdt.rx.scanner.IAR_RX_PerProjectProfile">
<buildOutputProvider>
<openAction enabled="false" filePath=""/>
<parser enabled="false"/>
</buildOutputProvider>
<scannerInfoProvider id="com.iar.cdt.rx.toolchain.scannerInfoProviderRX">
<runAction arguments="" command="" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="makefileGenerator">
<runAction arguments="-E -P -v -dD" command="" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/${specs_file}&quot;'" command="sh" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-c 'g++ -E -P -v -dD &quot;${plugin_state_location}/specs.cpp&quot;'" command="sh" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/specs.c&quot;'" command="sh" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
<storageModule moduleId="org.eclipse.cdt.core.language.mapping"/>
<storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
</cconfiguration>
</storageModule> </storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0"> <storageModule moduleId="cdtBuildSystem" version="4.0.0">
<project id="RTOSDemo.com.renesas.cdt.RL78.projectType.1275970009" name="GNURL78" projectType="com.renesas.cdt.RL78.projectType"/> <project id="RTOSDemo.com.renesas.cdt.RL78.projectType.1275970009" name="GNURL78" projectType="com.renesas.cdt.RL78.projectType"/>

View file

@ -1,4 +1,4 @@
#Fri Feb 22 15:43:45 GMT 2013 #Mon Mar 04 17:13:11 GMT 2013
Library\ Generator\ Command=rl78-elf-libgen Library\ Generator\ Command=rl78-elf-libgen
com.renesas.cdt.core.Assembler.option.includeFileDirectories="${workspace_loc\:/${ProjName}}\\src"; com.renesas.cdt.core.Assembler.option.includeFileDirectories="${workspace_loc\:/${ProjName}}\\src";
com.renesas.cdt.core.Compiler.option.includeFileDir.1067754383="${TCINSTALL}\\rl78-elf\\optlibinc"; com.renesas.cdt.core.Compiler.option.includeFileDir.1067754383="${TCINSTALL}\\rl78-elf\\optlibinc";
@ -15,4 +15,5 @@ com.renesas.cdt.rl78.HardwareDebug.Compiler.option.cpuType.1364542281=RL78 - G1C
com.renesas.cdt.rl78.HardwareDebug.Compiler.option.mmul=None com.renesas.cdt.rl78.HardwareDebug.Compiler.option.mmul=None
com.renesas.cdt.rl78.HardwareDebug.Linker.option.archiveLibraryFiles=${ProjName};gcc; com.renesas.cdt.rl78.HardwareDebug.Linker.option.archiveLibraryFiles=${ProjName};gcc;
com.renesas.cdt.rl78.HardwareDebug.Linker.option.archiveSearchDirectories.970009502="${CONFIGDIR}";"${TCINSTALL}\\lib\\gcc\\rl78-elf\\\\${GCC_VERSION}"; com.renesas.cdt.rl78.HardwareDebug.Linker.option.archiveSearchDirectories.970009502="${CONFIGDIR}";"${TCINSTALL}\\lib\\gcc\\rl78-elf\\\\${GCC_VERSION}";
com.renesas.cdt.rl78.HardwareDebug.Linker.option.archiveSearchDirectories.984802356="${CONFIGDIR}";"${TCINSTALL}\\lib\\gcc\\rl78-elf\\\\${GCC_VERSION}";
eclipse.preferences.version=1 eclipse.preferences.version=1

View file

@ -8,7 +8,7 @@
<stringAttribute key="com.renesas.cdt.core.optionInitCommands" value=""/> <stringAttribute key="com.renesas.cdt.core.optionInitCommands" value=""/>
<intAttribute key="com.renesas.cdt.core.portNumber" value="61234"/> <intAttribute key="com.renesas.cdt.core.portNumber" value="61234"/>
<stringAttribute key="com.renesas.cdt.core.runCommands" value=""/> <stringAttribute key="com.renesas.cdt.core.runCommands" value=""/>
<stringAttribute key="com.renesas.cdt.core.serverParam" value="-g E1 -l 0 -t R5F104PJ -p 61234 -d 61236 -umFreq= 0 -usFreq= 0 -umClock= 1 -w 1 -usupplyVoltage= 1 -ucommMethod= 0 -usecurityID= 00000000000000000000 -upermitFlash= 1 -uuseWideVoltageMode= 1 -ueraseRom= 1 -uuseOnChipDebug= 0 -uuseUserOptionByte= 0 -ustopTimerEmu= 0 -ustopSerialEmu= 0 -umaskInternalResetSignal= 0 -umaskTargetResetSignal= 0 -n 0 -uverifyOnWritingMemory= 1"/> <stringAttribute key="com.renesas.cdt.core.serverParam" value="-g E1 -l 0 -t R5F104PJ -p 61234 -d 61236 -umFreq= 0 -usFreq= 0 -umClock= 1 -w 0 -usupplyVoltage= 1 -ucommMethod= 0 -usecurityID= 00000000000000000000 -upermitFlash= 1 -uuseWideVoltageMode= 1 -ueraseRom= 1 -uuseOnChipDebug= 0 -uuseUserOptionByte= 0 -ustopTimerEmu= 0 -ustopSerialEmu= 0 -umaskInternalResetSignal= 0 -umaskTargetResetSignal= 0 -n 0 -uverifyOnWritingMemory= 1"/>
<booleanAttribute key="com.renesas.cdt.core.setResume" value="true"/> <booleanAttribute key="com.renesas.cdt.core.setResume" value="true"/>
<booleanAttribute key="com.renesas.cdt.core.setStopAt" value="true"/> <booleanAttribute key="com.renesas.cdt.core.setStopAt" value="true"/>
<booleanAttribute key="com.renesas.cdt.core.startServer" value="true"/> <booleanAttribute key="com.renesas.cdt.core.startServer" value="true"/>
@ -20,7 +20,7 @@
<booleanAttribute key="com.renesas.cdt.launch.dsf.USE_DEFAULT_IO_MAP" value="true"/> <booleanAttribute key="com.renesas.cdt.launch.dsf.USE_DEFAULT_IO_MAP" value="true"/>
<booleanAttribute key="com.renesas.hardwaredebug.e1.le" value="true"/> <booleanAttribute key="com.renesas.hardwaredebug.e1.le" value="true"/>
<stringAttribute key="com.renesas.hardwaredebug.e1rl78.communication.method" value="0"/> <stringAttribute key="com.renesas.hardwaredebug.e1rl78.communication.method" value="0"/>
<booleanAttribute key="com.renesas.hardwaredebug.e1rl78.e1_pwr" value="true"/> <booleanAttribute key="com.renesas.hardwaredebug.e1rl78.e1_pwr" value="false"/>
<booleanAttribute key="com.renesas.hardwaredebug.e1rl78.eraseFlash" value="true"/> <booleanAttribute key="com.renesas.hardwaredebug.e1rl78.eraseFlash" value="true"/>
<booleanAttribute key="com.renesas.hardwaredebug.e1rl78.hw_break" value="false"/> <booleanAttribute key="com.renesas.hardwaredebug.e1rl78.hw_break" value="false"/>
<booleanAttribute key="com.renesas.hardwaredebug.e1rl78.le" value="true"/> <booleanAttribute key="com.renesas.hardwaredebug.e1rl78.le" value="true"/>
@ -61,7 +61,7 @@
<intAttribute key="org.eclipse.cdt.launch.ATTR_BUILD_BEFORE_LAUNCH_ATTR" value="2"/> <intAttribute key="org.eclipse.cdt.launch.ATTR_BUILD_BEFORE_LAUNCH_ATTR" value="2"/>
<booleanAttribute key="org.eclipse.cdt.launch.DEBUGGER_STOP_AT_MAIN" value="true"/> <booleanAttribute key="org.eclipse.cdt.launch.DEBUGGER_STOP_AT_MAIN" value="true"/>
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_STOP_AT_MAIN_SYMBOL" value="main"/> <stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_STOP_AT_MAIN_SYMBOL" value="main"/>
<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_NAME" value="HardwareDebug\RTOSDemo.x"/> <stringAttribute key="org.eclipse.cdt.launch.PROGRAM_NAME" value="YRDKRL78G14/RTOSDemo.x"/>
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_ATTR" value="RTOSDemo"/> <stringAttribute key="org.eclipse.cdt.launch.PROJECT_ATTR" value="RTOSDemo"/>
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_ID_ATTR" value=""/> <stringAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_ID_ATTR" value=""/>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS"> <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
@ -70,6 +70,8 @@
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES"> <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
<listEntry value="4"/> <listEntry value="4"/>
</listAttribute> </listAttribute>
<booleanAttribute key="org.eclipse.debug.core.capture_output" value="false"/>
<booleanAttribute key="org.eclipse.debug.ui.ATTR_CONSOLE_OUTPUT_ON" value="false"/>
<booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="false"/> <booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="false"/>
<stringAttribute key="org.eclipse.dsf.launch.MEMORY_BLOCKS" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;memoryBlockExpressionList context=&quot;reserved-for-future-use&quot;/&gt;&#13;&#10;"/> <stringAttribute key="org.eclipse.dsf.launch.MEMORY_BLOCKS" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;memoryBlockExpressionList context=&quot;reserved-for-future-use&quot;/&gt;&#13;&#10;"/>
</launchConfiguration> </launchConfiguration>

View file

@ -91,12 +91,12 @@
#define configTICK_RATE_HZ ( ( unsigned short ) 1000 ) #define configTICK_RATE_HZ ( ( unsigned short ) 1000 )
#define configCPU_CLOCK_HZ ( ( unsigned long ) 32000000 ) /* Using the internal high speed clock */ #define configCPU_CLOCK_HZ ( ( unsigned long ) 32000000 ) /* Using the internal high speed clock */
#define configMAX_PRIORITIES ( ( unsigned portBASE_TYPE ) 4 ) #define configMAX_PRIORITIES ( ( unsigned portBASE_TYPE ) 4 )
#define configMINIMAL_STACK_SIZE ( ( unsigned short ) 80 ) #define configMINIMAL_STACK_SIZE ( ( unsigned short ) 100 )
#define configMAX_TASK_NAME_LEN ( 10 ) #define configMAX_TASK_NAME_LEN ( 10 )
#define configUSE_TRACE_FACILITY 0 #define configUSE_TRACE_FACILITY 0
#define configUSE_16_BIT_TICKS 1 #define configUSE_16_BIT_TICKS 1
#define configIDLE_SHOULD_YIELD 1 #define configIDLE_SHOULD_YIELD 1
#define configTOTAL_HEAP_SIZE ( (size_t ) ( 3420 ) ) #define configTOTAL_HEAP_SIZE ( (size_t ) ( 5000 ) )
#define configCHECK_FOR_STACK_OVERFLOW 2 #define configCHECK_FOR_STACK_OVERFLOW 2
#define configUSE_MUTEXES 1 #define configUSE_MUTEXES 1
@ -127,7 +127,7 @@ to exclude the API function. */
#define INCLUDE_xTaskGetIdleTaskHandle 0 #define INCLUDE_xTaskGetIdleTaskHandle 0
#define INCLUDE_xTimerGetTimerDaemonTaskHandle 0 #define INCLUDE_xTimerGetTimerDaemonTaskHandle 0
#define configASSERT( x ) if( ( x ) == 0 ) { taskDISABLE_INTERRUPTS(); for( ;; ); } #define configASSERT( x ) if( ( x ) == 0 ) vAssertCalled()
#define __DATA_MODEL_FAR__ 0 #define __DATA_MODEL_FAR__ 0
#define __DATA_MODEL_NEAR__ 1 #define __DATA_MODEL_NEAR__ 1

View file

@ -150,9 +150,9 @@ unsigned long *pulLocal;
/* These values are just spacers. The return address of the function /* These values are just spacers. The return address of the function
would normally be written here. */ would normally be written here. */
*pxTopOfStack = ( portSTACK_TYPE ) 0xcdcd; *pxTopOfStack = ( portSTACK_TYPE ) 0x00;
pxTopOfStack--; pxTopOfStack--;
*pxTopOfStack = ( portSTACK_TYPE ) 0xcdcd; *pxTopOfStack = ( portSTACK_TYPE ) 0x00;
pxTopOfStack--; pxTopOfStack--;
/* The start address / PSW value is also written in as a 32bit value, /* The start address / PSW value is also written in as a 32bit value,
@ -186,6 +186,29 @@ unsigned long *pulLocal;
} }
#endif #endif
#ifdef This_was_an_alternative_to_the_two_above
/* Parameters are passed in on the stack. */
*pxTopOfStack = ( portSTACK_TYPE ) pvParameters;
pxTopOfStack--;
#warning Why is the offset necessary? Presumably because the parameter could be 20 bits.
pxTopOfStack--;
pxTopOfStack--;
/* Task function address is written to the stack first. As it is
written as a 32bit value a space is left on the stack for the second
two bytes. */
pxTopOfStack--;
/* Task function start address combined with the PSW. */
pulLocal = ( unsigned long * ) pxTopOfStack;
*pulLocal = ( ( ( unsigned long ) pxCode ) | ( portPSW << 24UL ) );
pxTopOfStack--;
/* An initial value for the AX register. */
*pxTopOfStack = ( portSTACK_TYPE ) 0xaaaa;
pxTopOfStack--;
#endif
/* An initial value for the HL register. */ /* An initial value for the HL register. */
*pxTopOfStack = ( portSTACK_TYPE ) 0x2222; *pxTopOfStack = ( portSTACK_TYPE ) 0x2222;
pxTopOfStack--; pxTopOfStack--;

View file

@ -99,11 +99,12 @@ extern "C" {
#define portSTACK_TYPE unsigned short #define portSTACK_TYPE unsigned short
#define portBASE_TYPE short #define portBASE_TYPE short
#if __DATA_MODEL__ == __DATA_MODEL_FAR__ //_RB_#if __DATA_MODEL__ == __DATA_MODEL_FAR__
#define portPOINTER_SIZE_TYPE unsigned long // #define portPOINTER_SIZE_TYPE unsigned long
#else //#else
#define portPOINTER_SIZE_TYPE unsigned short // #define portPOINTER_SIZE_TYPE unsigned short
#endif //#endif
#define portPOINTER_SIZE_TYPE unsigned short
#if ( configUSE_16_BIT_TICKS == 1 ) #if ( configUSE_16_BIT_TICKS == 1 )

View file

@ -85,8 +85,8 @@
#endif /* YRPBRL78G13 */ #endif /* YRPBRL78G13 */
#ifdef YRDKRL78G14 #ifdef YRDKRL78G14
#define LED_BIT ( P1_bit.no0 ) #define LED_INIT() PM4_bit.no1 = 0
#define LED_INIT() P1 &= 0xFE; PM1 &= 0xFE #define LED_BIT ( P4_bit.no1 )
#endif /* YRDKRL78G14 */ #endif /* YRDKRL78G14 */
#ifdef RSKRL78G1C #ifdef RSKRL78G1C

View file

@ -76,9 +76,10 @@
* This file defines the RegTest tasks as described at the top of main.c * This file defines the RegTest tasks as described at the top of main.c
*/ */
.global _vRegTest1Task
.global vRegTest1 .short _vRegTest1Task
.global vRegTest2 .global _vRegTest2Task
.short _vRegTest2Task
.extern _vRegTestError .extern _vRegTestError
.extern _usRegTest1LoopCounter .extern _usRegTest1LoopCounter
@ -90,7 +91,7 @@
* contain the expected value. An incorrect value being indicative of an * contain the expected value. An incorrect value being indicative of an
* error in the context switch mechanism. * error in the context switch mechanism.
*/ */
vRegTest1: _vRegTest1Task:
/* First fill the registers. */ /* First fill the registers. */
MOVW AX, #0x1122 MOVW AX, #0x1122
@ -116,29 +117,29 @@ _loop1:
/* Compare with the expected value. */ /* Compare with the expected value. */
CMPW AX, #0x1122 CMPW AX, #0x1122
BZ $5 BZ $.+5
/* Jump over the branch to vRegTestError() if the register contained the /* Jump over the branch to vRegTestError() if the register contained the
expected value - otherwise flag an error by executing vRegTestError(). */ expected value - otherwise flag an error by executing vRegTestError(). */
BR !_vRegTestError BR !!_vRegTestError
/* Repeat for all the registers. */ /* Repeat for all the registers. */
MOVW AX, BC MOVW AX, BC
CMPW AX, #0x3344 CMPW AX, #0x3344
BZ $5 BZ $.+5
BR !_vRegTestError BR !!_vRegTestError
MOVW AX, DE MOVW AX, DE
CMPW AX, #0x5566 CMPW AX, #0x5566
BZ $5 BZ $.+5
BR !_vRegTestError BR !!_vRegTestError
MOVW AX, HL MOVW AX, HL
CMPW AX, #0x7788 CMPW AX, #0x7788
BZ $5 BZ $.+5
BR !_vRegTestError BR !!_vRegTestError
MOV A, CS MOV A, CS
CMP A, #0x01 CMP A, #0x01
BZ $5 BZ $.+5
BR !_vRegTestError BR !!_vRegTestError
#if __DATA_MODEL__ == __DATA_MODEL_FAR__ #if __DATA_MODEL__ == __DATA_MODEL_FAR__
@ -146,8 +147,8 @@ _loop1:
test it when using the far model. */ test it when using the far model. */
MOV A, ES MOV A, ES
CMP A, #0x02 CMP A, #0x02
BZ $5 BZ $.+5
BR !_vRegTestError BR !!_vRegTestError
#endif #endif
@ -155,7 +156,7 @@ _loop1:
INCW !_usRegTest1LoopCounter INCW !_usRegTest1LoopCounter
MOVW AX, #0x1122 MOVW AX, #0x1122
BR !_loop1 BR !!_loop1
/* /*
@ -163,7 +164,7 @@ _loop1:
* contain the expected value. An incorrect value being indicative of an * contain the expected value. An incorrect value being indicative of an
* error in the context switch mechanism. * error in the context switch mechanism.
*/ */
vRegTest2: _vRegTest2Task:
MOVW AX, #0x99aa MOVW AX, #0x99aa
MOVW BC, #0xbbcc MOVW BC, #0xbbcc
@ -179,31 +180,31 @@ vRegTest2:
_loop2: _loop2:
CMPW AX, #0x99aa CMPW AX, #0x99aa
BZ $5 BZ $.+5
BR !_vRegTestError BR !!_vRegTestError
MOVW AX, BC MOVW AX, BC
CMPW AX, #0xbbcc CMPW AX, #0xbbcc
BZ $5 BZ $.+5
BR !_vRegTestError BR !!_vRegTestError
MOVW AX, DE MOVW AX, DE
CMPW AX, #0xddee CMPW AX, #0xddee
BZ $5 BZ $.+5
BR !_vRegTestError BR !!_vRegTestError
MOVW AX, HL MOVW AX, HL
CMPW AX, #0xff12 CMPW AX, #0xff12
BZ $5 BZ $.+5
BR !_vRegTestError BR !!_vRegTestError
MOV A, CS MOV A, CS
CMP A, #0x03 CMP A, #0x03
BZ $5 BZ $.+5
BR !_vRegTestError BR !!_vRegTestError
#if __DATA_MODEL__ == __DATA_MODEL_FAR__ #if __DATA_MODEL__ == __DATA_MODEL_FAR__
MOV A, ES MOV A, ES
CMP A, #0x04 CMP A, #0x04
BZ $5 BZ $.+5
BR !_vRegTestError BR !!_vRegTestError
#endif #endif
@ -211,8 +212,7 @@ _loop2:
INCW !_usRegTest2LoopCounter INCW !_usRegTest2LoopCounter
MOVW AX, #0x99aa MOVW AX, #0x99aa
BR !_loop2 BR !!_loop2
.end .end

View file

@ -15,8 +15,9 @@
/* Hardware includes. */ /* Hardware includes. */
#include "port_iodefine.h" #include "port_iodefine.h"
#include "LED.h"
void HardwareSetup(void) void HardwareSetup( void )
{ {
unsigned char ucResetFlag = RESF; unsigned char ucResetFlag = RESF;

View file

@ -159,6 +159,11 @@ its own executions. */
/* A block time of zero simple means "don't block". */ /* A block time of zero simple means "don't block". */
#define mainDONT_BLOCK ( 0U ) #define mainDONT_BLOCK ( 0U )
/* Values that are passed as parameters into the reg test tasks (purely to
ensure task parameters are passed correctly). */
#define mainREG_TEST_1_PARAMETER ( ( void * ) 0x1234 )
#define mainREG_TEST_2_PARAMETER ( ( void * ) 0x5678 )
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
/* /*
@ -172,11 +177,22 @@ static void prvCheckTimerCallback( xTimerHandle xTimer );
static void prvDemoTimerCallback( xTimerHandle xTimer ); static void prvDemoTimerCallback( xTimerHandle xTimer );
/* /*
* Functions that define the RegTest tasks, as described at the top of this file. * Functions that define the RegTest tasks, as described at the top of this
* file. The RegTest tasks are written (necessarily) in assembler. Their
* entry points are written in C to allow for easy checking of the task
* parameter values.
*/ */
extern void vRegTest1( void *pvParameters ); extern void vRegTest1Task( void );
extern void vRegTest2( void *pvParameters ); extern void vRegTest2Task( void );
static void prvRegTest1Entry( void *pvParameters );
static void prvRegTest2Entry( void *pvParameters );
/*
* Called if a RegTest task discovers an error as a mechanism to stop the
* tasks loop counter incrementing (so the check task can detect that an
* error exists).
*/
void vRegTestError( void );
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
@ -201,19 +217,23 @@ short main( void )
ucTemp = RESF; ucTemp = RESF;
ucTemp = sizeof( char* ); ucTemp = sizeof( char* );
ucTemp = sizeof( pdTASK_CODE ); ucTemp = sizeof( pdTASK_CODE );
P1 &= 0xFE; PM1 &= 0xFE;
P1_bit.no0 = 1;
/* Creates all the tasks and timers, then starts the scheduler. */ /* Creates all the tasks and timers, then starts the scheduler. */
/* First create the 'standard demo' tasks. These are used to demonstrate /* First create the 'standard demo' tasks. These are used to demonstrate
API functions being used and also to test the kernel port. More information API functions being used and also to test the kernel port. More information
is provided on the FreeRTOS.org WEB site. */ is provided on the FreeRTOS.org WEB site. */
vStartDynamicPriorityTasks(); // vStartDynamicPriorityTasks();
#warning Runs if the debugger is not connected and vStartDynamicPriorityTasks() is commented out.
vStartPolledQueueTasks( tskIDLE_PRIORITY ); vStartPolledQueueTasks( tskIDLE_PRIORITY );
vCreateBlockTimeTasks(); vCreateBlockTimeTasks();
/* Create the RegTest tasks as described at the top of this file. */ /* Create the RegTest tasks as described at the top of this file. */
// xTaskCreate( vRegTest1, "Reg1", configMINIMAL_STACK_SIZE, NULL, 0, NULL ); xTaskCreate( prvRegTest1Entry, "Reg1", configMINIMAL_STACK_SIZE, mainREG_TEST_1_PARAMETER, tskIDLE_PRIORITY, NULL );
// xTaskCreate( vRegTest2, "Reg2", configMINIMAL_STACK_SIZE, NULL, 0, NULL ); xTaskCreate( prvRegTest2Entry, "Reg2", configMINIMAL_STACK_SIZE, mainREG_TEST_2_PARAMETER, tskIDLE_PRIORITY, NULL );
/* Create the software timer that performs the 'check' functionality, /* Create the software timer that performs the 'check' functionality,
as described at the top of this file. */ as described at the top of this file. */
@ -332,6 +352,12 @@ static unsigned short usLastRegTest1Counter = 0, usLastRegTest2Counter = 0;
/* Toggle the LED. The toggle rate will depend on whether or not an error /* Toggle the LED. The toggle rate will depend on whether or not an error
has been found in any tasks. */ has been found in any tasks. */
LED_BIT = !LED_BIT; LED_BIT = !LED_BIT;
if( xTaskGetTickCount() > ( ( portTickType ) 10000 / portTICK_RATE_MS ) )
{
/* Turn off the LED used to visualise a reset. */
P1_bit.no0 = 0;
}
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
@ -339,7 +365,7 @@ void vRegTestError( void )
{ {
/* Called by both reg test tasks if an error is found. There is no way out /* Called by both reg test tasks if an error is found. There is no way out
of this function so the loop counter of the calling task will stop of this function so the loop counter of the calling task will stop
incrementing, which will result in the check timer signialling an error. */ incrementing, which will result in the check timer signaling an error. */
for( ;; ); for( ;; );
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
@ -352,6 +378,7 @@ void vApplicationMallocFailedHook( void )
timers, and semaphores. The size of the FreeRTOS heap is set by the timers, and semaphores. The size of the FreeRTOS heap is set by the
configTOTAL_HEAP_SIZE configuration constant in FreeRTOSConfig.h. */ configTOTAL_HEAP_SIZE configuration constant in FreeRTOSConfig.h. */
taskDISABLE_INTERRUPTS(); taskDISABLE_INTERRUPTS();
P1_bit.no0 = 0;
for( ;; ); for( ;; );
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
@ -365,6 +392,7 @@ void vApplicationStackOverflowHook( xTaskHandle pxTask, signed char *pcTaskName
configCHECK_FOR_STACK_OVERFLOW is defined to 1 or 2. This hook configCHECK_FOR_STACK_OVERFLOW is defined to 1 or 2. This hook
function is called if a stack overflow is detected. */ function is called if a stack overflow is detected. */
taskDISABLE_INTERRUPTS(); taskDISABLE_INTERRUPTS();
P1_bit.no0 = 0;
for( ;; ); for( ;; );
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
@ -384,3 +412,47 @@ volatile size_t xFreeHeapSpace;
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
static void prvRegTest1Entry( void *pvParameters )
{
/* If the parameter has its expected value then start the first reg test
task (this is only done to test that the RTOS port is correctly handling
task parameters. */
if( pvParameters == mainREG_TEST_1_PARAMETER )
{
vRegTest1Task();
}
else
{
vRegTestError();
}
/* It is not possible to get here as neither of the two functions called
above will ever return. */
}
/*-----------------------------------------------------------*/
static void prvRegTest2Entry( void *pvParameters )
{
/* If the parameter has its expected value then start the first reg test
task (this is only done to test that the RTOS port is correctly handling
task parameters. */
if( pvParameters == mainREG_TEST_2_PARAMETER )
{
vRegTest2Task();
}
else
{
vRegTestError();
}
/* It is not possible to get here as neither of the two functions called
above will ever return. */
}
/*-----------------------------------------------------------*/
void vAssertCalled( void )
{
taskDISABLE_INTERRUPTS();
P1_bit.no0 = 0;
for( ;; );
}