]> git.sur5r.net Git - freertos/commitdiff
For RL78GCC port/demo:
authorrichardbarry <richardbarry@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Mon, 4 Mar 2013 20:04:02 +0000 (20:04 +0000)
committerrichardbarry <richardbarry@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Mon, 4 Mar 2013 20:04:02 +0000 (20:04 +0000)
- Added YRDKRL78G14 build configuration.
- Runs provided the dynamic priority tasks are not started.
- Does not run with the debugger connected.

git-svn-id: https://svn.code.sf.net/p/freertos/code/trunk@1837 1d2547de-c912-0410-9cb9-b8ca96c0e9e2

FreeRTOS/Demo/RL78_E2Studio_GCC/.cproject
FreeRTOS/Demo/RL78_E2Studio_GCC/.settings/Project_Generation_Prefrences.prefs
FreeRTOS/Demo/RL78_E2Studio_GCC/RTOSDemo.launch
FreeRTOS/Demo/RL78_E2Studio_GCC/src/FreeRTOSConfig.h
FreeRTOS/Demo/RL78_E2Studio_GCC/src/FreeRTOS_Source/portable/GCC/RL78/port.c
FreeRTOS/Demo/RL78_E2Studio_GCC/src/FreeRTOS_Source/portable/GCC/RL78/portmacro.h
FreeRTOS/Demo/RL78_E2Studio_GCC/src/LED.h
FreeRTOS/Demo/RL78_E2Studio_GCC/src/RegTest.S
FreeRTOS/Demo/RL78_E2Studio_GCC/src/hardware_setup.c
FreeRTOS/Demo/RL78_E2Studio_GCC/src/main.c

