mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-04-19 21:11:57 -04:00
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:
parent
fba04057ec
commit
08b959f143
|
@ -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=""${TCINSTALL}\rl78-elf\optlibinc""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/Common-Demo-Tasks/include}""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src}""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/FreeRTOS_Source/include}""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/FreeRTOS_Source/portable/GCC/RL78}""/>
|
||||||
|
</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=""${workspace_loc:/${ProjName}}\src""/>
|
||||||
|
</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=""${CONFIGDIR}""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${TCINSTALL}\lib\gcc\rl78-elf\\${GCC_VERSION}""/>
|
||||||
|
</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 "${plugin_state_location}/${specs_file}"'" 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 "${plugin_state_location}/specs.cpp"'" 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 "${plugin_state_location}/specs.c"'" 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"/>
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <memoryBlockExpressionList context="reserved-for-future-use"/> "/>
|
<stringAttribute key="org.eclipse.dsf.launch.MEMORY_BLOCKS" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <memoryBlockExpressionList context="reserved-for-future-use"/> "/>
|
||||||
</launchConfiguration>
|
</launchConfiguration>
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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--;
|
||||||
|
|
|
@ -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 )
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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;
|
||||||
|
|
||||||
|
|
|
@ -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( ;; );
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue