mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-04-20 21:41:59 -04:00
First pass at adding R4F floating point support.
This commit is contained in:
parent
fe2163ede4
commit
9ff79da901
|
@ -26,45 +26,45 @@
|
||||||
<listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=libc.a"/>
|
<listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=libc.a"/>
|
||||||
<listOptionValue builtIn="false" value="OUTPUT_TYPE=executable"/>
|
<listOptionValue builtIn="false" value="OUTPUT_TYPE=executable"/>
|
||||||
</option>
|
</option>
|
||||||
<option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.1381424494" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="4.9.7" valueType="string"/>
|
<option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.1381424494" name="Compiler version" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="4.9.7" valueType="string"/>
|
||||||
<targetPlatform id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.exe.targetPlatformDebug.1179903155" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.exe.targetPlatformDebug"/>
|
<targetPlatform id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.exe.targetPlatformDebug.1179903155" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.exe.targetPlatformDebug"/>
|
||||||
<builder buildPath="${BuildDirectory}" id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.exe.builderDebug.1089496991" name="GNU Make.Debug" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.exe.builderDebug"/>
|
<builder buildPath="${BuildDirectory}" id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.exe.builderDebug.1089496991" keepEnvironmentInBuildfile="false" name="GNU Make" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.exe.builderDebug"/>
|
||||||
<tool id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.exe.compilerDebug.696952532" name="ARM Compiler" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.exe.compilerDebug">
|
<tool id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.exe.compilerDebug.696952532" name="ARM Compiler" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.exe.compilerDebug">
|
||||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.CODE_STATE.623387114" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.CODE_STATE" value="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.CODE_STATE.32" valueType="enumerated"/>
|
<option id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.CODE_STATE.623387114" name="Designate code state, 16-bit (thumb) or 32-bit (--code_state)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.CODE_STATE" value="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.CODE_STATE.32" valueType="enumerated"/>
|
||||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.SILICON_VERSION.1841890606" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.SILICON_VERSION" value="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.SILICON_VERSION.7R4" valueType="enumerated"/>
|
<option id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.SILICON_VERSION.1841890606" name="Target processor version (--silicon_version, -mv)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.SILICON_VERSION" value="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.SILICON_VERSION.7R4" valueType="enumerated"/>
|
||||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.FLOAT_SUPPORT.167466935" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.FLOAT_SUPPORT" value="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.FLOAT_SUPPORT._none" valueType="enumerated"/>
|
<option id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.FLOAT_SUPPORT.167466935" name="Specify floating point support (--float_support)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.FLOAT_SUPPORT" value="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.FLOAT_SUPPORT._none" valueType="enumerated"/>
|
||||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.ABI.1404444528" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.ABI" value="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.ABI.eabi" valueType="enumerated"/>
|
<option id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.ABI.1404444528" name="Application binary interface (tiabi, ti_arm9_abi, eabi) (--abi)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.ABI" value="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.ABI.eabi" valueType="enumerated"/>
|
||||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.ENUM_TYPE.443601845" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.ENUM_TYPE" value="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.ENUM_TYPE.packed" valueType="enumerated"/>
|
<option id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.ENUM_TYPE.443601845" name="Designate enum type (Default is packed for EABI) (--enum_type)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.ENUM_TYPE" value="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.ENUM_TYPE.packed" valueType="enumerated"/>
|
||||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.LITTLE_ENDIAN.514210421" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.LITTLE_ENDIAN" value="true" valueType="boolean"/>
|
<option id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.LITTLE_ENDIAN.514210421" name="Little endian code (--little_endian, -me)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.LITTLE_ENDIAN" value="true" valueType="boolean"/>
|
||||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.OPT_LEVEL.267212406" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.OPT_LEVEL" value="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.OPT_LEVEL.3" valueType="enumerated"/>
|
<option id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.OPT_LEVEL.267212406" name="Optimization level (--opt_level, -O)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.OPT_LEVEL" value="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.OPT_LEVEL.3" valueType="enumerated"/>
|
||||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.DEBUGGING_MODEL.1669626848" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.DEBUGGING_MODEL" value="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF" valueType="enumerated"/>
|
<option id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.DEBUGGING_MODEL.1669626848" name="Debugging model" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.DEBUGGING_MODEL" value="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF" valueType="enumerated"/>
|
||||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.INCLUDE_PATH.1953076587" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.INCLUDE_PATH" valueType="includePath">
|
<option id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.INCLUDE_PATH.1953076587" name="Add dir to #include search path (--include_path, -I)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.INCLUDE_PATH" valueType="includePath">
|
||||||
<listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>
|
<listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>
|
||||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}}""/>
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}}""/>
|
||||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/demo}""/>
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/demo}""/>
|
||||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/os}""/>
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/os}""/>
|
||||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/startup}""/>
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/startup}""/>
|
||||||
</option>
|
</option>
|
||||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.DIAG_WARNING.588172833" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.DIAG_WARNING" valueType="stringList">
|
<option id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.DIAG_WARNING.588172833" name="Treat diagnostic <id> as warning (--diag_warning, -pdsw)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.DIAG_WARNING" valueType="stringList">
|
||||||
<listOptionValue builtIn="false" value="225"/>
|
<listOptionValue builtIn="false" value="225"/>
|
||||||
</option>
|
</option>
|
||||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.DISPLAY_ERROR_NUMBER.1829685666" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/>
|
<option id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.DISPLAY_ERROR_NUMBER.1829685666" name="Emit diagnostic identifier numbers (--display_error_number, -pden)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/>
|
||||||
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compiler.inputType__C_SRCS.1529542724" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compiler.inputType__C_SRCS"/>
|
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compiler.inputType__C_SRCS.1529542724" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compiler.inputType__C_SRCS"/>
|
||||||
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compiler.inputType__CPP_SRCS.1515585759" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compiler.inputType__CPP_SRCS"/>
|
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compiler.inputType__CPP_SRCS.1515585759" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compiler.inputType__CPP_SRCS"/>
|
||||||
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compiler.inputType__ASM_SRCS.254481684" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compiler.inputType__ASM_SRCS"/>
|
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compiler.inputType__ASM_SRCS.254481684" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compiler.inputType__ASM_SRCS"/>
|
||||||
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compiler.inputType__ASM2_SRCS.892140900" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compiler.inputType__ASM2_SRCS"/>
|
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compiler.inputType__ASM2_SRCS.892140900" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compiler.inputType__ASM2_SRCS"/>
|
||||||
</tool>
|
</tool>
|
||||||
<tool id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.exe.linkerDebug.1033617493" name="ARM Linker" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.exe.linkerDebug">
|
<tool id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.exe.linkerDebug.1033617493" name="ARM Linker" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.exe.linkerDebug">
|
||||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.linkerID.OUTPUT_FILE.1902415178" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.linkerID.OUTPUT_FILE" value=""${ProjName}.out"" valueType="string"/>
|
<option id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.linkerID.OUTPUT_FILE.1902415178" name="Specify output file name (--output_file, -o)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.linkerID.OUTPUT_FILE" value=""${ProjName}.out"" valueType="string"/>
|
||||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.linkerID.STACK_SIZE.1479532073" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.linkerID.STACK_SIZE" value="0" valueType="string"/>
|
<option id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.linkerID.STACK_SIZE.1479532073" name="Set C system stack size (--stack_size, -stack)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.linkerID.STACK_SIZE" value="0" valueType="string"/>
|
||||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.linkerID.MAP_FILE.749910416" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.linkerID.MAP_FILE" value=""${ProjName}.map"" valueType="string"/>
|
<option id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.linkerID.MAP_FILE.749910416" name="Input and output sections listed into <file> (--map_file, -m)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.linkerID.MAP_FILE" value=""${ProjName}.map"" valueType="string"/>
|
||||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.linkerID.HEAP_SIZE.153308438" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.linkerID.HEAP_SIZE" value="4096" valueType="string"/>
|
<option id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.linkerID.HEAP_SIZE.153308438" name="Heap size for C/C++ dynamic memory allocation (--heap_size, -heap)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.linkerID.HEAP_SIZE" value="4096" valueType="string"/>
|
||||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.linkerID.SEARCH_PATH.1359859481" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.linkerID.SEARCH_PATH" valueType="stringList">
|
<option id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.linkerID.SEARCH_PATH.1359859481" name="Add <dir> to library search path (--search_path, -i)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.linkerID.SEARCH_PATH" valueType="stringList">
|
||||||
<listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/lib""/>
|
<listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/lib""/>
|
||||||
<listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>
|
<listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>
|
||||||
</option>
|
</option>
|
||||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.linkerID.DISPLAY_ERROR_NUMBER.1618522691" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.linkerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/>
|
<option id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.linkerID.DISPLAY_ERROR_NUMBER.1618522691" name="Emit diagnostic identifier numbers (--display_error_number)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.linkerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/>
|
||||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.linkerID.LIBRARY.498176643" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.linkerID.LIBRARY" valueType="libs">
|
<option id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.linkerID.LIBRARY.498176643" name="Include library file or command file as input (--library, -l)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.linkerID.LIBRARY" valueType="libs">
|
||||||
<listOptionValue builtIn="false" value=""libc.a""/>
|
<listOptionValue builtIn="false" value=""libc.a""/>
|
||||||
</option>
|
</option>
|
||||||
</tool>
|
</tool>
|
||||||
|
@ -80,8 +80,8 @@
|
||||||
</storageModule>
|
</storageModule>
|
||||||
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
||||||
</cconfiguration>
|
</cconfiguration>
|
||||||
<cconfiguration id="com.ti.ccstudio.buildDefinitions.TMS470.Release.1557389116">
|
<cconfiguration id="com.ti.ccstudio.buildDefinitions.TMS470.Debug.580416121.1629342573">
|
||||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.ti.ccstudio.buildDefinitions.TMS470.Release.1557389116" moduleId="org.eclipse.cdt.core.settings" name="Release">
|
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.ti.ccstudio.buildDefinitions.TMS470.Debug.580416121.1629342573" moduleId="org.eclipse.cdt.core.settings" name="Debug_with_FPU">
|
||||||
<externalSettings/>
|
<externalSettings/>
|
||||||
<extensions>
|
<extensions>
|
||||||
<extension id="com.ti.ccstudio.binaryparser.CoffParser" point="org.eclipse.cdt.core.BinaryParser"/>
|
<extension id="com.ti.ccstudio.binaryparser.CoffParser" point="org.eclipse.cdt.core.BinaryParser"/>
|
||||||
|
@ -91,64 +91,67 @@
|
||||||
</extensions>
|
</extensions>
|
||||||
</storageModule>
|
</storageModule>
|
||||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||||
<configuration artifactExtension="out" artifactName="${ProjName}" buildProperties="" cleanCommand="${CG_CLEAN_CMD}" description="" id="com.ti.ccstudio.buildDefinitions.TMS470.Release.1557389116" name="Release" parent="com.ti.ccstudio.buildDefinitions.TMS470.Release">
|
<configuration artifactExtension="out" artifactName="${ProjName}" buildProperties="" cleanCommand="${CG_CLEAN_CMD}" description="" id="com.ti.ccstudio.buildDefinitions.TMS470.Debug.580416121.1629342573" name="Debug_with_FPU" parent="com.ti.ccstudio.buildDefinitions.TMS470.Debug">
|
||||||
<folderInfo id="com.ti.ccstudio.buildDefinitions.TMS470.Release.1557389116." name="/" resourcePath="">
|
<folderInfo id="com.ti.ccstudio.buildDefinitions.TMS470.Debug.580416121.1629342573." name="/" resourcePath="">
|
||||||
<toolChain id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.exe.ReleaseToolchain.1510001903" name="TI Build Tools" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.exe.ReleaseToolchain" targetTool="com.ti.ccstudio.buildDefinitions.TMS470_4.9.exe.linkerRelease.1567342118">
|
<toolChain id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.exe.DebugToolchain.1409377084" name="TI Build Tools" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.TMS470_4.9.exe.linkerDebug.1033617493">
|
||||||
<option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.266621205" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
|
<option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1069870709" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
|
||||||
<listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=Cortex R.RM48L952"/>
|
<listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=Cortex R.RM48L950"/>
|
||||||
<listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/>
|
<listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/>
|
||||||
<listOptionValue builtIn="false" value="OUTPUT_FORMAT=ELF"/>
|
<listOptionValue builtIn="false" value="OUTPUT_FORMAT=ELF"/>
|
||||||
<listOptionValue builtIn="false" value="CCS_MBS_VERSION=5.1.0.01"/>
|
<listOptionValue builtIn="false" value="CCS_MBS_VERSION=5.1.0.01"/>
|
||||||
<listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=rtsv7R4_T_le_v3D16_eabi.lib"/>
|
<listOptionValue builtIn="false" value="LINKER_COMMAND_FILE=sys_link.cmd"/>
|
||||||
|
<listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=libc.a"/>
|
||||||
<listOptionValue builtIn="false" value="OUTPUT_TYPE=executable"/>
|
<listOptionValue builtIn="false" value="OUTPUT_TYPE=executable"/>
|
||||||
</option>
|
</option>
|
||||||
<option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.1859769006" name="Compiler version" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="4.9.5" valueType="string"/>
|
<option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.917449487" name="Compiler version" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="4.9.7" valueType="string"/>
|
||||||
<targetPlatform id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.exe.targetPlatformRelease.1886854345" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.exe.targetPlatformRelease"/>
|
<targetPlatform id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.exe.targetPlatformDebug.377149914" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.exe.targetPlatformDebug"/>
|
||||||
<builder buildPath="${BuildDirectory}" id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.exe.builderRelease.2092310904" keepEnvironmentInBuildfile="false" name="GNU Make" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.exe.builderRelease"/>
|
<builder buildPath="${BuildDirectory}" id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.exe.builderDebug.10592361" keepEnvironmentInBuildfile="false" name="GNU Make" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.exe.builderDebug"/>
|
||||||
<tool id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.exe.compilerRelease.709121230" name="ARM Compiler" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.exe.compilerRelease">
|
<tool id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.exe.compilerDebug.1091814429" name="ARM Compiler" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.exe.compilerDebug">
|
||||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.CODE_STATE.856988966" name="Designate code state, 16-bit (thumb) or 32-bit (--code_state)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.CODE_STATE" value="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.CODE_STATE.32" valueType="enumerated"/>
|
<option id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.CODE_STATE.90735372" name="Designate code state, 16-bit (thumb) or 32-bit (--code_state)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.CODE_STATE" value="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.CODE_STATE.32" valueType="enumerated"/>
|
||||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.SILICON_VERSION.1200799451" name="Target processor version (--silicon_version, -mv)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.SILICON_VERSION" value="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.SILICON_VERSION.7R4" valueType="enumerated"/>
|
<option id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.SILICON_VERSION.1017275641" name="Target processor version (--silicon_version, -mv)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.SILICON_VERSION" value="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.SILICON_VERSION.7R4" valueType="enumerated"/>
|
||||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.FLOAT_SUPPORT.563519534" name="Specify floating point support (--float_support)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.FLOAT_SUPPORT" value="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.FLOAT_SUPPORT.VFPv3D16" valueType="enumerated"/>
|
<option id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.FLOAT_SUPPORT.311679819" name="Specify floating point support (--float_support)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.FLOAT_SUPPORT" value="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.FLOAT_SUPPORT.VFPv3D16" valueType="enumerated"/>
|
||||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.ABI.984902156" name="Application binary interface (tiabi, ti_arm9_abi, eabi) (--abi)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.ABI" value="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.ABI.eabi" valueType="enumerated"/>
|
<option id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.ABI.987144696" name="Application binary interface (tiabi, ti_arm9_abi, eabi) (--abi)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.ABI" value="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.ABI.eabi" valueType="enumerated"/>
|
||||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.ENUM_TYPE.1806392852" name="Designate enum type (Default is packed for EABI) (--enum_type)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.ENUM_TYPE" value="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.ENUM_TYPE.packed" valueType="enumerated"/>
|
<option id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.ENUM_TYPE.533021714" name="Designate enum type (Default is packed for EABI) (--enum_type)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.ENUM_TYPE" value="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.ENUM_TYPE.packed" valueType="enumerated"/>
|
||||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.DIAG_WARNING.292806785" name="Treat diagnostic <id> as warning (--diag_warning, -pdsw)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.DIAG_WARNING" valueType="stringList">
|
<option id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.LITTLE_ENDIAN.547652161" name="Little endian code (--little_endian, -me)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.LITTLE_ENDIAN" value="true" valueType="boolean"/>
|
||||||
|
<option id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.OPT_LEVEL.1159973282" name="Optimization level (--opt_level, -O)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.OPT_LEVEL" value="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.OPT_LEVEL.3" valueType="enumerated"/>
|
||||||
|
<option id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.DEBUGGING_MODEL.1521598567" name="Debugging model" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.DEBUGGING_MODEL" value="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF" valueType="enumerated"/>
|
||||||
|
<option id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.INCLUDE_PATH.207319174" name="Add dir to #include search path (--include_path, -I)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.INCLUDE_PATH" valueType="includePath">
|
||||||
|
<listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}}""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/demo}""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/os}""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/startup}""/>
|
||||||
|
</option>
|
||||||
|
<option id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.DIAG_WARNING.1653100908" name="Treat diagnostic <id> as warning (--diag_warning, -pdsw)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.DIAG_WARNING" valueType="stringList">
|
||||||
<listOptionValue builtIn="false" value="225"/>
|
<listOptionValue builtIn="false" value="225"/>
|
||||||
</option>
|
</option>
|
||||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.DISPLAY_ERROR_NUMBER.560946167" name="Emit diagnostic identifier numbers (--display_error_number, -pden)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/>
|
<option id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.DISPLAY_ERROR_NUMBER.1187428873" name="Emit diagnostic identifier numbers (--display_error_number, -pden)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/>
|
||||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.INCLUDE_PATH.1735407543" name="Add dir to #include search path (--include_path, -I)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.INCLUDE_PATH" valueType="includePath">
|
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compiler.inputType__C_SRCS.2129245761" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compiler.inputType__C_SRCS"/>
|
||||||
<listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>
|
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compiler.inputType__CPP_SRCS.1546995708" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compiler.inputType__CPP_SRCS"/>
|
||||||
</option>
|
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compiler.inputType__ASM_SRCS.935376908" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compiler.inputType__ASM_SRCS"/>
|
||||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.LITTLE_ENDIAN.411357638" name="Little endian code (--little_endian, -me)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compilerID.LITTLE_ENDIAN" value="true" valueType="boolean"/>
|
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compiler.inputType__ASM2_SRCS.2079096160" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compiler.inputType__ASM2_SRCS"/>
|
||||||
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compiler.inputType__C_SRCS.1274560082" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compiler.inputType__C_SRCS"/>
|
|
||||||
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compiler.inputType__CPP_SRCS.1267997378" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compiler.inputType__CPP_SRCS"/>
|
|
||||||
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compiler.inputType__ASM_SRCS.305910033" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compiler.inputType__ASM_SRCS"/>
|
|
||||||
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compiler.inputType__ASM2_SRCS.1606352786" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.compiler.inputType__ASM2_SRCS"/>
|
|
||||||
</tool>
|
</tool>
|
||||||
<tool id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.exe.linkerRelease.1567342118" name="ARM Linker" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.exe.linkerRelease">
|
<tool id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.exe.linkerDebug.2071872550" name="ARM Linker" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.exe.linkerDebug">
|
||||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.linkerID.OUTPUT_FILE.1993234820" name="Specify output file name (--output_file, -o)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.linkerID.OUTPUT_FILE" value=""${ProjName}.out"" valueType="string"/>
|
<option id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.linkerID.OUTPUT_FILE.427459274" name="Specify output file name (--output_file, -o)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.linkerID.OUTPUT_FILE" value=""${ProjName}.out"" valueType="string"/>
|
||||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.linkerID.MAP_FILE.2106964463" name="Input and output sections listed into <file> (--map_file, -m)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.linkerID.MAP_FILE" value=""${ProjName}.map"" valueType="string"/>
|
<option id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.linkerID.STACK_SIZE.1308392207" name="Set C system stack size (--stack_size, -stack)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.linkerID.STACK_SIZE" value="0" valueType="string"/>
|
||||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.linkerID.DISPLAY_ERROR_NUMBER.1672298509" name="Emit diagnostic identifier numbers (--display_error_number)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.linkerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/>
|
<option id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.linkerID.MAP_FILE.906805746" name="Input and output sections listed into <file> (--map_file, -m)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.linkerID.MAP_FILE" value=""${ProjName}.map"" valueType="string"/>
|
||||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.linkerID.SEARCH_PATH.815216306" name="Add <dir> to library search path (--search_path, -i)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.linkerID.SEARCH_PATH" valueType="stringList">
|
<option id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.linkerID.HEAP_SIZE.885342969" name="Heap size for C/C++ dynamic memory allocation (--heap_size, -heap)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.linkerID.HEAP_SIZE" value="4096" valueType="string"/>
|
||||||
|
<option id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.linkerID.SEARCH_PATH.46804117" name="Add <dir> to library search path (--search_path, -i)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.linkerID.SEARCH_PATH" valueType="stringList">
|
||||||
<listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/lib""/>
|
<listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/lib""/>
|
||||||
<listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>
|
<listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>
|
||||||
</option>
|
</option>
|
||||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.linkerID.LIBRARY.255790447" name="Include library file or command file as input (--library, -l)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.linkerID.LIBRARY" valueType="libs">
|
<option id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.linkerID.DISPLAY_ERROR_NUMBER.1957385137" name="Emit diagnostic identifier numbers (--display_error_number)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.linkerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/>
|
||||||
<listOptionValue builtIn="false" value=""rtsv7R4_T_le_v3D16_eabi.lib""/>
|
<option id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.linkerID.LIBRARY.1354746240" name="Include library file or command file as input (--library, -l)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.linkerID.LIBRARY" valueType="libs">
|
||||||
|
<listOptionValue builtIn="false" value=""libc.a""/>
|
||||||
</option>
|
</option>
|
||||||
</tool>
|
</tool>
|
||||||
</toolChain>
|
</toolChain>
|
||||||
</folderInfo>
|
</folderInfo>
|
||||||
<fileInfo id="com.ti.ccstudio.buildDefinitions.TMS470.Release.1557389116.sys_link.cmd" name="sys_link.cmd" rcbsApplicability="disable" resourcePath="sys_link.cmd" toolsToInvoke="com.ti.ccstudio.buildDefinitions.TMS470_4.9.exe.linkerRelease.1567342118.725136841">
|
<fileInfo id="com.ti.ccstudio.buildDefinitions.TMS470.Debug.580416121.1629342573.sys_link.cmd" name="sys_link.cmd" rcbsApplicability="disable" resourcePath="sys_link.cmd" toolsToInvoke="com.ti.ccstudio.buildDefinitions.TMS470_4.9.exe.linkerDebug.1153043732">
|
||||||
<tool id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.exe.linkerRelease.1567342118.725136841" name="ARM Linker" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.exe.linkerRelease.1567342118"/>
|
<tool id="com.ti.ccstudio.buildDefinitions.TMS470_4.9.exe.linkerDebug.1153043732" name="ARM Linker" superClass="com.ti.ccstudio.buildDefinitions.TMS470_4.9.exe.linkerDebug.2071872550"/>
|
||||||
<tool customBuildStep="true" id="org.eclipse.cdt.managedbuilder.ui.rcbs.1742732949" name="Resource Custom Build Step">
|
|
||||||
<inputType id="org.eclipse.cdt.managedbuilder.ui.rcbs.inputtype.113483468" name="Resource Custom Build Step Input Type">
|
|
||||||
<additionalInput kind="additionalinputdependency" paths=""/>
|
|
||||||
</inputType>
|
|
||||||
<outputType id="org.eclipse.cdt.managedbuilder.ui.rcbs.outputtype.223114845" name="Resource Custom Build Step Output Type"/>
|
|
||||||
</tool>
|
|
||||||
</fileInfo>
|
</fileInfo>
|
||||||
<sourceEntries>
|
<sourceEntries>
|
||||||
<entry excluding="sys_link.cmd" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
|
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
|
||||||
</sourceEntries>
|
</sourceEntries>
|
||||||
</configuration>
|
</configuration>
|
||||||
</storageModule>
|
</storageModule>
|
||||||
|
|
|
@ -10,3 +10,14 @@ encoding//Debug/startup/subdir_rules.mk=UTF-8
|
||||||
encoding//Debug/startup/subdir_vars.mk=UTF-8
|
encoding//Debug/startup/subdir_vars.mk=UTF-8
|
||||||
encoding//Debug/subdir_rules.mk=UTF-8
|
encoding//Debug/subdir_rules.mk=UTF-8
|
||||||
encoding//Debug/subdir_vars.mk=UTF-8
|
encoding//Debug/subdir_vars.mk=UTF-8
|
||||||
|
encoding//Debug_with_FPU/demo/subdir_rules.mk=UTF-8
|
||||||
|
encoding//Debug_with_FPU/demo/subdir_vars.mk=UTF-8
|
||||||
|
encoding//Debug_with_FPU/makefile=UTF-8
|
||||||
|
encoding//Debug_with_FPU/objects.mk=UTF-8
|
||||||
|
encoding//Debug_with_FPU/os/subdir_rules.mk=UTF-8
|
||||||
|
encoding//Debug_with_FPU/os/subdir_vars.mk=UTF-8
|
||||||
|
encoding//Debug_with_FPU/sources.mk=UTF-8
|
||||||
|
encoding//Debug_with_FPU/startup/subdir_rules.mk=UTF-8
|
||||||
|
encoding//Debug_with_FPU/startup/subdir_vars.mk=UTF-8
|
||||||
|
encoding//Debug_with_FPU/subdir_rules.mk=UTF-8
|
||||||
|
encoding//Debug_with_FPU/subdir_vars.mk=UTF-8
|
||||||
|
|
|
@ -79,50 +79,53 @@
|
||||||
* See http://www.freertos.org/a00110.html.
|
* See http://www.freertos.org/a00110.html.
|
||||||
*----------------------------------------------------------*/
|
*----------------------------------------------------------*/
|
||||||
|
|
||||||
#define configUSE_PREEMPTION 1
|
#define configUSE_PREEMPTION 1
|
||||||
#define configUSE_IDLE_HOOK 1
|
#define configUSE_FPU 1
|
||||||
#define configUSE_TICK_HOOK 1
|
#define configUSE_IDLE_HOOK 1
|
||||||
#define configUSE_TRACE_FACILITY 0
|
#define configUSE_TICK_HOOK 1
|
||||||
#define configUSE_16_BIT_TICKS 0
|
#define configUSE_TRACE_FACILITY 0
|
||||||
#define configCPU_CLOCK_HZ ( ( unsigned portLONG ) 90000000 ) /* Timer clock. */
|
#define configUSE_16_BIT_TICKS 0
|
||||||
#define configTICK_RATE_HZ ( ( portTickType ) 1000 )
|
#define configCPU_CLOCK_HZ ( ( unsigned portLONG ) 90000000 ) /* Timer clock. */
|
||||||
#define configMAX_PRIORITIES ( ( unsigned portBASE_TYPE ) 8 )
|
#define configTICK_RATE_HZ ( ( portTickType ) 1000 )
|
||||||
#define configMINIMAL_STACK_SIZE ( ( unsigned portSHORT ) 128 )
|
#define configMAX_PRIORITIES ( ( unsigned portBASE_TYPE ) 8 )
|
||||||
#define configTOTAL_HEAP_SIZE ( ( size_t ) 32768 )
|
#define configMINIMAL_STACK_SIZE ( ( unsigned portSHORT ) 128 )
|
||||||
#define configMAX_TASK_NAME_LEN ( 16 )
|
#define configTOTAL_HEAP_SIZE ( ( size_t ) 32768 )
|
||||||
#define configIDLE_SHOULD_YIELD 1
|
#define configMAX_TASK_NAME_LEN ( 16 )
|
||||||
#define configGENERATE_RUN_TIME_STATS 0
|
#define configIDLE_SHOULD_YIELD 1
|
||||||
#define configUSE_MALLOC_FAILED_HOOK 1
|
#define configGENERATE_RUN_TIME_STATS 0
|
||||||
|
#define configUSE_MALLOC_FAILED_HOOK 1
|
||||||
|
|
||||||
#define configCHECK_FOR_STACK_OVERFLOW 2
|
#define configCHECK_FOR_STACK_OVERFLOW 2
|
||||||
|
|
||||||
/* Co-routine definitions. */
|
/* Co-routine definitions. */
|
||||||
#define configUSE_CO_ROUTINES 0
|
#define configUSE_CO_ROUTINES 0
|
||||||
#define configMAX_CO_ROUTINE_PRIORITIES ( 2 )
|
#define configMAX_CO_ROUTINE_PRIORITIES ( 2 )
|
||||||
|
|
||||||
/* Mutexes */
|
/* Mutexes */
|
||||||
#define configUSE_MUTEXES 1
|
#define configUSE_MUTEXES 1
|
||||||
#define configUSE_RECURSIVE_MUTEXES 1
|
#define configUSE_RECURSIVE_MUTEXES 1
|
||||||
|
|
||||||
/* Semaphores */
|
/* Semaphores */
|
||||||
#define configUSE_COUNTING_SEMAPHORES 1
|
#define configUSE_COUNTING_SEMAPHORES 1
|
||||||
|
|
||||||
/* Timers */
|
/* Timers */
|
||||||
#define configUSE_TIMERS 1
|
#define configUSE_TIMERS 1
|
||||||
#define configTIMER_TASK_PRIORITY ( 2 )
|
#define configTIMER_TASK_PRIORITY ( 2 )
|
||||||
#define configTIMER_QUEUE_LENGTH 10
|
#define configTIMER_QUEUE_LENGTH 10
|
||||||
#define configTIMER_TASK_STACK_DEPTH ( 128 )
|
#define configTIMER_TASK_STACK_DEPTH ( 128 )
|
||||||
|
|
||||||
/* Set the following definitions to 1 to include the API function, or zero to exclude the API function. */
|
/* Set the following definitions to 1 to include the API function, or zero to exclude the API function. */
|
||||||
#define INCLUDE_vTaskPrioritySet 1
|
#define INCLUDE_vTaskPrioritySet 1
|
||||||
#define INCLUDE_uxTaskPriorityGet 1
|
#define INCLUDE_uxTaskPriorityGet 1
|
||||||
#define INCLUDE_vTaskDelete 1
|
#define INCLUDE_vTaskDelete 1
|
||||||
#define INCLUDE_vTaskCleanUpResources 0
|
#define INCLUDE_vTaskCleanUpResources 0
|
||||||
#define INCLUDE_vTaskSuspend 1
|
#define INCLUDE_vTaskSuspend 1
|
||||||
#define INCLUDE_xTaskResumeFromISR 0
|
#define INCLUDE_xTaskResumeFromISR 0
|
||||||
#define INCLUDE_vTaskDelayUntil 1
|
#define INCLUDE_vTaskDelayUntil 1
|
||||||
#define INCLUDE_vTaskDelay 1
|
#define INCLUDE_vTaskDelay 1
|
||||||
#define INCLUDE_xTaskGetSchedulerState 1
|
#define INCLUDE_xTaskGetSchedulerState 1
|
||||||
#define INCLUDE_uxTaskGetStackHighWaterMark 1
|
#define INCLUDE_uxTaskGetStackHighWaterMark 1
|
||||||
|
|
||||||
|
#define configASSERT( x ) if( ( x ) == pdFALSE ) { taskDISABLE_INTERRUPTS(); for( ;; ); }
|
||||||
|
|
||||||
#endif /* FREERTOS_CONFIG_H */
|
#endif /* FREERTOS_CONFIG_H */
|
||||||
|
|
|
@ -113,7 +113,6 @@ extern void main_full( void );
|
||||||
|
|
||||||
/* See the documentation page for this demo on the FreeRTOS.org web site for
|
/* See the documentation page for this demo on the FreeRTOS.org web site for
|
||||||
full information - including hardware setup requirements. */
|
full information - including hardware setup requirements. */
|
||||||
|
|
||||||
int main( void )
|
int main( void )
|
||||||
{
|
{
|
||||||
/* Prepare the hardware to run this demo. */
|
/* Prepare the hardware to run this demo. */
|
||||||
|
|
|
@ -90,9 +90,9 @@ unsigned portLONG ulCriticalNesting = 9999;
|
||||||
|
|
||||||
|
|
||||||
/* Constants required to set up the initial stack of each task. */
|
/* Constants required to set up the initial stack of each task. */
|
||||||
#define portINITIAL_SPSR ( ( portSTACK_TYPE ) 0x1F )
|
#define portINITIAL_SPSR ( ( portSTACK_TYPE ) 0x1F )
|
||||||
#define portINITIAL_FPSCR ( ( portSTACK_TYPE ) 0x00 )
|
#define portINITIAL_FPSCR ( ( portSTACK_TYPE ) 0x00 )
|
||||||
#define portINSTRUCTION_SIZE ( ( portSTACK_TYPE ) 0x04 )
|
#define portINSTRUCTION_SIZE ( ( portSTACK_TYPE ) 0x04 )
|
||||||
#define portTHUMB_MODE_BIT ( ( portSTACK_TYPE ) 0x20 )
|
#define portTHUMB_MODE_BIT ( ( portSTACK_TYPE ) 0x20 )
|
||||||
|
|
||||||
/* The number of words on the stack frame between the saved Top Of Stack and
|
/* The number of words on the stack frame between the saved Top Of Stack and
|
||||||
|
@ -106,6 +106,12 @@ extern void vPortStartFirstTask( void );
|
||||||
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
|
/* Saved as part of the task context. Set to pdFALSE if the task does not
|
||||||
|
require an FPU context. */
|
||||||
|
unsigned long ulTaskHasFPUContext = 0;
|
||||||
|
|
||||||
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* See header file for description.
|
* See header file for description.
|
||||||
|
@ -116,6 +122,13 @@ portSTACK_TYPE *pxOriginalTOS;
|
||||||
|
|
||||||
pxOriginalTOS = pxTopOfStack;
|
pxOriginalTOS = pxTopOfStack;
|
||||||
|
|
||||||
|
#if __TI_VFP_SUPPORT__
|
||||||
|
{
|
||||||
|
/* Ensure the stack is correctly aligned on exit. */
|
||||||
|
pxTopOfStack--;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Setup the initial stack of the task. The stack is set exactly as
|
/* Setup the initial stack of the task. The stack is set exactly as
|
||||||
expected by the portRESTORE_CONTEXT() macro. */
|
expected by the portRESTORE_CONTEXT() macro. */
|
||||||
|
|
||||||
|
@ -167,8 +180,7 @@ portSTACK_TYPE *pxOriginalTOS;
|
||||||
*pxTopOfStack = ( portSTACK_TYPE ) pvParameters; /* R0 */
|
*pxTopOfStack = ( portSTACK_TYPE ) pvParameters; /* R0 */
|
||||||
pxTopOfStack--;
|
pxTopOfStack--;
|
||||||
|
|
||||||
/* The last thing onto the stack is the status register, which is set for
|
/* Set the status register for system mode, with interrupts enabled. */
|
||||||
system mode, with interrupts enabled. */
|
|
||||||
*pxTopOfStack = ( portSTACK_TYPE ) ( ( _get_CPSR() & ~0xFF ) | portINITIAL_SPSR );
|
*pxTopOfStack = ( portSTACK_TYPE ) ( ( _get_CPSR() & ~0xFF ) | portINITIAL_SPSR );
|
||||||
|
|
||||||
if( ( ( unsigned long ) pxCode & 0x01UL ) != 0x00 )
|
if( ( ( unsigned long ) pxCode & 0x01UL ) != 0x00 )
|
||||||
|
@ -177,6 +189,17 @@ portSTACK_TYPE *pxOriginalTOS;
|
||||||
*pxTopOfStack |= portTHUMB_MODE_BIT;
|
*pxTopOfStack |= portTHUMB_MODE_BIT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef __TI_VFP_SUPPORT__
|
||||||
|
{
|
||||||
|
pxTopOfStack--;
|
||||||
|
|
||||||
|
/* The last thing on the stack is the tasks ulUsingFPU value, which by
|
||||||
|
default is set to indicate that the stack frame does not include FPU
|
||||||
|
registers. */
|
||||||
|
*pxTopOfStack = pdFALSE;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
return pxTopOfStack;
|
return pxTopOfStack;
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -307,3 +330,21 @@ void vPortExitCritical( void )
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
|
#if __TI_VFP_SUPPORT__
|
||||||
|
|
||||||
|
void vPortTaskUsesFPU( void )
|
||||||
|
{
|
||||||
|
extern void vPortInitialiseFPSCR( void );
|
||||||
|
|
||||||
|
/* A task is registering the fact that it needs an FPU context. Set the
|
||||||
|
FPU flag (saved as part of the task context. */
|
||||||
|
ulTaskHasFPUContext = pdTRUE;
|
||||||
|
|
||||||
|
/* Initialise the floating point status register. */
|
||||||
|
vPortInitialiseFPSCR();
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* __TI_VFP_SUPPORT__ */
|
||||||
|
|
||||||
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
|
|
|
@ -51,117 +51,203 @@
|
||||||
; licensing and training services.
|
; licensing and training services.
|
||||||
;*/
|
;*/
|
||||||
|
|
||||||
; TCJ: Using SSI interrupt todo portYIELD_WITHIN_API, means that we do not need
|
|
||||||
; to save ulCriticalNesting in the task context
|
|
||||||
|
|
||||||
.text
|
.text
|
||||||
.arm
|
.arm
|
||||||
|
.ref vTaskSwitchContext
|
||||||
|
.ref vTaskIncrementTick
|
||||||
|
.ref ulTaskHasFPUContext
|
||||||
|
.ref pxCurrentTCB
|
||||||
|
|
||||||
;-------------------------------------------------------------------------------
|
;/*-----------------------------------------------------------*/
|
||||||
;
|
;
|
||||||
; Save Task Context
|
; Save Task Context
|
||||||
;
|
;
|
||||||
portSAVE_CONTEXT .macro
|
portSAVE_CONTEXT .macro
|
||||||
stmfd sp!, {r0}
|
DSB
|
||||||
stmfd sp, {sp}^
|
|
||||||
sub sp, sp, #4
|
; Push R0 as we are going to use it
|
||||||
ldmfd sp!, {r0}
|
STMDB SP!, {R0}
|
||||||
stmfd r0!, {lr}
|
|
||||||
mov lr, r0
|
; Set R0 to point to the task stack pointer.
|
||||||
ldmfd sp!, {r0}
|
STMDB SP,{SP}^
|
||||||
stmfd lr, {r0-lr}^
|
SUB SP, SP, #4
|
||||||
sub lr, lr, #0x3C
|
LDMIA SP!,{R0}
|
||||||
.if (__TI_VFPV3D16_SUPPORT__)
|
|
||||||
fstmdbd lr!, {d0-d15}
|
; Push the return address onto the stack.
|
||||||
mrs r0, spsr
|
STMDB R0!, {LR}
|
||||||
fmrx r1, fpscr
|
|
||||||
stmfd lr!, {r0,r1}
|
; Now LR has been saved, it can be used instead of R0.
|
||||||
.else
|
MOV LR, R0
|
||||||
mrs r0, spsr
|
|
||||||
stmfd lr!, {r0}
|
; Pop R0 so it can be saved onto the task stack.
|
||||||
.endif
|
LDMIA SP!, {R0}
|
||||||
ldr r0, curTCB
|
|
||||||
ldr r0, [r0]
|
; Push all the system mode registers onto the task stack.
|
||||||
str lr, [r0]
|
STMDB LR,{R0-LR}^
|
||||||
|
SUB LR, LR, #60
|
||||||
|
|
||||||
|
; Push the SPSR onto the task stack.
|
||||||
|
MRS R0, SPSR
|
||||||
|
STMDB LR!, {R0}
|
||||||
|
|
||||||
|
.if (__TI_VFP_SUPPORT__)
|
||||||
|
;Determine if the task maintains an FPU context.
|
||||||
|
LDR R0, ulFPUContextConst
|
||||||
|
LDR R0, [R0]
|
||||||
|
|
||||||
|
; Test the flag
|
||||||
|
CMP R0, #0
|
||||||
|
|
||||||
|
; If the task is not using a floating point context then skip the
|
||||||
|
; saving of the FPU registers.
|
||||||
|
BEQ PC+3
|
||||||
|
FSTMDBD LR!, {D0-D15}
|
||||||
|
FMRX R1, FPSCR
|
||||||
|
STMFD LR!, {R1}
|
||||||
|
|
||||||
|
; Save the flag
|
||||||
|
STMDB LR!, {R0}
|
||||||
|
.endif
|
||||||
|
|
||||||
|
; Store the new top of stack for the task.
|
||||||
|
LDR R0, pxCurrentTCBConst
|
||||||
|
LDR R0, [R0]
|
||||||
|
STR LR, [R0]
|
||||||
|
|
||||||
.endm
|
.endm
|
||||||
|
|
||||||
;-------------------------------------------------------------------------------
|
;/*-----------------------------------------------------------*/
|
||||||
|
;
|
||||||
; Restore Task Context
|
; Restore Task Context
|
||||||
;
|
;
|
||||||
portRESTORE_CONTEXT .macro
|
portRESTORE_CONTEXT .macro
|
||||||
ldr r0, curTCB
|
LDR R0, pxCurrentTCBConst
|
||||||
ldr r0, [r0]
|
LDR R0, [R0]
|
||||||
ldr lr, [r0]
|
LDR LR, [R0]
|
||||||
.if (__TI_VFPV3D16_SUPPORT__)
|
|
||||||
ldmfd lr!, {r0,r1}
|
.if (__TI_VFP_SUPPORT__)
|
||||||
fldmiad lr!, {d0-d15}
|
; The floating point context flag is the first thing on the stack.
|
||||||
fmxr fpscr, r1
|
LDR R0, ulFPUContextConst
|
||||||
.else
|
LDMFD LR!, {R1}
|
||||||
ldmfd lr!, {r0}
|
STR R1, [R0]
|
||||||
.endif
|
|
||||||
msr spsr_csxf, r0
|
; Test the flag
|
||||||
ldmfd lr, {r0-r14}^
|
CMP R1, #0
|
||||||
ldr lr, [lr, #0x3C]
|
|
||||||
subs pc, lr, #4
|
; If the task is not using a floating point context then skip the
|
||||||
|
; VFP register loads.
|
||||||
|
BEQ PC+3
|
||||||
|
|
||||||
|
; Restore the floating point context.
|
||||||
|
LDMFD LR!, {R0}
|
||||||
|
FLDMIAD LR!, {D0-D15}
|
||||||
|
FMXR FPSCR, R0
|
||||||
|
.endif
|
||||||
|
|
||||||
|
; Get the SPSR from the stack.
|
||||||
|
LDMFD LR!, {R0}
|
||||||
|
MSR SPSR_CF, R0
|
||||||
|
|
||||||
|
; Restore all system mode registers for the task.
|
||||||
|
LDMFD LR, {R0-R14}^
|
||||||
|
|
||||||
|
; Restore the return address.
|
||||||
|
LDR LR, [LR, #+60]
|
||||||
|
|
||||||
|
; And return - correcting the offset in the LR to obtain the
|
||||||
|
; correct address.
|
||||||
|
SUBS PC, LR, #4
|
||||||
.endm
|
.endm
|
||||||
|
|
||||||
;-------------------------------------------------------------------------------
|
;/*-----------------------------------------------------------*/
|
||||||
; Start First Task
|
; Start the first task by restoring its context.
|
||||||
|
|
||||||
.def vPortStartFirstTask
|
.def vPortStartFirstTask
|
||||||
|
|
||||||
vPortStartFirstTask
|
vPortStartFirstTask:
|
||||||
portRESTORE_CONTEXT
|
portRESTORE_CONTEXT
|
||||||
|
|
||||||
;-------------------------------------------------------------------------------
|
;/*-----------------------------------------------------------*/
|
||||||
; Yield Processor
|
; Yield to another task.
|
||||||
|
|
||||||
.def vPortYieldProcessor
|
.def vPortYieldProcessor
|
||||||
.ref vTaskSwitchContext
|
|
||||||
|
|
||||||
vPortYieldProcessor
|
vPortYieldProcessor:
|
||||||
add lr, lr, #4
|
; Within an IRQ ISR the link register has an offset from the true return
|
||||||
|
; address. SWI doesn't do this. Add the offset manually so the ISR
|
||||||
|
; return code can be used.
|
||||||
|
ADD LR, LR, #4
|
||||||
|
|
||||||
|
; First save the context of the current task.
|
||||||
portSAVE_CONTEXT
|
portSAVE_CONTEXT
|
||||||
bl vTaskSwitchContext
|
|
||||||
|
; Select the next task to execute. */
|
||||||
|
BL vTaskSwitchContext
|
||||||
|
|
||||||
|
; Restore the context of the task selected to execute.
|
||||||
portRESTORE_CONTEXT
|
portRESTORE_CONTEXT
|
||||||
|
|
||||||
;-------------------------------------------------------------------------------
|
;/*-----------------------------------------------------------*/
|
||||||
; Yield Processor From Within FreeRTOS API
|
; Yield to another task from within the FreeRTOS API
|
||||||
|
|
||||||
.def vPortYeildWithinAPI
|
.def vPortYeildWithinAPI
|
||||||
|
|
||||||
vPortYeildWithinAPI
|
vPortYeildWithinAPI:
|
||||||
|
; Save the context of the current task.
|
||||||
|
|
||||||
portSAVE_CONTEXT
|
portSAVE_CONTEXT
|
||||||
; clear SSI flag
|
; Clear SSI flag.
|
||||||
movw r0, #0xFFF4
|
MOVW R0, #0xFFF4
|
||||||
movt r0, #0xFFFF
|
MOVT R0, #0xFFFF
|
||||||
ldr r0, [r0];
|
LDR R0, [R0]
|
||||||
; switch task
|
|
||||||
bl vTaskSwitchContext
|
; Select the next task to execute. */
|
||||||
|
BL vTaskSwitchContext
|
||||||
|
|
||||||
|
; Restore the context of the task selected to execute.
|
||||||
portRESTORE_CONTEXT
|
portRESTORE_CONTEXT
|
||||||
|
|
||||||
;-------------------------------------------------------------------------------
|
;/*-----------------------------------------------------------*/
|
||||||
; Preemptive Tick
|
; Preemptive Tick
|
||||||
|
|
||||||
.def vPortPreemptiveTick
|
.def vPortPreemptiveTick
|
||||||
.ref vTaskIncrementTick
|
|
||||||
|
|
||||||
vPortPreemptiveTick
|
vPortPreemptiveTick:
|
||||||
|
|
||||||
|
; Save the context of the current task.
|
||||||
portSAVE_CONTEXT
|
portSAVE_CONTEXT
|
||||||
; clear interrupt flag
|
|
||||||
movw r0, #0xFC88
|
; Clear interrupt flag
|
||||||
movt r0, #0xFFFF
|
MOVW R0, #0xFC88
|
||||||
mov r1, #1
|
MOVT R0, #0xFFFF
|
||||||
str r1, [r0]
|
MOV R1, #1
|
||||||
bl vTaskIncrementTick
|
STR R1, [R0]
|
||||||
bl vTaskSwitchContext
|
|
||||||
|
; Increment the tick count, making any adjustments to the blocked lists
|
||||||
|
; that may be necessary.
|
||||||
|
BL vTaskIncrementTick
|
||||||
|
|
||||||
|
; Select the next task to execute.
|
||||||
|
BL vTaskSwitchContext
|
||||||
|
|
||||||
|
; Restore the context of the task selected to execute.
|
||||||
portRESTORE_CONTEXT
|
portRESTORE_CONTEXT
|
||||||
|
|
||||||
;-------------------------------------------------------------------------------
|
;-------------------------------------------------------------------------------
|
||||||
|
|
||||||
.ref pxCurrentTCB
|
.if (__TI_VFP_SUPPORT__)
|
||||||
curTCB .word pxCurrentTCB
|
|
||||||
|
|
||||||
|
.def vPortInitialiseFPSCR
|
||||||
|
|
||||||
|
vPortInitialiseFPSCR:
|
||||||
|
|
||||||
|
MOV R0, #0
|
||||||
|
FMXR FPSCR, R0
|
||||||
|
BX LR
|
||||||
|
|
||||||
|
.endif ;__TI_VFP_SUPPORT__
|
||||||
|
|
||||||
|
pxCurrentTCBConst .word pxCurrentTCB
|
||||||
|
ulFPUContextConst .word ulTaskHasFPUContext
|
||||||
;-------------------------------------------------------------------------------
|
;-------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
|
@ -68,10 +68,20 @@
|
||||||
;
|
;
|
||||||
.def vRegTestTask1
|
.def vRegTestTask1
|
||||||
.ref ulRegTest1Counter
|
.ref ulRegTest1Counter
|
||||||
|
|
||||||
|
.if (__TI_VFP_SUPPORT__)
|
||||||
|
.ref vPortTaskUsesFPU
|
||||||
|
.endif ;__TI_VFP_SUPPORT__
|
||||||
|
|
||||||
.text
|
.text
|
||||||
.arm
|
.arm
|
||||||
|
|
||||||
vRegTestTask1:
|
vRegTestTask1:
|
||||||
|
.if (__TI_VFP_SUPPORT__)
|
||||||
|
; Let the port layer know that this task needs its FPU context saving.
|
||||||
|
BL vPortTaskUsesFPU
|
||||||
|
.endif
|
||||||
|
|
||||||
; Fill each general purpose register with a known value.
|
; Fill each general purpose register with a known value.
|
||||||
mov r0, #0xFF
|
mov r0, #0xFF
|
||||||
mov r1, #0x11
|
mov r1, #0x11
|
||||||
|
@ -88,11 +98,133 @@ vRegTestTask1:
|
||||||
mov r12, #0xCC
|
mov r12, #0xCC
|
||||||
mov r14, #0xEE
|
mov r14, #0xEE
|
||||||
|
|
||||||
|
.if (__TI_VFP_SUPPORT__)
|
||||||
|
; Fill each FPU register with a known value.
|
||||||
|
vmov d0, r0, r1
|
||||||
|
vmov d1, r2, r3
|
||||||
|
vmov d2, r4, r5
|
||||||
|
vmov d3, r6, r7
|
||||||
|
vmov d4, r8, r9
|
||||||
|
vmov d5, r10, r11
|
||||||
|
vmov d6, r0, r1
|
||||||
|
vmov d7, r2, r3
|
||||||
|
vmov d8, r4, r5
|
||||||
|
vmov d9, r6, r7
|
||||||
|
vmov d10, r8, r9
|
||||||
|
vmov d11, r10, r11
|
||||||
|
vmov d12, r0, r1
|
||||||
|
vmov d13, r2, r3
|
||||||
|
vmov d14, r4, r5
|
||||||
|
vmov d15, r6, r7
|
||||||
|
.endif
|
||||||
|
|
||||||
|
|
||||||
vRegTestLoop1:
|
vRegTestLoop1:
|
||||||
|
|
||||||
; Force yeild
|
; Force yeild
|
||||||
swi #0
|
swi #0
|
||||||
|
|
||||||
|
.if (__TI_VFP_SUPPORT__)
|
||||||
|
; Check all the VFP registers still contain the values set above.
|
||||||
|
; First save registers that are clobbered by the test.
|
||||||
|
push { r0-r1 }
|
||||||
|
|
||||||
|
vmov r0, r1, d0
|
||||||
|
cmp r0, #0xFF
|
||||||
|
bne reg1_error_loopf
|
||||||
|
cmp r1, #0x11
|
||||||
|
bne reg1_error_loopf
|
||||||
|
vmov r0, r1, d1
|
||||||
|
cmp r0, #0x22
|
||||||
|
bne reg1_error_loopf
|
||||||
|
cmp r1, #0x33
|
||||||
|
bne reg1_error_loopf
|
||||||
|
vmov r0, r1, d2
|
||||||
|
cmp r0, #0x44
|
||||||
|
bne reg1_error_loopf
|
||||||
|
cmp r1, #0x55
|
||||||
|
bne reg1_error_loopf
|
||||||
|
vmov r0, r1, d3
|
||||||
|
cmp r0, #0x66
|
||||||
|
bne reg1_error_loopf
|
||||||
|
cmp r1, #0x77
|
||||||
|
bne reg1_error_loopf
|
||||||
|
vmov r0, r1, d4
|
||||||
|
cmp r0, #0x88
|
||||||
|
bne reg1_error_loopf
|
||||||
|
cmp r1, #0x99
|
||||||
|
bne reg1_error_loopf
|
||||||
|
vmov r0, r1, d5
|
||||||
|
cmp r0, #0xAA
|
||||||
|
bne reg1_error_loopf
|
||||||
|
cmp r1, #0xBB
|
||||||
|
bne reg1_error_loopf
|
||||||
|
vmov r0, r1, d6
|
||||||
|
cmp r0, #0xFF
|
||||||
|
bne reg1_error_loopf
|
||||||
|
cmp r1, #0x11
|
||||||
|
bne reg1_error_loopf
|
||||||
|
vmov r0, r1, d7
|
||||||
|
cmp r0, #0x22
|
||||||
|
bne reg1_error_loopf
|
||||||
|
cmp r1, #0x33
|
||||||
|
bne reg1_error_loopf
|
||||||
|
vmov r0, r1, d8
|
||||||
|
cmp r0, #0x44
|
||||||
|
bne reg1_error_loopf
|
||||||
|
cmp r1, #0x55
|
||||||
|
bne reg1_error_loopf
|
||||||
|
vmov r0, r1, d9
|
||||||
|
cmp r0, #0x66
|
||||||
|
bne reg1_error_loopf
|
||||||
|
cmp r1, #0x77
|
||||||
|
bne reg1_error_loopf
|
||||||
|
vmov r0, r1, d10
|
||||||
|
cmp r0, #0x88
|
||||||
|
bne reg1_error_loopf
|
||||||
|
cmp r1, #0x99
|
||||||
|
bne reg1_error_loopf
|
||||||
|
vmov r0, r1, d11
|
||||||
|
cmp r0, #0xAA
|
||||||
|
bne reg1_error_loopf
|
||||||
|
cmp r1, #0xBB
|
||||||
|
bne reg1_error_loopf
|
||||||
|
vmov r0, r1, d12
|
||||||
|
cmp r0, #0xFF
|
||||||
|
bne reg1_error_loopf
|
||||||
|
cmp r1, #0x11
|
||||||
|
bne reg1_error_loopf
|
||||||
|
vmov r0, r1, d13
|
||||||
|
cmp r0, #0x22
|
||||||
|
bne reg1_error_loopf
|
||||||
|
cmp r1, #0x33
|
||||||
|
bne reg1_error_loopf
|
||||||
|
vmov r0, r1, d14
|
||||||
|
cmp r0, #0x44
|
||||||
|
bne reg1_error_loopf
|
||||||
|
cmp r1, #0x55
|
||||||
|
bne reg1_error_loopf
|
||||||
|
vmov r0, r1, d15
|
||||||
|
cmp r0, #0x66
|
||||||
|
bne reg1_error_loopf
|
||||||
|
cmp r1, #0x77
|
||||||
|
bne reg1_error_loopf
|
||||||
|
|
||||||
|
; Restore the registers that were clobbered by the test.
|
||||||
|
pop {r0-r1}
|
||||||
|
|
||||||
|
; VFP register test passed. Jump to the core register test.
|
||||||
|
b reg1_loopf_pass
|
||||||
|
|
||||||
|
reg1_error_loopf:
|
||||||
|
; If this line is hit then a VFP register value was found to be
|
||||||
|
; incorrect.
|
||||||
|
b reg1_error_loopf
|
||||||
|
|
||||||
|
reg1_loopf_pass:
|
||||||
|
|
||||||
|
.endif ;__TI_VFP_SUPPORT__
|
||||||
|
|
||||||
; Test each general purpose register to check that it still contains the
|
; Test each general purpose register to check that it still contains the
|
||||||
; expected known value, jumping to vRegTestError1 if any register contains
|
; expected known value, jumping to vRegTestError1 if any register contains
|
||||||
; an unexpected value.
|
; an unexpected value.
|
||||||
|
@ -151,6 +283,11 @@ vRegTestError1:
|
||||||
.arm
|
.arm
|
||||||
;
|
;
|
||||||
vRegTestTask2:
|
vRegTestTask2:
|
||||||
|
.if (__TI_VFP_SUPPORT__)
|
||||||
|
; Let the port layer know that this task needs its FPU context saving.
|
||||||
|
BL vPortTaskUsesFPU
|
||||||
|
.endif
|
||||||
|
|
||||||
; Fill each general purpose register with a known value.
|
; Fill each general purpose register with a known value.
|
||||||
mov r0, #0xFF000000
|
mov r0, #0xFF000000
|
||||||
mov r1, #0x11000000
|
mov r1, #0x11000000
|
||||||
|
@ -167,8 +304,130 @@ vRegTestTask2:
|
||||||
mov r12, #0xCC000000
|
mov r12, #0xCC000000
|
||||||
mov r14, #0xEE000000
|
mov r14, #0xEE000000
|
||||||
|
|
||||||
|
.if (__TI_VFP_SUPPORT__)
|
||||||
|
|
||||||
|
; Fill each FPU register with a known value.
|
||||||
|
vmov d0, r0, r1
|
||||||
|
vmov d1, r2, r3
|
||||||
|
vmov d2, r4, r5
|
||||||
|
vmov d3, r6, r7
|
||||||
|
vmov d4, r8, r9
|
||||||
|
vmov d5, r10, r11
|
||||||
|
vmov d6, r0, r1
|
||||||
|
vmov d7, r2, r3
|
||||||
|
vmov d8, r4, r5
|
||||||
|
vmov d9, r6, r7
|
||||||
|
vmov d10, r8, r9
|
||||||
|
vmov d11, r10, r11
|
||||||
|
vmov d12, r0, r1
|
||||||
|
vmov d13, r2, r3
|
||||||
|
vmov d14, r4, r5
|
||||||
|
vmov d15, r6, r7
|
||||||
|
.endif
|
||||||
|
|
||||||
vRegTestLoop2:
|
vRegTestLoop2:
|
||||||
|
|
||||||
|
.if (__TI_VFP_SUPPORT__)
|
||||||
|
; Check all the VFP registers still contain the values set above.
|
||||||
|
; First save registers that are clobbered by the test.
|
||||||
|
push { r0-r1 }
|
||||||
|
|
||||||
|
vmov r0, r1, d0
|
||||||
|
cmp r0, #0xFF000000
|
||||||
|
bne reg2_error_loopf
|
||||||
|
cmp r1, #0x11000000
|
||||||
|
bne reg2_error_loopf
|
||||||
|
vmov r0, r1, d1
|
||||||
|
cmp r0, #0x22000000
|
||||||
|
bne reg2_error_loopf
|
||||||
|
cmp r1, #0x33000000
|
||||||
|
bne reg2_error_loopf
|
||||||
|
vmov r0, r1, d2
|
||||||
|
cmp r0, #0x44000000
|
||||||
|
bne reg2_error_loopf
|
||||||
|
cmp r1, #0x55000000
|
||||||
|
bne reg2_error_loopf
|
||||||
|
vmov r0, r1, d3
|
||||||
|
cmp r0, #0x66000000
|
||||||
|
bne reg2_error_loopf
|
||||||
|
cmp r1, #0x77000000
|
||||||
|
bne reg2_error_loopf
|
||||||
|
vmov r0, r1, d4
|
||||||
|
cmp r0, #0x88000000
|
||||||
|
bne reg2_error_loopf
|
||||||
|
cmp r1, #0x99000000
|
||||||
|
bne reg2_error_loopf
|
||||||
|
vmov r0, r1, d5
|
||||||
|
cmp r0, #0xAA000000
|
||||||
|
bne reg2_error_loopf
|
||||||
|
cmp r1, #0xBB000000
|
||||||
|
bne reg2_error_loopf
|
||||||
|
vmov r0, r1, d6
|
||||||
|
cmp r0, #0xFF000000
|
||||||
|
bne reg2_error_loopf
|
||||||
|
cmp r1, #0x11000000
|
||||||
|
bne reg2_error_loopf
|
||||||
|
vmov r0, r1, d7
|
||||||
|
cmp r0, #0x22000000
|
||||||
|
bne reg2_error_loopf
|
||||||
|
cmp r1, #0x33000000
|
||||||
|
bne reg2_error_loopf
|
||||||
|
vmov r0, r1, d8
|
||||||
|
cmp r0, #0x44000000
|
||||||
|
bne reg2_error_loopf
|
||||||
|
cmp r1, #0x55000000
|
||||||
|
bne reg2_error_loopf
|
||||||
|
vmov r0, r1, d9
|
||||||
|
cmp r0, #0x66000000
|
||||||
|
bne reg2_error_loopf
|
||||||
|
cmp r1, #0x77000000
|
||||||
|
bne reg2_error_loopf
|
||||||
|
vmov r0, r1, d10
|
||||||
|
cmp r0, #0x88000000
|
||||||
|
bne reg2_error_loopf
|
||||||
|
cmp r1, #0x99000000
|
||||||
|
bne reg2_error_loopf
|
||||||
|
vmov r0, r1, d11
|
||||||
|
cmp r0, #0xAA000000
|
||||||
|
bne reg2_error_loopf
|
||||||
|
cmp r1, #0xBB000000
|
||||||
|
bne reg2_error_loopf
|
||||||
|
vmov r0, r1, d12
|
||||||
|
cmp r0, #0xFF000000
|
||||||
|
bne reg2_error_loopf
|
||||||
|
cmp r1, #0x11000000
|
||||||
|
bne reg2_error_loopf
|
||||||
|
vmov r0, r1, d13
|
||||||
|
cmp r0, #0x22000000
|
||||||
|
bne reg2_error_loopf
|
||||||
|
cmp r1, #0x33000000
|
||||||
|
bne reg2_error_loopf
|
||||||
|
vmov r0, r1, d14
|
||||||
|
cmp r0, #0x44000000
|
||||||
|
bne reg2_error_loopf
|
||||||
|
cmp r1, #0x55000000
|
||||||
|
bne reg2_error_loopf
|
||||||
|
vmov r0, r1, d15
|
||||||
|
cmp r0, #0x66000000
|
||||||
|
bne reg2_error_loopf
|
||||||
|
cmp r1, #0x77000000
|
||||||
|
bne reg2_error_loopf
|
||||||
|
|
||||||
|
; Restore the registers that were clobbered by the test.
|
||||||
|
pop {r0-r1}
|
||||||
|
|
||||||
|
; VFP register test passed. Jump to the core register test.
|
||||||
|
b reg2_loopf_pass
|
||||||
|
|
||||||
|
reg2_error_loopf:
|
||||||
|
; If this line is hit then a VFP register value was found to be
|
||||||
|
; incorrect.
|
||||||
|
b reg2_error_loopf
|
||||||
|
|
||||||
|
reg2_loopf_pass:
|
||||||
|
|
||||||
|
.endif ;__TI_VFP_SUPPORT__
|
||||||
|
|
||||||
; Test each general purpose register to check that it still contains the
|
; Test each general purpose register to check that it still contains the
|
||||||
; expected known value, jumping to vRegTestError2 if any register contains
|
; expected known value, jumping to vRegTestError2 if any register contains
|
||||||
; an unexpected value.
|
; an unexpected value.
|
||||||
|
|
Loading…
Reference in a new issue