index b4e3afce32276bb6961446ae49896c91bf32ebe7..046f15423d64f24d3740faac7525c99e6d973f9b 100644 (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"/>\r
                                                                <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"/>\r
                                                                <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"/>\r
-                                                               <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"/>\r
+                                                               <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">\r
+                                                                       <listOptionValue builtIn="false" value="YRDKRL78G14"/>\r
+                                                               </option>\r
                                                                <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"/>\r
                                                                <inputType id="%Base.Compiler.C.InputType.Id.304532987" name="C Input" superClass="%Base.Compiler.C.InputType.Id"/>\r
                                                        </tool>\r
                        <storageModule moduleId="org.eclipse.cdt.core.language.mapping"/>\r
                        <storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>\r
                </cconfiguration>\r
+               <cconfiguration id="com.renesas.cdt.RL78.configuration.hardwaredebug.1462655394.864201896">\r
+                       <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">\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="org.eclipse.cdt.core.VCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
+                                       <extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
+                                       <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
+                                       <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
+                                       <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
+                               </extensions>\r
+                       </storageModule>\r
+                       <storageModule moduleId="cdtBuildSystem" version="4.0.0">\r
+                               <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">\r
+                                       <folderInfo id="com.renesas.cdt.RL78.configuration.hardwaredebug.1462655394.864201896." name="/" resourcePath="">\r
+                                               <toolChain id="com.renesas.cdt.RL78.toolChain.hardwaredebugConf.2105647290" name="KPIT GNURL78-ELF Toolchain" superClass="com.renesas.cdt.RL78.toolChain.hardwaredebugConf">\r
+                                                       <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"/>\r
+                                                       <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"/>\r
+                                                       <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">\r
+                                                               <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"/>\r
+                                                               <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"/>\r
+                                                               <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"/>\r
+                                                               <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"/>\r
+                                                               <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"/>\r
+                                                       </tool>\r
+                                                       <tool id="com.renesas.cdt.rl78.hardwaredebug.win32.tool.compiler.Id.1257527949" name="Compiler" superClass="com.renesas.cdt.rl78.hardwaredebug.win32.tool.compiler.Id">\r
+                                                               <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"/>\r
+                                                               <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"/>\r
+                                                               <option id="com.renesas.cdt.core.Compiler.option.includeFileDir.18427768" name="Include file directories" superClass="com.renesas.cdt.core.Compiler.option.includeFileDir" valueType="includePath">\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${TCINSTALL}\rl78-elf\optlibinc&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/Common-Demo-Tasks/include}&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src}&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/FreeRTOS_Source/include}&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/FreeRTOS_Source/portable/GCC/RL78}&quot;"/>\r
+                                                               </option>\r
+                                                               <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"/>\r
+                                                               <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"/>\r
+                                                               <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"/>\r
+                                                               <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"/>\r
+                                                               <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"/>\r
+                                                               <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"/>\r
+                                                               <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"/>\r
+                                                               <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"/>\r
+                                                               <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"/>\r
+                                                               <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"/>\r
+                                                               <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"/>\r
+                                                               <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"/>\r
+                                                               <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"/>\r
+                                                               <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"/>\r
+                                                               <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"/>\r
+                                                               <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"/>\r
+                                                               <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"/>\r
+                                                               <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"/>\r
+                                                               <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">\r
+                                                                       <listOptionValue builtIn="false" value="YRDKRL78G14"/>\r
+                                                               </option>\r
+                                                               <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"/>\r
+                                                               <inputType id="%Base.Compiler.C.InputType.Id.1290374987" name="C Input" superClass="%Base.Compiler.C.InputType.Id"/>\r
+                                                       </tool>\r
+                                                       <tool id="com.renesas.cdt.rl78.hardwaredebug.win32.tool.assembler.Id.1164252651" name="Assembler" superClass="com.renesas.cdt.rl78.hardwaredebug.win32.tool.assembler.Id">\r
+                                                               <option id="com.renesas.cdt.core.Assembler.option.includeFileDirectories.611081498" name="Include file directories" superClass="com.renesas.cdt.core.Assembler.option.includeFileDirectories" valueType="includePath">\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}\src&quot;"/>\r
+                                                               </option>\r
+                                                               <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"/>\r
+                                                               <inputType id="%Base.Assembler.inputType.Id.1153908375" name="Assembler InputType" superClass="%Base.Assembler.inputType.Id"/>\r
+                                                       </tool>\r
+                                                       <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">\r
+                                                               <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">\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${CONFIGDIR}&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${TCINSTALL}\lib\gcc\rl78-elf\\${GCC_VERSION}&quot;"/>\r
+                                                               </option>\r
+                                                               <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">\r
+                                                                       <listOptionValue builtIn="false" value="${ProjName}"/>\r
+                                                                       <listOptionValue builtIn="false" value="gcc"/>\r
+                                                               </option>\r
+                                                               <option id="com.renesas.cdt.core.Linker.option.userDefinedOptions.518249328" name="User defined options" superClass="com.renesas.cdt.core.Linker.option.userDefinedOptions" valueType="stringList">\r
+                                                                       <listOptionValue builtIn="false" value="-e_PowerON_Reset"/>\r
+                                                               </option>\r
+                                                               <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"/>\r
+                                                       </tool>\r
+                                                       <tool id="com.renesas.cdt.rl78.hardwaredebug.win32.tool.objcopy.Id.1661224436" name="Objcopy" superClass="com.renesas.cdt.rl78.hardwaredebug.win32.tool.objcopy.Id"/>\r
+                                               </toolChain>\r
+                                       </folderInfo>\r
+                                       <sourceEntries>\r
+                                               <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>\r
+                                       </sourceEntries>\r
+                               </configuration>\r
+                       </storageModule>\r
+                       <storageModule moduleId="scannerConfiguration">\r
+                               <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>\r
+                               <profile id="com.iar.cdt.v850.scanner.IAR_V850_PerProjectProfile">\r
+                                       <buildOutputProvider>\r
+                                               <openAction enabled="false" filePath=""/>\r
+                                               <parser enabled="false"/>\r
+                                       </buildOutputProvider>\r
+                                       <scannerInfoProvider id="com.iar.cdt.v850.toolchain.scannerInfoProvider1">\r
+                                               <runAction arguments="" command="" useDefault="true"/>\r
+                                               <parser enabled="true"/>\r
+                                       </scannerInfoProvider>\r
+                               </profile>\r
+                               <profile id="com.iar.cdt.rl78.scanner.IAR_RL78_PerProjectProfile">\r
+                                       <buildOutputProvider>\r
+                                               <openAction enabled="false" filePath=""/>\r
+                                               <parser enabled="false"/>\r
+                                       </buildOutputProvider>\r
+                                       <scannerInfoProvider id="com.iar.cdt.rl78.toolchain.scannerInfoProviderRL78">\r
+                                               <runAction arguments="" command="" useDefault="true"/>\r
+                                               <parser enabled="true"/>\r
+                                       </scannerInfoProvider>\r
+                               </profile>\r
+                               <profile id="com.iar.cdt.rx.scanner.IAR_RX_PerProjectProfile">\r
+                                       <buildOutputProvider>\r
+                                               <openAction enabled="false" filePath=""/>\r
+                                               <parser enabled="false"/>\r
+                                       </buildOutputProvider>\r
+                                       <scannerInfoProvider id="com.iar.cdt.rx.toolchain.scannerInfoProviderRX">\r
+                                               <runAction arguments="" command="" useDefault="true"/>\r
+                                               <parser enabled="true"/>\r
+                                       </scannerInfoProvider>\r
+                               </profile>\r
+                               <profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile">\r
+                                       <buildOutputProvider>\r
+                                               <openAction enabled="true" filePath=""/>\r
+                                               <parser enabled="true"/>\r
+                                       </buildOutputProvider>\r
+                                       <scannerInfoProvider id="specsFile">\r
+                                               <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>\r
+                                               <parser enabled="true"/>\r
+                                       </scannerInfoProvider>\r
+                               </profile>\r
+                               <profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">\r
+                                       <buildOutputProvider>\r
+                                               <openAction enabled="true" filePath=""/>\r
+                                               <parser enabled="true"/>\r
+                                       </buildOutputProvider>\r
+                                       <scannerInfoProvider id="makefileGenerator">\r
+                                               <runAction arguments="-E -P -v -dD" command="" useDefault="true"/>\r
+                                               <parser enabled="true"/>\r
+                                       </scannerInfoProvider>\r
+                               </profile>\r
+                               <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile">\r
+                                       <buildOutputProvider>\r
+                                               <openAction enabled="true" filePath=""/>\r
+                                               <parser enabled="true"/>\r
+                                       </buildOutputProvider>\r
+                                       <scannerInfoProvider id="specsFile">\r
+                                               <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>\r
+                                               <parser enabled="true"/>\r
+                                       </scannerInfoProvider>\r
+                               </profile>\r
+                               <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP">\r
+                                       <buildOutputProvider>\r
+                                               <openAction enabled="true" filePath=""/>\r
+                                               <parser enabled="true"/>\r
+                                       </buildOutputProvider>\r
+                                       <scannerInfoProvider id="specsFile">\r
+                                               <runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>\r
+                                               <parser enabled="true"/>\r
+                                       </scannerInfoProvider>\r
+                               </profile>\r
+                               <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC">\r
+                                       <buildOutputProvider>\r
+                                               <openAction enabled="true" filePath=""/>\r
+                                               <parser enabled="true"/>\r
+                                       </buildOutputProvider>\r
+                                       <scannerInfoProvider id="specsFile">\r
+                                               <runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>\r
+                                               <parser enabled="true"/>\r
+                                       </scannerInfoProvider>\r
+                               </profile>\r
+                               <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile">\r
+                                       <buildOutputProvider>\r
+                                               <openAction enabled="true" filePath=""/>\r
+                                               <parser enabled="true"/>\r
+                                       </buildOutputProvider>\r
+                                       <scannerInfoProvider id="specsFile">\r
+                                               <runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/${specs_file}&quot;'" command="sh" useDefault="true"/>\r
+                                               <parser enabled="true"/>\r
+                                       </scannerInfoProvider>\r
+                               </profile>\r
+                               <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP">\r
+                                       <buildOutputProvider>\r
+                                               <openAction enabled="true" filePath=""/>\r
+                                               <parser enabled="true"/>\r
+                                       </buildOutputProvider>\r
+                                       <scannerInfoProvider id="specsFile">\r
+                                               <runAction arguments="-c 'g++ -E -P -v -dD &quot;${plugin_state_location}/specs.cpp&quot;'" command="sh" useDefault="true"/>\r
+                                               <parser enabled="true"/>\r
+                                       </scannerInfoProvider>\r
+                               </profile>\r
+                               <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC">\r
+                                       <buildOutputProvider>\r
+                                               <openAction enabled="true" filePath=""/>\r
+                                               <parser enabled="true"/>\r
+                                       </buildOutputProvider>\r
+                                       <scannerInfoProvider id="specsFile">\r
+                                               <runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/specs.c&quot;'" command="sh" useDefault="true"/>\r
+                                               <parser enabled="true"/>\r
+                                       </scannerInfoProvider>\r
+                               </profile>\r
+                       </storageModule>\r
+                       <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>\r
+                       <storageModule moduleId="org.eclipse.cdt.core.language.mapping"/>\r
+                       <storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>\r
+               </cconfiguration>\r
        </storageModule>\r
        <storageModule moduleId="cdtBuildSystem" version="4.0.0">\r
                <project id="RTOSDemo.com.renesas.cdt.RL78.projectType.1275970009" name="GNURL78" projectType="com.renesas.cdt.RL78.projectType"/>\r
index 5df2fe2909f09235ee871ad909e2f660cdc73037..173fe2f6d5b58b403357d44ded45a541f41b8a8e 100644 (file)
@@ -1,4 +1,4 @@
-#Fri Feb 22 15:43:45 GMT 2013\r
+#Mon Mar 04 17:13:11 GMT 2013\r
 Library\ Generator\ Command=rl78-elf-libgen\r
 com.renesas.cdt.core.Assembler.option.includeFileDirectories="${workspace_loc\:/${ProjName}}\\src";\r
 com.renesas.cdt.core.Compiler.option.includeFileDir.1067754383="${TCINSTALL}\\rl78-elf\\optlibinc";\r
@@ -15,4 +15,5 @@ com.renesas.cdt.rl78.HardwareDebug.Compiler.option.cpuType.1364542281=RL78 - G1C
 com.renesas.cdt.rl78.HardwareDebug.Compiler.option.mmul=None\r
 com.renesas.cdt.rl78.HardwareDebug.Linker.option.archiveLibraryFiles=${ProjName};gcc;\r
 com.renesas.cdt.rl78.HardwareDebug.Linker.option.archiveSearchDirectories.970009502="${CONFIGDIR}";"${TCINSTALL}\\lib\\gcc\\rl78-elf\\\\${GCC_VERSION}";\r
+com.renesas.cdt.rl78.HardwareDebug.Linker.option.archiveSearchDirectories.984802356="${CONFIGDIR}";"${TCINSTALL}\\lib\\gcc\\rl78-elf\\\\${GCC_VERSION}";\r
 eclipse.preferences.version=1\r
index 3519abbb30a4380b74e018c554f6b368d911529e..cb05de36ec424d035d0d8a68eb650771c3516a67 100644 (file)
@@ -8,7 +8,7 @@
 <stringAttribute key="com.renesas.cdt.core.optionInitCommands" value=""/>\r
 <intAttribute key="com.renesas.cdt.core.portNumber" value="61234"/>\r
 <stringAttribute key="com.renesas.cdt.core.runCommands" value=""/>\r
-<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"/>\r
+<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"/>\r
 <booleanAttribute key="com.renesas.cdt.core.setResume" value="true"/>\r
 <booleanAttribute key="com.renesas.cdt.core.setStopAt" value="true"/>\r
 <booleanAttribute key="com.renesas.cdt.core.startServer" value="true"/>\r
@@ -20,7 +20,7 @@
 <booleanAttribute key="com.renesas.cdt.launch.dsf.USE_DEFAULT_IO_MAP" value="true"/>\r
 <booleanAttribute key="com.renesas.hardwaredebug.e1.le" value="true"/>\r
 <stringAttribute key="com.renesas.hardwaredebug.e1rl78.communication.method" value="0"/>\r
-<booleanAttribute key="com.renesas.hardwaredebug.e1rl78.e1_pwr" value="true"/>\r
+<booleanAttribute key="com.renesas.hardwaredebug.e1rl78.e1_pwr" value="false"/>\r
 <booleanAttribute key="com.renesas.hardwaredebug.e1rl78.eraseFlash" value="true"/>\r
 <booleanAttribute key="com.renesas.hardwaredebug.e1rl78.hw_break" value="false"/>\r
 <booleanAttribute key="com.renesas.hardwaredebug.e1rl78.le" value="true"/>\r
@@ -61,7 +61,7 @@
 <intAttribute key="org.eclipse.cdt.launch.ATTR_BUILD_BEFORE_LAUNCH_ATTR" value="2"/>\r
 <booleanAttribute key="org.eclipse.cdt.launch.DEBUGGER_STOP_AT_MAIN" value="true"/>\r
 <stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_STOP_AT_MAIN_SYMBOL" value="main"/>\r
-<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_NAME" value="HardwareDebug\RTOSDemo.x"/>\r
+<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_NAME" value="YRDKRL78G14/RTOSDemo.x"/>\r
 <stringAttribute key="org.eclipse.cdt.launch.PROJECT_ATTR" value="RTOSDemo"/>\r
 <stringAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_ID_ATTR" value=""/>\r
 <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">\r
@@ -70,6 +70,8 @@
 <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">\r
 <listEntry value="4"/>\r
 </listAttribute>\r
+<booleanAttribute key="org.eclipse.debug.core.capture_output" value="false"/>\r
+<booleanAttribute key="org.eclipse.debug.ui.ATTR_CONSOLE_OUTPUT_ON" value="false"/>\r
 <booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="false"/>\r
 <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;"/>\r
 </launchConfiguration>\r
index c2c21766e1603d7c77e4d378367b496b3f95f4ef..82dff1b8e3e99c00b325ea3004988d815e3ca253 100644 (file)
 #define configTICK_RATE_HZ                             ( ( unsigned short ) 1000 )\r
 #define configCPU_CLOCK_HZ                             ( ( unsigned long ) 32000000 )   /* Using the internal high speed clock */\r
 #define configMAX_PRIORITIES                   ( ( unsigned portBASE_TYPE ) 4 )\r
-#define configMINIMAL_STACK_SIZE               ( ( unsigned short ) 80 )\r
+#define configMINIMAL_STACK_SIZE               ( ( unsigned short ) 100 )\r
 #define configMAX_TASK_NAME_LEN                        ( 10 )\r
 #define configUSE_TRACE_FACILITY               0\r
 #define configUSE_16_BIT_TICKS                 1\r
 #define configIDLE_SHOULD_YIELD                        1\r
-#define configTOTAL_HEAP_SIZE                  ( (size_t ) ( 3420 ) )\r
+#define configTOTAL_HEAP_SIZE                  ( (size_t ) ( 5000 ) )\r
 #define configCHECK_FOR_STACK_OVERFLOW 2\r
 #define configUSE_MUTEXES                              1\r
 \r
@@ -127,7 +127,7 @@ to exclude the API function. */
 #define INCLUDE_xTaskGetIdleTaskHandle                 0\r
 #define INCLUDE_xTimerGetTimerDaemonTaskHandle         0\r
 \r
-#define configASSERT( x ) if( ( x ) == 0 ) { taskDISABLE_INTERRUPTS(); for( ;; ); }\r
+#define configASSERT( x ) if( ( x ) == 0 ) vAssertCalled()\r
 \r
 #define __DATA_MODEL_FAR__ 0\r
 #define __DATA_MODEL_NEAR__ 1\r
index fba4634a64516e3c2e3b87133e2befdc1b3e78cd..a5bb44ce60b80f55e77bd87efb5d30360c0b64c4 100644 (file)
@@ -150,9 +150,9 @@ unsigned long *pulLocal;
 \r
                /* These values are just spacers.  The return address of the function\r
                would normally be written here. */\r
-               *pxTopOfStack = ( portSTACK_TYPE ) 0xcdcd;\r
+               *pxTopOfStack = ( portSTACK_TYPE ) 0x00;\r
                pxTopOfStack--;\r
-               *pxTopOfStack = ( portSTACK_TYPE ) 0xcdcd;\r
+               *pxTopOfStack = ( portSTACK_TYPE ) 0x00;\r
                pxTopOfStack--;\r
 \r
                /* The start address / PSW value is also written in as a 32bit value,\r
@@ -186,6 +186,29 @@ unsigned long *pulLocal;
        }\r
        #endif\r
 \r
+#ifdef This_was_an_alternative_to_the_two_above\r
+       /* Parameters are passed in on the stack. */\r
+       *pxTopOfStack = ( portSTACK_TYPE ) pvParameters;\r
+       pxTopOfStack--;\r
+\r
+#warning Why is the offset necessary?  Presumably because the parameter could be 20 bits.\r
+       pxTopOfStack--;\r
+       pxTopOfStack--;\r
+\r
+       /* Task function address is written to the stack first.  As it is\r
+       written as a 32bit value a space is left on the stack for the second\r
+       two bytes. */\r
+       pxTopOfStack--;\r
+\r
+       /* Task function start address combined with the PSW. */\r
+       pulLocal = ( unsigned long * ) pxTopOfStack;\r
+       *pulLocal = ( ( ( unsigned long ) pxCode ) | ( portPSW << 24UL ) );\r
+       pxTopOfStack--;\r
+\r
+       /* An initial value for the AX register. */\r
+       *pxTopOfStack = ( portSTACK_TYPE ) 0xaaaa;\r
+       pxTopOfStack--;\r
+#endif\r
        /* An initial value for the HL register. */\r
        *pxTopOfStack = ( portSTACK_TYPE ) 0x2222;\r
        pxTopOfStack--;\r
index 3cd6e2a7c68e50a3a9a5be80824ed435381179f7..f3d5c2184abeaa753a3cb55d9766f7f2489f8b53 100644 (file)
@@ -99,11 +99,12 @@ extern "C" {
 #define portSTACK_TYPE  unsigned short\r
 #define portBASE_TYPE   short\r
 \r
-#if __DATA_MODEL__ == __DATA_MODEL_FAR__\r
-       #define portPOINTER_SIZE_TYPE unsigned long\r
-#else\r
-       #define portPOINTER_SIZE_TYPE unsigned short\r
-#endif\r
+//_RB_#if __DATA_MODEL__ == __DATA_MODEL_FAR__\r
+//     #define portPOINTER_SIZE_TYPE unsigned long\r
+//#else\r
+//     #define portPOINTER_SIZE_TYPE unsigned short\r
+//#endif\r
+#define portPOINTER_SIZE_TYPE unsigned short\r
 \r
 \r
 #if ( configUSE_16_BIT_TICKS == 1 )\r
index b51c125167ae771fc585139fb4fcc0a63ef083d0..5e55bbd3af8066770477d486f643d2187f22b81d 100644 (file)
@@ -85,8 +85,8 @@
        #endif /* YRPBRL78G13 */\r
 \r
        #ifdef YRDKRL78G14\r
-               #define LED_BIT                 ( P1_bit.no0 )\r
-               #define LED_INIT()              P1 &= 0xFE; PM1 &= 0xFE\r
+               #define LED_INIT()              PM4_bit.no1 = 0\r
+               #define LED_BIT                 ( P4_bit.no1 )\r
        #endif /* YRDKRL78G14 */\r
 \r
        #ifdef RSKRL78G1C\r
index 0ed9d52b73e7d3f30c3facf2b97a13e479e791f6..63587c62ed379a0aaa0798c6e9707180bd2f068c 100644 (file)
  * This file defines the RegTest tasks as described at the top of main.c\r
  */\r
 \r
-\r
-       .global vRegTest1\r
-       .global vRegTest2\r
+       .global _vRegTest1Task\r
+       .short  _vRegTest1Task\r
+       .global _vRegTest2Task\r
+       .short  _vRegTest2Task\r
 \r
        .extern _vRegTestError\r
        .extern _usRegTest1LoopCounter\r
@@ -90,7 +91,7 @@
  * contain the expected value.  An incorrect value being indicative of an\r
  * error in the context switch mechanism.\r
  */\r
-vRegTest1:\r
+_vRegTest1Task:\r
 \r
        /* First fill the registers. */\r
        MOVW    AX, #0x1122\r
@@ -116,29 +117,29 @@ _loop1:
 \r
        /* Compare with the expected value. */\r
        CMPW    AX, #0x1122\r
-       BZ              $5\r
+       BZ              $.+5\r
 \r
        /* Jump over the branch to vRegTestError() if the register contained the\r
        expected value - otherwise flag an error by executing vRegTestError(). */\r
-       BR              !_vRegTestError\r
+       BR              !!_vRegTestError\r
 \r
        /* Repeat for all the registers. */\r
        MOVW    AX, BC\r
        CMPW    AX, #0x3344\r
-       BZ              $5\r
-       BR              !_vRegTestError\r
+       BZ              $.+5\r
+       BR              !!_vRegTestError\r
        MOVW    AX, DE\r
        CMPW    AX, #0x5566\r
-       BZ              $5\r
-       BR              !_vRegTestError\r
+       BZ              $.+5\r
+       BR              !!_vRegTestError\r
        MOVW    AX, HL\r
        CMPW    AX, #0x7788\r
-       BZ              $5\r
-       BR              !_vRegTestError\r
+       BZ              $.+5\r
+       BR              !!_vRegTestError\r
        MOV             A, CS\r
        CMP             A, #0x01\r
-       BZ              $5\r
-       BR              !_vRegTestError\r
+       BZ              $.+5\r
+       BR              !!_vRegTestError\r
 \r
 #if __DATA_MODEL__ == __DATA_MODEL_FAR__\r
 \r
@@ -146,8 +147,8 @@ _loop1:
        test it when using the far model. */\r
        MOV             A, ES\r
        CMP             A, #0x02\r
-       BZ              $5\r
-       BR              !_vRegTestError\r
+       BZ              $.+5\r
+       BR              !!_vRegTestError\r
 \r
 #endif\r
 \r
@@ -155,7 +156,7 @@ _loop1:
        INCW    !_usRegTest1LoopCounter\r
 \r
        MOVW    AX, #0x1122\r
-       BR              !_loop1\r
+       BR              !!_loop1\r
 \r
 \r
 /*\r
@@ -163,7 +164,7 @@ _loop1:
  * contain the expected value.  An incorrect value being indicative of an\r
  * error in the context switch mechanism.\r
  */\r
-vRegTest2:\r
+_vRegTest2Task:\r
 \r
        MOVW    AX, #0x99aa\r
        MOVW    BC, #0xbbcc\r
@@ -179,31 +180,31 @@ vRegTest2:
 \r
 _loop2:\r
        CMPW    AX, #0x99aa\r
-       BZ              $5\r
-       BR              !_vRegTestError\r
+       BZ              $.+5\r
+       BR              !!_vRegTestError\r
        MOVW    AX, BC\r
        CMPW    AX, #0xbbcc\r
-       BZ              $5\r
-       BR              !_vRegTestError\r
+       BZ              $.+5\r
+       BR              !!_vRegTestError\r
        MOVW    AX, DE\r
        CMPW    AX, #0xddee\r
-       BZ              $5\r
-       BR              !_vRegTestError\r
+       BZ              $.+5\r
+       BR              !!_vRegTestError\r
        MOVW    AX, HL\r
        CMPW    AX, #0xff12\r
-       BZ              $5\r
-       BR              !_vRegTestError\r
+       BZ              $.+5\r
+       BR              !!_vRegTestError\r
        MOV             A, CS\r
        CMP             A, #0x03\r
-       BZ              $5\r
-       BR              !_vRegTestError\r
+       BZ              $.+5\r
+       BR              !!_vRegTestError\r
 \r
 #if __DATA_MODEL__ == __DATA_MODEL_FAR__\r
 \r
        MOV             A, ES\r
        CMP             A, #0x04\r
-       BZ              $5\r
-       BR              !_vRegTestError\r
+       BZ              $.+5\r
+       BR              !!_vRegTestError\r
 \r
 #endif\r
 \r
@@ -211,8 +212,7 @@ _loop2:
        INCW    !_usRegTest2LoopCounter\r
 \r
        MOVW    AX, #0x99aa\r
-       BR              !_loop2\r
-\r
+       BR              !!_loop2\r
 \r
        .end\r
 \r
index 001539271907461325e1b70f134cd935911dff33..211185831dfc39910830775e228de589f609e0f2 100644 (file)
@@ -15,8 +15,9 @@
 
 /* Hardware includes. */
 #include "port_iodefine.h"
+#include "LED.h"
 \r
-void HardwareSetup(void)\r
+void HardwareSetup( void )\r
 {\r
 unsigned char ucResetFlag = RESF;
 
index 4a6e6d1b0a634f1bd978e2f37d4677c8715feb4c..0a1aaa2427a60bf5af43fd42a55a115e5e21cf44 100644 (file)
@@ -159,6 +159,11 @@ its own executions. */
 /* A block time of zero simple means "don't block". */\r
 #define mainDONT_BLOCK                                         ( 0U )\r
 \r
+/* Values that are passed as parameters into the reg test tasks (purely to\r
+ensure task parameters are passed correctly). */\r
+#define mainREG_TEST_1_PARAMETER                       ( ( void * ) 0x1234 )\r
+#define mainREG_TEST_2_PARAMETER                       ( ( void * ) 0x5678 )\r
+\r
 /*-----------------------------------------------------------*/\r
 \r
 /*\r
@@ -172,11 +177,22 @@ static void prvCheckTimerCallback( xTimerHandle xTimer );
 static void prvDemoTimerCallback( xTimerHandle xTimer );\r
 \r
 /*\r
- * Functions that define the RegTest tasks, as described at the top of this file.\r
+ * Functions that define the RegTest tasks, as described at the top of this\r
+ * file.  The RegTest tasks are written (necessarily) in assembler.  Their\r
+ * entry points are written in C to allow for easy checking of the task\r
+ * parameter values.\r
  */\r
-extern void vRegTest1( void *pvParameters );\r
-extern void vRegTest2( void *pvParameters );\r
+extern void vRegTest1Task( void );\r
+extern void vRegTest2Task( void );\r
+static void prvRegTest1Entry( void *pvParameters );\r
+static void prvRegTest2Entry( void *pvParameters );\r
 \r
+/*\r
+ * Called if a RegTest task discovers an error as a mechanism to stop the\r
+ * tasks loop counter incrementing (so the check task can detect that an\r
+ * error exists).\r
+ */\r
+void vRegTestError( void );\r
 \r
 /*-----------------------------------------------------------*/\r
 \r
@@ -201,19 +217,23 @@ short main( void )
        ucTemp = RESF;\r
        ucTemp = sizeof( char* );\r
        ucTemp = sizeof( pdTASK_CODE );\r
+       P1 &= 0xFE; PM1 &= 0xFE;\r
+       P1_bit.no0 = 1;\r
+\r
 \r
        /* Creates all the tasks and timers, then starts the scheduler. */\r
 \r
        /* First create the 'standard demo' tasks.  These are used to demonstrate\r
        API functions being used and also to test the kernel port.  More information\r
        is provided on the FreeRTOS.org WEB site. */\r
-       vStartDynamicPriorityTasks();\r
+//     vStartDynamicPriorityTasks();\r
+#warning Runs if the debugger is not connected and vStartDynamicPriorityTasks() is commented out.\r
        vStartPolledQueueTasks( tskIDLE_PRIORITY );\r
        vCreateBlockTimeTasks();\r
 \r
        /* Create the RegTest tasks as described at the top of this file. */\r
-//     xTaskCreate( vRegTest1, "Reg1", configMINIMAL_STACK_SIZE, NULL, 0, NULL );\r
-//     xTaskCreate( vRegTest2, "Reg2", configMINIMAL_STACK_SIZE, NULL, 0, NULL );\r
+       xTaskCreate( prvRegTest1Entry, "Reg1", configMINIMAL_STACK_SIZE, mainREG_TEST_1_PARAMETER, tskIDLE_PRIORITY, NULL );\r
+       xTaskCreate( prvRegTest2Entry, "Reg2", configMINIMAL_STACK_SIZE, mainREG_TEST_2_PARAMETER, tskIDLE_PRIORITY, NULL );\r
 \r
        /* Create the software timer that performs the 'check' functionality,\r
        as described at the top of this file. */\r
@@ -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\r
        has been found in any tasks. */\r
        LED_BIT = !LED_BIT;\r
+\r
+       if( xTaskGetTickCount() > ( ( portTickType ) 10000 / portTICK_RATE_MS ) )\r
+       {\r
+               /* Turn off the LED used to visualise a reset. */\r
+               P1_bit.no0 = 0;\r
+       }\r
 }\r
 /*-----------------------------------------------------------*/\r
 \r
@@ -339,7 +365,7 @@ void vRegTestError( void )
 {\r
        /* Called by both reg test tasks if an error is found.  There is no way out\r
        of this function so the loop counter of the calling task will stop\r
-       incrementing, which will result in the check timer signialling an error. */\r
+       incrementing, which will result in the check timer signaling an error. */\r
        for( ;; );\r
 }\r
 /*-----------------------------------------------------------*/\r
@@ -352,6 +378,7 @@ void vApplicationMallocFailedHook( void )
        timers, and semaphores.  The size of the FreeRTOS heap is set by the\r
        configTOTAL_HEAP_SIZE configuration constant in FreeRTOSConfig.h. */\r
        taskDISABLE_INTERRUPTS();\r
+       P1_bit.no0 = 0;\r
        for( ;; );\r
 }\r
 /*-----------------------------------------------------------*/\r
@@ -365,6 +392,7 @@ void vApplicationStackOverflowHook( xTaskHandle pxTask, signed char *pcTaskName
        configCHECK_FOR_STACK_OVERFLOW is defined to 1 or 2.  This hook\r
        function is called if a stack overflow is detected. */\r
        taskDISABLE_INTERRUPTS();\r
+       P1_bit.no0 = 0;\r
        for( ;; );\r
 }\r
 /*-----------------------------------------------------------*/\r
@@ -384,3 +412,47 @@ volatile size_t xFreeHeapSpace;
 }\r
 /*-----------------------------------------------------------*/\r
 \r
+static void prvRegTest1Entry( void *pvParameters )\r
+{\r
+       /* If the parameter has its expected value then start the first reg test\r
+       task (this is only done to test that the RTOS port is correctly handling\r
+       task parameters. */\r
+       if( pvParameters == mainREG_TEST_1_PARAMETER )\r
+       {\r
+               vRegTest1Task();\r
+       }\r
+       else\r
+       {\r
+               vRegTestError();\r
+       }\r
+\r
+       /* It is not possible to get here as neither of the two functions called\r
+       above will ever return. */\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
+static void prvRegTest2Entry( void *pvParameters )\r
+{\r
+       /* If the parameter has its expected value then start the first reg test\r
+       task (this is only done to test that the RTOS port is correctly handling\r
+       task parameters. */\r
+       if( pvParameters == mainREG_TEST_2_PARAMETER )\r
+       {\r
+               vRegTest2Task();\r
+       }\r
+       else\r
+       {\r
+               vRegTestError();\r
+       }\r
+\r
+       /* It is not possible to get here as neither of the two functions called\r
+       above will ever return. */\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
+void vAssertCalled( void )\r
+{\r
+       taskDISABLE_INTERRUPTS();\r
+       P1_bit.no0 = 0;\r
+       for( ;; );\r
+}\r