Расширить DEIF, загрузку CAN и общую обработку сигналов
Добавить общее ядро DEIF, эмуляцию приборов и переносимые панели Python/Qt. Расширить загрузчики F2812 и F28335, обновление Flash и профиль STM Invertor. Добавить альтернативный МНК Eigen, модели неисправностей и диагностику сигналов. Обновить справочники устройств, проекты CCS и регрессионные проверки.
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<?ccsproject version="1.0"?>
|
||||
<projectOptions>
|
||||
<!-- Описывает ccsVersion: 12.3.0. -->
|
||||
<ccsVersion value="12.3.0" />
|
||||
<!-- Описывает deviceVariant: TMS320C28XX.TMS320F2812. -->
|
||||
<deviceVariant value="TMS320C28XX.TMS320F2812" />
|
||||
<!-- Описывает deviceFamily: C2000. -->
|
||||
<deviceFamily value="C2000" />
|
||||
<!-- Описывает deviceEndianness: little. -->
|
||||
<deviceEndianness value="little" />
|
||||
<!-- Описывает codegenToolVersion: 22.6.0.LTS. -->
|
||||
<codegenToolVersion value="22.6.0.LTS" />
|
||||
<!-- Описывает isElfFormat: false. -->
|
||||
<isElfFormat value="false" />
|
||||
<!-- Описывает rts: rts2800_ml.lib. -->
|
||||
<rts value="rts2800_ml.lib" />
|
||||
<!-- Описывает isTargetManual: false. -->
|
||||
<isTargetManual value="false" />
|
||||
</projectOptions>
|
||||
@@ -0,0 +1,306 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<?fileVersion 4.0.0?>
|
||||
<cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
|
||||
<!-- Описывает storageModule: org.eclipse.cdt.core.settings. -->
|
||||
<storageModule moduleId="org.eclipse.cdt.core.settings">
|
||||
<!-- Описывает cconfiguration: cconfiguration. -->
|
||||
<cconfiguration id="com.ti.ccstudio.buildDefinitions.C2000.Debug.952393063.f2812">
|
||||
<!-- Описывает storageModule: Debug. -->
|
||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.ti.ccstudio.buildDefinitions.C2000.Debug.952393063.f2812" moduleId="org.eclipse.cdt.core.settings" name="Debug">
|
||||
<!-- Описывает externalSettings: externalSettings. -->
|
||||
<externalSettings />
|
||||
<!-- Описывает extensions: extensions. -->
|
||||
<extensions>
|
||||
<!-- Описывает extension: extension. -->
|
||||
<extension id="com.ti.ccstudio.binaryparser.CoffParser.f2812" point="org.eclipse.cdt.core.BinaryParser" />
|
||||
<!-- Описывает extension: extension. -->
|
||||
<extension id="org.eclipse.cdt.core.GmakeErrorParser.f2812" point="org.eclipse.cdt.core.ErrorParser" />
|
||||
<!-- Описывает extension: extension. -->
|
||||
<extension id="com.ti.ccstudio.errorparser.CoffErrorParser.f2812" point="org.eclipse.cdt.core.ErrorParser" />
|
||||
<!-- Описывает extension: extension. -->
|
||||
<extension id="com.ti.ccstudio.errorparser.AsmErrorParser.f2812" point="org.eclipse.cdt.core.ErrorParser" />
|
||||
<!-- Описывает extension: extension. -->
|
||||
<extension id="com.ti.ccstudio.errorparser.LinkErrorParser.f2812" point="org.eclipse.cdt.core.ErrorParser" />
|
||||
</extensions>
|
||||
</storageModule>
|
||||
<!-- Описывает storageModule: cdtBuildSystem. -->
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
<!-- Описывает configuration: Debug. -->
|
||||
<configuration artifactExtension="out" artifactName="F2812_CAN_NOR" buildProperties="" cleanCommand="${CG_CLEAN_CMD}" description="" id="com.ti.ccstudio.buildDefinitions.C2000.Debug.952393063.f2812" name="Debug" parent="com.ti.ccstudio.buildDefinitions.C2000.Debug" postbuildStep="" preannouncebuildStep="" prebuildStep="">
|
||||
<!-- Описывает folderInfo: /. -->
|
||||
<folderInfo id="com.ti.ccstudio.buildDefinitions.C2000.Debug.952393063.f2812." name="/" resourcePath="">
|
||||
<!-- Описывает toolChain: TI Build Tools. -->
|
||||
<toolChain id="com.ti.ccstudio.buildDefinitions.C2000_22.6.exe.DebugToolchain.1656408937.f2812" name="TI Build Tools" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.C2000_22.6.exe.linkerDebug.1238234098.f2812">
|
||||
<!-- Задаёт параметр сборки: option. -->
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1809066827.f2812" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
|
||||
<!-- Передаёт значение параметра: DEVICE_CONFIGURATION_ID=TMS320C28XX.TMS320F2812. -->
|
||||
<listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=TMS320C28XX.TMS320F2812" />
|
||||
<!-- Передаёт значение параметра: DEVICE_ENDIANNESS=little. -->
|
||||
<listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little" />
|
||||
<!-- Передаёт значение параметра: OUTPUT_FORMAT=COFF. -->
|
||||
<listOptionValue builtIn="false" value="OUTPUT_FORMAT=COFF" />
|
||||
<!-- Передаёт значение параметра: LINKER_COMMAND_FILE=F2812_CAN_NOR.cmd. -->
|
||||
<listOptionValue builtIn="false" value="LINKER_COMMAND_FILE=F2812_CAN_NOR.cmd" />
|
||||
<!-- Передаёт значение параметра: RUNTIME_SUPPORT_LIBRARY=rts2800_ml.lib. -->
|
||||
<listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=rts2800_ml.lib" />
|
||||
<!-- Передаёт значение параметра: CCS_MBS_VERSION=6.1.3. -->
|
||||
<listOptionValue builtIn="false" value="CCS_MBS_VERSION=6.1.3" />
|
||||
<!-- Передаёт значение параметра: OUTPUT_TYPE=executable. -->
|
||||
<listOptionValue builtIn="false" value="OUTPUT_TYPE=executable" />
|
||||
</option>
|
||||
<!-- Задаёт параметр сборки: Compiler version. -->
|
||||
<option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.1182984787.f2812" name="Compiler version" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="22.6.0.LTS" valueType="string" />
|
||||
<!-- Описывает targetPlatform: Platform. -->
|
||||
<targetPlatform id="com.ti.ccstudio.buildDefinitions.C2000_22.6.exe.targetPlatformDebug.2023332194.f2812" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.exe.targetPlatformDebug" />
|
||||
<!-- Описывает builder: GNU Make. -->
|
||||
<builder buildPath="${BuildDirectory}" id="com.ti.ccstudio.buildDefinitions.C2000_22.6.exe.builderDebug.1704049401.f2812" keepEnvironmentInBuildfile="false" name="GNU Make" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.exe.builderDebug" />
|
||||
<!-- Описывает tool: C2000 Compiler. -->
|
||||
<tool id="com.ti.ccstudio.buildDefinitions.C2000_22.6.exe.compilerDebug.68471068.f2812" name="C2000 Compiler" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.exe.compilerDebug">
|
||||
<!-- Задаёт параметр сборки: Option deprecated, set by default (- -large_memory_model, -ml). -->
|
||||
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.LARGE_MEMORY_MODEL.1683926605.f2812" name="Option deprecated, set by default (--large_memory_model, -ml)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.LARGE_MEMORY_MODEL" value="true" valueType="boolean" />
|
||||
<!-- Задаёт параметр сборки: Unified memory (- -unified_memory, -mt). -->
|
||||
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.UNIFIED_MEMORY.884660743.f2812" name="Unified memory (--unified_memory, -mt)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.UNIFIED_MEMORY" value="true" valueType="boolean" />
|
||||
<!-- Задаёт параметр сборки: Processor version (- -silicon_version, -v). -->
|
||||
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.SILICON_VERSION.750562333.f2812" name="Processor version (--silicon_version, -v)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.SILICON_VERSION" value="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.SILICON_VERSION.28" valueType="enumerated" />
|
||||
<!-- Задаёт параметр сборки: Optimization level (- -opt_level, -O). -->
|
||||
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.OPT_LEVEL.1217592973.f2812" name="Optimization level (--opt_level, -O)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.OPT_LEVEL" value="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.OPT_LEVEL.3" valueType="enumerated" />
|
||||
<!-- Задаёт параметр сборки: Place each function in a separate subsection (- -gen_func_subsections, -mo). -->
|
||||
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.GEN_FUNC_SUBSECTIONS.eeprom.40.f2812" name="Place each function in a separate subsection (--gen_func_subsections, -mo)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.GEN_FUNC_SUBSECTIONS" value="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.GEN_FUNC_SUBSECTIONS.on" valueType="enumerated" />
|
||||
<!-- Задаёт параметр сборки: Speed vs. size trade-offs (- -opt_for_speed, -mf). -->
|
||||
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.OPT_FOR_SPEED.1885063317.f2812" name="Speed vs. size trade-offs (--opt_for_speed, -mf)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.OPT_FOR_SPEED" value="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.OPT_FOR_SPEED.0" valueType="enumerated" />
|
||||
<!-- Задаёт параметр сборки: Add dir to #include search path (- -include_path, -I). -->
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.INCLUDE_PATH.24504397.f2812" name="Add dir to #include search path (--include_path, -I)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.INCLUDE_PATH" valueType="includePath">
|
||||
<!-- Передаёт значение параметра: ${PROJECT_ROOT}. -->
|
||||
<listOptionValue builtIn="false" value="${PROJECT_ROOT}" />
|
||||
<!-- Передаёт значение параметра: ${PROJECT_ROOT}/../../../vendor/ti/f2812/include. -->
|
||||
<listOptionValue builtIn="false" value="${PROJECT_ROOT}/../../../vendor/ti/f2812/include" />
|
||||
<!-- Передаёт значение параметра: ${PROJECT_ROOT}/../../../vendor/ti/f2812/common/include. -->
|
||||
<listOptionValue builtIn="false" value="${PROJECT_ROOT}/../../../vendor/ti/f2812/common/include" />
|
||||
<!-- Передаёт значение параметра: ${CG_TOOL_ROOT}/include. -->
|
||||
<listOptionValue builtIn="false" value="${CG_TOOL_ROOT}/include" />
|
||||
</option>
|
||||
<!-- Задаёт параметр сборки: Pre-define NAME (- -define, -D). -->
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.DEFINE.409484878.f2812" name="Pre-define NAME (--define, -D)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.DEFINE" valueType="definedSymbols">
|
||||
<!-- Передаёт значение параметра: LARGE_MODEL. -->
|
||||
<listOptionValue builtIn="false" value="LARGE_MODEL" />
|
||||
<!-- Передаёт значение параметра: _DEBUG. -->
|
||||
<listOptionValue builtIn="false" value="_DEBUG" />
|
||||
</option>
|
||||
<!-- Задаёт параметр сборки: Debugging model. -->
|
||||
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.DEBUGGING_MODEL.1803616155.f2812" name="Debugging model" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.DEBUGGING_MODEL" value="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF" valueType="enumerated" />
|
||||
<!-- Задаёт параметр сборки: Emit diagnostic identifier numbers (- -display_error_number, -pden). -->
|
||||
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.DISPLAY_ERROR_NUMBER.362706119.f2812" name="Emit diagnostic identifier numbers (--display_error_number, -pden)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean" />
|
||||
<!-- Задаёт параметр сборки: Application binary interface [See 'General' page to edit] (- -abi). -->
|
||||
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.ABI.1036638377.f2812" name="Application binary interface [See 'General' page to edit] (--abi)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.ABI" value="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.ABI.coffabi" valueType="enumerated" />
|
||||
<!-- Описывает inputType: C Sources. -->
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compiler.inputType__C_SRCS.413246530.f2812" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compiler.inputType__C_SRCS" />
|
||||
<!-- Описывает inputType: C++ Sources. -->
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compiler.inputType__CPP_SRCS.1626831603.f2812" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compiler.inputType__CPP_SRCS" />
|
||||
<!-- Описывает inputType: Assembly Sources. -->
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compiler.inputType__ASM_SRCS.291886960.f2812" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compiler.inputType__ASM_SRCS" />
|
||||
<!-- Описывает inputType: Assembly Sources. -->
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compiler.inputType__ASM2_SRCS.231319110.f2812" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compiler.inputType__ASM2_SRCS" />
|
||||
</tool>
|
||||
<!-- Описывает tool: C2000 Linker. -->
|
||||
<tool id="com.ti.ccstudio.buildDefinitions.C2000_22.6.exe.linkerDebug.1238234098.f2812" name="C2000 Linker" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.exe.linkerDebug">
|
||||
<!-- Задаёт параметр сборки: Set C system stack size (- -stack_size, -stack). -->
|
||||
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.STACK_SIZE.1288161308.f2812" name="Set C system stack size (--stack_size, -stack)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.STACK_SIZE" value="0x3f0" valueType="string" />
|
||||
<!-- Задаёт параметр сборки: Link information (map) listed into <file> (- -map_file, -m). -->
|
||||
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.MAP_FILE.1478857036.f2812" name="Link information (map) listed into <file> (--map_file, -m)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.MAP_FILE" value="F2812_CAN_NOR.map" valueType="string" />
|
||||
<!-- Задаёт параметр сборки: Specify output file name (- -output_file, -o). -->
|
||||
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.OUTPUT_FILE.1263270138.f2812" name="Specify output file name (--output_file, -o)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.OUTPUT_FILE" value="F2812_CAN_NOR.out" valueType="string" />
|
||||
<!-- Задаёт параметр сборки: Include library file or command file as input (- -library, -l). -->
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.LIBRARY.1967188356.f2812" name="Include library file or command file as input (--library, -l)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.LIBRARY" valueType="libs">
|
||||
<!-- Передаёт значение параметра: rts2800_ml.lib. -->
|
||||
<listOptionValue builtIn="false" value="rts2800_ml.lib" />
|
||||
</option>
|
||||
<!-- Задаёт параметр сборки: Add <dir> to library search path (- -search_path, -i). -->
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.SEARCH_PATH.1097407993.f2812" name="Add <dir> to library search path (--search_path, -i)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.SEARCH_PATH" valueType="libPaths">
|
||||
<!-- Передаёт значение параметра: ${CG_TOOL_ROOT}/lib. -->
|
||||
<listOptionValue builtIn="false" value="${CG_TOOL_ROOT}/lib" />
|
||||
<!-- Передаёт значение параметра: ${PROJECT_ROOT}. -->
|
||||
<listOptionValue builtIn="false" value="${PROJECT_ROOT}" />
|
||||
</option>
|
||||
<!-- Задаёт параметр сборки: Emit diagnostic identifier numbers (- -display_error_number). -->
|
||||
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.DISPLAY_ERROR_NUMBER.2141790994.f2812" name="Emit diagnostic identifier numbers (--display_error_number)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean" />
|
||||
<!-- Задаёт параметр сборки: Detailed link information data-base into <file> (- -xml_link_info, -xml_link_info). -->
|
||||
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.XML_LINK_INFO.1355214148.f2812" name="Detailed link information data-base into <file> (--xml_link_info, -xml_link_info)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.XML_LINK_INFO" value="F2812_CAN_NOR_linkInfo.xml" valueType="string" />
|
||||
<!-- Задаёт параметр сборки: Specify program entry point for the output module (- -entry_point, -e). -->
|
||||
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.ENTRY_POINT.862275171.f2812" name="Specify program entry point for the output module (--entry_point, -e)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.ENTRY_POINT" value="_c_int00" valueType="string" />
|
||||
<!-- Описывает inputType: Linker Command Files. -->
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.C2000_22.6.exeLinker.inputType__CMD_SRCS.1082823352.f2812" name="Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.exeLinker.inputType__CMD_SRCS" />
|
||||
<!-- Описывает inputType: Linker Command Files. -->
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.C2000_22.6.exeLinker.inputType__CMD2_SRCS.1635863502.f2812" name="Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.exeLinker.inputType__CMD2_SRCS" />
|
||||
<!-- Описывает inputType: Generated Linker Command Files. -->
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.C2000_22.6.exeLinker.inputType__GEN_CMDS.209596448.f2812" name="Generated Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.exeLinker.inputType__GEN_CMDS" />
|
||||
</tool>
|
||||
<!-- Описывает tool: C2000 Hex Utility. -->
|
||||
<tool id="com.ti.ccstudio.buildDefinitions.C2000_22.6.hex.183039420.f2812" name="C2000 Hex Utility" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.hex">
|
||||
<!-- Описывает outputType: Binary File. -->
|
||||
<outputType id="com.ti.ccstudio.buildDefinitions.C2000_22.6.hex.outputType__BIN.139478444.f2812" name="Binary File" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.hex.outputType__BIN" />
|
||||
</tool>
|
||||
</toolChain>
|
||||
</folderInfo>
|
||||
<!-- Ограничивает компилируемые исходники проекта: sourceEntries. -->
|
||||
<sourceEntries>
|
||||
<!-- Описывает entry: entry. -->
|
||||
<entry excluding="Debug|Release" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="" />
|
||||
</sourceEntries>
|
||||
</configuration>
|
||||
</storageModule>
|
||||
<!-- Описывает storageModule: org.eclipse.cdt.core.externalSettings. -->
|
||||
<storageModule moduleId="org.eclipse.cdt.core.externalSettings" />
|
||||
</cconfiguration>
|
||||
<!-- Описывает cconfiguration: cconfiguration. -->
|
||||
<cconfiguration id="com.ti.ccstudio.buildDefinitions.C2000.Release.952393063.f2812">
|
||||
<!-- Описывает storageModule: Release. -->
|
||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.ti.ccstudio.buildDefinitions.C2000.Release.952393063.f2812" moduleId="org.eclipse.cdt.core.settings" name="Release">
|
||||
<!-- Описывает externalSettings: externalSettings. -->
|
||||
<externalSettings />
|
||||
<!-- Описывает extensions: extensions. -->
|
||||
<extensions>
|
||||
<!-- Описывает extension: extension. -->
|
||||
<extension id="com.ti.ccstudio.binaryparser.CoffParser.f2812" point="org.eclipse.cdt.core.BinaryParser" />
|
||||
<!-- Описывает extension: extension. -->
|
||||
<extension id="org.eclipse.cdt.core.GmakeErrorParser.f2812" point="org.eclipse.cdt.core.ErrorParser" />
|
||||
<!-- Описывает extension: extension. -->
|
||||
<extension id="com.ti.ccstudio.errorparser.CoffErrorParser.f2812" point="org.eclipse.cdt.core.ErrorParser" />
|
||||
<!-- Описывает extension: extension. -->
|
||||
<extension id="com.ti.ccstudio.errorparser.AsmErrorParser.f2812" point="org.eclipse.cdt.core.ErrorParser" />
|
||||
<!-- Описывает extension: extension. -->
|
||||
<extension id="com.ti.ccstudio.errorparser.LinkErrorParser.f2812" point="org.eclipse.cdt.core.ErrorParser" />
|
||||
</extensions>
|
||||
</storageModule>
|
||||
<!-- Описывает storageModule: cdtBuildSystem. -->
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
<!-- Описывает configuration: Release. -->
|
||||
<configuration artifactExtension="out" artifactName="F2812_CAN_NOR" buildProperties="" cleanCommand="${CG_CLEAN_CMD}" description="" id="com.ti.ccstudio.buildDefinitions.C2000.Release.952393063.f2812" name="Release" parent="com.ti.ccstudio.buildDefinitions.C2000.Release" postbuildStep="" preannouncebuildStep="" prebuildStep="">
|
||||
<!-- Описывает folderInfo: /. -->
|
||||
<folderInfo id="com.ti.ccstudio.buildDefinitions.C2000.Release.952393063.f2812." name="/" resourcePath="">
|
||||
<!-- Описывает toolChain: TI Build Tools. -->
|
||||
<toolChain id="com.ti.ccstudio.buildDefinitions.C2000_22.6.exe.ReleaseToolchain.1656408937.f2812" name="TI Build Tools" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.exe.ReleaseToolchain" targetTool="com.ti.ccstudio.buildDefinitions.C2000_22.6.exe.linkerRelease.1238234098.f2812">
|
||||
<!-- Задаёт параметр сборки: option. -->
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1809066827.f2812" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
|
||||
<!-- Передаёт значение параметра: DEVICE_CONFIGURATION_ID=TMS320C28XX.TMS320F2812. -->
|
||||
<listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=TMS320C28XX.TMS320F2812" />
|
||||
<!-- Передаёт значение параметра: DEVICE_ENDIANNESS=little. -->
|
||||
<listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little" />
|
||||
<!-- Передаёт значение параметра: OUTPUT_FORMAT=COFF. -->
|
||||
<listOptionValue builtIn="false" value="OUTPUT_FORMAT=COFF" />
|
||||
<!-- Передаёт значение параметра: LINKER_COMMAND_FILE=F2812_CAN_NOR.cmd. -->
|
||||
<listOptionValue builtIn="false" value="LINKER_COMMAND_FILE=F2812_CAN_NOR.cmd" />
|
||||
<!-- Передаёт значение параметра: RUNTIME_SUPPORT_LIBRARY=rts2800_ml.lib. -->
|
||||
<listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=rts2800_ml.lib" />
|
||||
<!-- Передаёт значение параметра: CCS_MBS_VERSION=6.1.3. -->
|
||||
<listOptionValue builtIn="false" value="CCS_MBS_VERSION=6.1.3" />
|
||||
<!-- Передаёт значение параметра: OUTPUT_TYPE=executable. -->
|
||||
<listOptionValue builtIn="false" value="OUTPUT_TYPE=executable" />
|
||||
</option>
|
||||
<!-- Задаёт параметр сборки: Compiler version. -->
|
||||
<option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.1182984787.f2812" name="Compiler version" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="22.6.0.LTS" valueType="string" />
|
||||
<!-- Описывает targetPlatform: Platform. -->
|
||||
<targetPlatform id="com.ti.ccstudio.buildDefinitions.C2000_22.6.exe.targetPlatformRelease.2023332194.f2812" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.exe.targetPlatformRelease" />
|
||||
<!-- Описывает builder: GNU Make. -->
|
||||
<builder buildPath="${BuildDirectory}" id="com.ti.ccstudio.buildDefinitions.C2000_22.6.exe.builderRelease.1704049401.f2812" keepEnvironmentInBuildfile="false" name="GNU Make" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.exe.builderRelease" />
|
||||
<!-- Описывает tool: C2000 Compiler. -->
|
||||
<tool id="com.ti.ccstudio.buildDefinitions.C2000_22.6.exe.compilerRelease.68471068.f2812" name="C2000 Compiler" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.exe.compilerRelease">
|
||||
<!-- Задаёт параметр сборки: Option deprecated, set by default (- -large_memory_model, -ml). -->
|
||||
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.LARGE_MEMORY_MODEL.1683926605.f2812" name="Option deprecated, set by default (--large_memory_model, -ml)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.LARGE_MEMORY_MODEL" value="true" valueType="boolean" />
|
||||
<!-- Задаёт параметр сборки: Unified memory (- -unified_memory, -mt). -->
|
||||
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.UNIFIED_MEMORY.884660743.f2812" name="Unified memory (--unified_memory, -mt)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.UNIFIED_MEMORY" value="true" valueType="boolean" />
|
||||
<!-- Задаёт параметр сборки: Processor version (- -silicon_version, -v). -->
|
||||
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.SILICON_VERSION.750562333.f2812" name="Processor version (--silicon_version, -v)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.SILICON_VERSION" value="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.SILICON_VERSION.28" valueType="enumerated" />
|
||||
<!-- Задаёт параметр сборки: Optimization level (- -opt_level, -O). -->
|
||||
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.OPT_LEVEL.1217592973.f2812" name="Optimization level (--opt_level, -O)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.OPT_LEVEL" value="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.OPT_LEVEL.3" valueType="enumerated" />
|
||||
<!-- Задаёт параметр сборки: Place each function in a separate subsection (- -gen_func_subsections, -mo). -->
|
||||
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.GEN_FUNC_SUBSECTIONS.eeprom.40.f2812" name="Place each function in a separate subsection (--gen_func_subsections, -mo)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.GEN_FUNC_SUBSECTIONS" value="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.GEN_FUNC_SUBSECTIONS.on" valueType="enumerated" />
|
||||
<!-- Задаёт параметр сборки: Speed vs. size trade-offs (- -opt_for_speed, -mf). -->
|
||||
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.OPT_FOR_SPEED.1885063317.f2812" name="Speed vs. size trade-offs (--opt_for_speed, -mf)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.OPT_FOR_SPEED" value="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.OPT_FOR_SPEED.0" valueType="enumerated" />
|
||||
<!-- Задаёт параметр сборки: Add dir to #include search path (- -include_path, -I). -->
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.INCLUDE_PATH.24504397.f2812" name="Add dir to #include search path (--include_path, -I)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.INCLUDE_PATH" valueType="includePath">
|
||||
<!-- Передаёт значение параметра: ${PROJECT_ROOT}. -->
|
||||
<listOptionValue builtIn="false" value="${PROJECT_ROOT}" />
|
||||
<!-- Передаёт значение параметра: ${PROJECT_ROOT}/../../../vendor/ti/f2812/include. -->
|
||||
<listOptionValue builtIn="false" value="${PROJECT_ROOT}/../../../vendor/ti/f2812/include" />
|
||||
<!-- Передаёт значение параметра: ${PROJECT_ROOT}/../../../vendor/ti/f2812/common/include. -->
|
||||
<listOptionValue builtIn="false" value="${PROJECT_ROOT}/../../../vendor/ti/f2812/common/include" />
|
||||
<!-- Передаёт значение параметра: ${CG_TOOL_ROOT}/include. -->
|
||||
<listOptionValue builtIn="false" value="${CG_TOOL_ROOT}/include" />
|
||||
</option>
|
||||
<!-- Задаёт параметр сборки: Pre-define NAME (- -define, -D). -->
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.DEFINE.409484878.f2812" name="Pre-define NAME (--define, -D)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.DEFINE" valueType="definedSymbols">
|
||||
<!-- Передаёт значение параметра: LARGE_MODEL. -->
|
||||
<listOptionValue builtIn="false" value="LARGE_MODEL" />
|
||||
<!-- Передаёт значение параметра: _DEBUG. -->
|
||||
</option>
|
||||
<!-- Задаёт параметр сборки: Releaseging model. -->
|
||||
<!-- Задаёт параметр сборки: Emit diagnostic identifier numbers (- -display_error_number, -pden). -->
|
||||
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.DISPLAY_ERROR_NUMBER.362706119.f2812" name="Emit diagnostic identifier numbers (--display_error_number, -pden)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean" />
|
||||
<!-- Задаёт параметр сборки: Application binary interface [See 'General' page to edit] (- -abi). -->
|
||||
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.ABI.1036638377.f2812" name="Application binary interface [See 'General' page to edit] (--abi)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.ABI" value="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.ABI.coffabi" valueType="enumerated" />
|
||||
<!-- Описывает inputType: C Sources. -->
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compiler.inputType__C_SRCS.413246530.f2812" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compiler.inputType__C_SRCS" />
|
||||
<!-- Описывает inputType: C++ Sources. -->
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compiler.inputType__CPP_SRCS.1626831603.f2812" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compiler.inputType__CPP_SRCS" />
|
||||
<!-- Описывает inputType: Assembly Sources. -->
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compiler.inputType__ASM_SRCS.291886960.f2812" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compiler.inputType__ASM_SRCS" />
|
||||
<!-- Описывает inputType: Assembly Sources. -->
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compiler.inputType__ASM2_SRCS.231319110.f2812" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compiler.inputType__ASM2_SRCS" />
|
||||
</tool>
|
||||
<!-- Описывает tool: C2000 Linker. -->
|
||||
<tool id="com.ti.ccstudio.buildDefinitions.C2000_22.6.exe.linkerRelease.1238234098.f2812" name="C2000 Linker" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.exe.linkerRelease">
|
||||
<!-- Задаёт параметр сборки: Set C system stack size (- -stack_size, -stack). -->
|
||||
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.STACK_SIZE.1288161308.f2812" name="Set C system stack size (--stack_size, -stack)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.STACK_SIZE" value="0x3f0" valueType="string" />
|
||||
<!-- Задаёт параметр сборки: Link information (map) listed into <file> (- -map_file, -m). -->
|
||||
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.MAP_FILE.1478857036.f2812" name="Link information (map) listed into <file> (--map_file, -m)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.MAP_FILE" value="F2812_CAN_NOR.map" valueType="string" />
|
||||
<!-- Задаёт параметр сборки: Specify output file name (- -output_file, -o). -->
|
||||
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.OUTPUT_FILE.1263270138.f2812" name="Specify output file name (--output_file, -o)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.OUTPUT_FILE" value="F2812_CAN_NOR.out" valueType="string" />
|
||||
<!-- Задаёт параметр сборки: Include library file or command file as input (- -library, -l). -->
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.LIBRARY.1967188356.f2812" name="Include library file or command file as input (--library, -l)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.LIBRARY" valueType="libs">
|
||||
<!-- Передаёт значение параметра: rts2800_ml.lib. -->
|
||||
<listOptionValue builtIn="false" value="rts2800_ml.lib" />
|
||||
</option>
|
||||
<!-- Задаёт параметр сборки: Add <dir> to library search path (- -search_path, -i). -->
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.SEARCH_PATH.1097407993.f2812" name="Add <dir> to library search path (--search_path, -i)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.SEARCH_PATH" valueType="libPaths">
|
||||
<!-- Передаёт значение параметра: ${CG_TOOL_ROOT}/lib. -->
|
||||
<listOptionValue builtIn="false" value="${CG_TOOL_ROOT}/lib" />
|
||||
<!-- Передаёт значение параметра: ${PROJECT_ROOT}. -->
|
||||
<listOptionValue builtIn="false" value="${PROJECT_ROOT}" />
|
||||
</option>
|
||||
<!-- Задаёт параметр сборки: Emit diagnostic identifier numbers (- -display_error_number). -->
|
||||
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.DISPLAY_ERROR_NUMBER.2141790994.f2812" name="Emit diagnostic identifier numbers (--display_error_number)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean" />
|
||||
<!-- Задаёт параметр сборки: Detailed link information data-base into <file> (- -xml_link_info, -xml_link_info). -->
|
||||
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.XML_LINK_INFO.1355214148.f2812" name="Detailed link information data-base into <file> (--xml_link_info, -xml_link_info)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.XML_LINK_INFO" value="F2812_CAN_NOR_linkInfo.xml" valueType="string" />
|
||||
<!-- Задаёт параметр сборки: Specify program entry point for the output module (- -entry_point, -e). -->
|
||||
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.ENTRY_POINT.862275171.f2812" name="Specify program entry point for the output module (--entry_point, -e)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.ENTRY_POINT" value="_c_int00" valueType="string" />
|
||||
<!-- Описывает inputType: Linker Command Files. -->
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.C2000_22.6.exeLinker.inputType__CMD_SRCS.1082823352.f2812" name="Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.exeLinker.inputType__CMD_SRCS" />
|
||||
<!-- Описывает inputType: Linker Command Files. -->
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.C2000_22.6.exeLinker.inputType__CMD2_SRCS.1635863502.f2812" name="Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.exeLinker.inputType__CMD2_SRCS" />
|
||||
<!-- Описывает inputType: Generated Linker Command Files. -->
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.C2000_22.6.exeLinker.inputType__GEN_CMDS.209596448.f2812" name="Generated Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.exeLinker.inputType__GEN_CMDS" />
|
||||
</tool>
|
||||
<!-- Описывает tool: C2000 Hex Utility. -->
|
||||
<tool id="com.ti.ccstudio.buildDefinitions.C2000_22.6.hex.183039420.f2812" name="C2000 Hex Utility" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.hex">
|
||||
<!-- Описывает outputType: Binary File. -->
|
||||
<outputType id="com.ti.ccstudio.buildDefinitions.C2000_22.6.hex.outputType__BIN.139478444.f2812" name="Binary File" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.hex.outputType__BIN" />
|
||||
</tool>
|
||||
</toolChain>
|
||||
</folderInfo>
|
||||
<!-- Ограничивает компилируемые исходники проекта: sourceEntries. -->
|
||||
<sourceEntries>
|
||||
<!-- Описывает entry: entry. -->
|
||||
<entry excluding="Release|Release" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="" />
|
||||
</sourceEntries>
|
||||
</configuration>
|
||||
</storageModule>
|
||||
<!-- Описывает storageModule: org.eclipse.cdt.core.externalSettings. -->
|
||||
<storageModule moduleId="org.eclipse.cdt.core.externalSettings" />
|
||||
</cconfiguration>
|
||||
</storageModule>
|
||||
<!-- Описывает storageModule: cdtBuildSystem. -->
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
<!-- Регистрирует тип самостоятельного C2000-проекта: без этой записи CCS не определяет compiler definition при импорте. -->
|
||||
<project id="F2812_CAN_NOR.com.ti.ccstudio.buildDefinitions.C2000.ProjectType.1" name="C2000" projectType="com.ti.ccstudio.buildDefinitions.C2000.ProjectType" />
|
||||
</storageModule>
|
||||
</cproject>
|
||||
@@ -0,0 +1,106 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<!-- Описывает name: name. -->
|
||||
<name>F2812_CAN_NOR</name>
|
||||
<!-- Описывает comment: comment. -->
|
||||
<comment>Отдельный постоянный загрузчик ProtoCAN для F2812</comment>
|
||||
<!-- Описывает projects: projects. -->
|
||||
<projects />
|
||||
<!-- Описывает buildSpec: buildSpec. -->
|
||||
<buildSpec>
|
||||
<!-- Описывает buildCommand: buildCommand. -->
|
||||
<buildCommand>
|
||||
<!-- Описывает name: name. -->
|
||||
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
|
||||
<!-- Описывает arguments: arguments. -->
|
||||
<arguments />
|
||||
</buildCommand>
|
||||
<!-- Описывает buildCommand: buildCommand. -->
|
||||
<buildCommand>
|
||||
<!-- Описывает name: name. -->
|
||||
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
|
||||
<!-- Описывает arguments: arguments. -->
|
||||
<arguments />
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<!-- Описывает natures: natures. -->
|
||||
<natures>
|
||||
<!-- Описывает nature: nature. -->
|
||||
<nature>com.ti.ccstudio.core.ccsNature</nature>
|
||||
<!-- Описывает nature: nature. -->
|
||||
<nature>org.eclipse.cdt.core.cnature</nature>
|
||||
<!-- Описывает nature: nature. -->
|
||||
<nature>org.eclipse.cdt.core.ccnature</nature>
|
||||
<!-- Описывает nature: nature. -->
|
||||
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
|
||||
<!-- Описывает nature: nature. -->
|
||||
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
|
||||
</natures>
|
||||
<!-- Описывает linkedResources: linkedResources. -->
|
||||
<linkedResources>
|
||||
<!-- Подключает исходник или linker из общей библиотеки: link. -->
|
||||
<link>
|
||||
<!-- Описывает name: name. -->
|
||||
<name>ti/DSP281x_CpuTimers.c</name>
|
||||
<!-- Описывает type: type. -->
|
||||
<type>1</type>
|
||||
<!-- Описывает locationURI: locationURI. -->
|
||||
<locationURI>PCAN_ROOT/vendor/ti/f2812/source/DSP281x_CpuTimers.c</locationURI>
|
||||
</link>
|
||||
<!-- Подключает исходник или linker из общей библиотеки: link. -->
|
||||
<link>
|
||||
<!-- Описывает name: name. -->
|
||||
<name>ti/DSP281x_GlobalVariableDefs.c</name>
|
||||
<!-- Описывает type: type. -->
|
||||
<type>1</type>
|
||||
<!-- Описывает locationURI: locationURI. -->
|
||||
<locationURI>PCAN_ROOT/vendor/ti/f2812/source/DSP281x_GlobalVariableDefs.c</locationURI>
|
||||
</link>
|
||||
<!-- Подключает исходник или linker из общей библиотеки: link. -->
|
||||
<link>
|
||||
<!-- Описывает name: name. -->
|
||||
<name>ti/DSP281x_PieCtrl.c</name>
|
||||
<!-- Описывает type: type. -->
|
||||
<type>1</type>
|
||||
<!-- Описывает locationURI: locationURI. -->
|
||||
<locationURI>PCAN_ROOT/vendor/ti/f2812/source/DSP281x_PieCtrl.c</locationURI>
|
||||
</link>
|
||||
<!-- Подключает исходник или linker из общей библиотеки: link. -->
|
||||
<link>
|
||||
<!-- Описывает name: name. -->
|
||||
<name>ti/DSP281x_SysCtrl.c</name>
|
||||
<!-- Описывает type: type. -->
|
||||
<type>1</type>
|
||||
<!-- Описывает locationURI: locationURI. -->
|
||||
<locationURI>PCAN_ROOT/vendor/ti/f2812/source/DSP281x_SysCtrl.c</locationURI>
|
||||
</link>
|
||||
<!-- Подключает исходник или linker из общей библиотеки: link. -->
|
||||
<link>
|
||||
<!-- Описывает name: name. -->
|
||||
<name>ti/DSP281x_usDelay.asm</name>
|
||||
<!-- Описывает type: type. -->
|
||||
<type>1</type>
|
||||
<!-- Описывает locationURI: locationURI. -->
|
||||
<locationURI>PCAN_ROOT/vendor/ti/f2812/source/DSP281x_usDelay.asm</locationURI>
|
||||
</link>
|
||||
<!-- Подключает исходник или linker из общей библиотеки: link. -->
|
||||
<link>
|
||||
<!-- Описывает name: name. -->
|
||||
<name>DSP281x_Headers_nonBIOS.cmd</name>
|
||||
<!-- Описывает type: type. -->
|
||||
<type>1</type>
|
||||
<!-- Описывает locationURI: locationURI. -->
|
||||
<locationURI>PCAN_ROOT/vendor/ti/f2812/cmd/DSP281x_Headers_nonBIOS.cmd</locationURI>
|
||||
</link>
|
||||
</linkedResources>
|
||||
<!-- Описывает variableList: variableList. -->
|
||||
<variableList>
|
||||
<!-- Описывает variable: variable. -->
|
||||
<variable>
|
||||
<!-- Описывает name: name. -->
|
||||
<name>PCAN_ROOT</name>
|
||||
<!-- Описывает value: value. -->
|
||||
<value>$%7BPARENT-3-PROJECT_LOC%7D</value>
|
||||
</variable>
|
||||
</variableList>
|
||||
</projectDescription>
|
||||
@@ -0,0 +1,28 @@
|
||||
MEMORY /* Постоянный загрузчик F2812 хранится во внутренней Flash, обновляемые данные — во внешней AM29LV800BT. */
|
||||
{ /* Адреса указаны в 16-битных словах C28x, независимо от размера файлов CAN. */
|
||||
PAGE 0: /* Исполняемый код и его копируемая RAM-часть. */
|
||||
FLASHA : origin = 0x3F6000, length = 0x001F80 /* Сектор A исключает зарезервированные слова CSM в верхних 128 словах. */
|
||||
BEGIN : origin = 0x3F7FF6, length = 0x000002 /* Аппаратный Flash boot F2812 начинает длинный переход из двух слов. */
|
||||
RAMFUNCS : origin = 0x008F00, length = 0x000100 /* Последние 256 слов L0 содержат InitFlash и исключены из SCI8 payload приложения. */
|
||||
RESET : origin = 0x3FFFC0, length = 0x000002 /* ROM reset не программируется при установке загрузчика. */
|
||||
PAGE 1: /* Рабочая RAM постоянно работающего загрузчика не должна входить в загружаемый файл. */
|
||||
RAMM0 : origin = 0x000050, length = 0x0003B0 /* Исключает первые 80 слов Boot ROM scratch. */
|
||||
RAMM1 : origin = 0x000400, length = 0x000400 /* Отдельный стек на 1024 слова совпадает с аппаратным банком M1. */
|
||||
RAMDATA : origin = 0x009000, length = 0x001000 /* Банк L1 хранит очередь CAN и состояния загрузчика до перехода в приложение. */
|
||||
} /* Верхний H0 и внешняя SRAM остаются доступны payload приложения. */
|
||||
SECTIONS /* Ни одна загружаемая секция OUT не записывается во внешнюю NOR автоматически. */
|
||||
{ /* Все команды программирования NOR исполняются из внутреннего сектора A. */
|
||||
codestart : > BEGIN, PAGE = 0 /* Направляет аппаратный boot в watchdog-safe C startup. */
|
||||
.text : > FLASHA, PAGE = 0 /* Размещает общий ProtoCAN, driver NOR и проверку SCI8 в постоянной Flash. */
|
||||
.fast_run : > FLASHA, PAGE = 0 /* Штатный DSP281x_usDelay вызывается ещё из InitSysCtrl до копирования ramfuncs, поэтому его LOAD/RUN должны сразу находиться во Flash. */
|
||||
.cinit : > FLASHA, PAGE = 0 /* Таблицы ROM-модели инициализируют состояние до main. */
|
||||
.pinit : > FLASHA, PAGE = 0 /* Сохраняет стандартный startup для возможных статических конструкторов. */
|
||||
.econst : > FLASHA, PAGE = 0 /* Константы не расходуют ограниченную RAM L1. */
|
||||
.switch : > FLASHA, PAGE = 0 /* Таблицы switch остаются доступны во время erase внешнего чипа. */
|
||||
ramfuncs : LOAD = FLASHA, RUN = RAMFUNCS, LOAD_START(_RamfuncsLoadStart), LOAD_END(_RamfuncsLoadEnd), RUN_START(_RamfuncsRunStart), PAGE = 0 /* InitFlash копируется в внутреннюю RAM до изменения таймингов Flash. */
|
||||
.stack : > RAMM1, PAGE = 1 /* Стек не пересекает RAM назначения проверяемого образа. */
|
||||
.ebss : > RAMDATA, PAGE = 1 /* Состояния очереди и текущей сессии исключены из разрешённых SCI8 адресов. */
|
||||
.esysmem : > RAMDATA, PAGE = 1 /* Поддерживает стандартную секцию runtime, хотя алгоритм не требует heap. */
|
||||
.fast_vars1 : > RAMDATA, PAGE = 1 /* Подключает штатный HSPCLK выбранного TI SDK без размещения случайной orphan-секции. */
|
||||
.reset : > RESET, PAGE = 0, TYPE = DSECT /* Не выдаёт ROM reset за программируемую часть OUT. */
|
||||
} /* Не создаёт секции OTP или паролей CSM. */
|
||||
@@ -0,0 +1,30 @@
|
||||
#include "DSP281x_Device.h" /* Использует оригинальные TI определения GPIO и XINTF F2812. */
|
||||
#include "../../../ports/tms320f2812/boot2812.h" /* Получает отдельный аппаратный профиль внешней NOR ПМ67. */
|
||||
static void operation(unsigned int a, unsigned int b, unsigned int c, unsigned int d) /* Повторяет управляющую защёлку CPLD из big_dsp_module.c штатной платы. */
|
||||
{ /* GPIOA13/A14/A15 и GPIOB13 задают код, GPIOB15 формирует строб. */
|
||||
EALLOW; /* Разрешает запись системных GPIO платы. */
|
||||
GpioDataRegs.GPADAT.bit.GPIOA13 = a; GpioDataRegs.GPADAT.bit.GPIOA14 = b; /* Первые два бита аппаратной команды соответствуют oper_mode1/2. */
|
||||
GpioDataRegs.GPADAT.bit.GPIOA15 = c; GpioDataRegs.GPBDAT.bit.GPIOB13 = d; /* Третий и четвёртый биты повторяют штатный write_oper. */
|
||||
asm(" NOP"); GpioDataRegs.GPBDAT.bit.GPIOB15 = 0; /* Снимает строб после установки всех четырёх битов команды. */
|
||||
asm(" RPT #2 || NOP"); GpioDataRegs.GPBDAT.bit.GPIOB15 = 1; /* Даёт защёлке время установления и формирует активный фронт. */
|
||||
asm(" RPT #2 || NOP"); GpioDataRegs.GPBDAT.bit.GPIOB15 = 0; /* Возвращает строб в исходное состояние с выдержкой как в рабочем драйвере. */
|
||||
asm(" RPT #2 || NOP"); EDIS; /* Завершает длительность импульса до следующей команды CPLD. */
|
||||
} /* Команда не изменяет выбранные аппаратные boot-перемычки контроллера. */
|
||||
void Boot2812_BoardInit(void) /* Настраивает подтверждённую схему ПМ67 с AM29LV800BT на XINTF zone6. */
|
||||
{ /* Значения линий взяты из setup_oper_line/init_flash/xintf_zone6and7_timing действующего проекта BALZAM_167. */
|
||||
EALLOW; /* GPIO mux/direction и XINTF изменяются в разрешённом защищённом контексте. */
|
||||
GpioMuxRegs.GPAMUX.bit.C1TRIP_GPIOA13 = 0; GpioMuxRegs.GPAMUX.bit.C2TRIP_GPIOA14 = 0; GpioMuxRegs.GPAMUX.bit.C3TRIP_GPIOA15 = 0; /* Выбирает GPIO для трёх командных линий CPLD вместо функций event manager. */
|
||||
GpioMuxRegs.GPBMUX.bit.C4TRIP_GPIOB13 = 0; GpioMuxRegs.GPBMUX.bit.C6TRIP_GPIOB15 = 0; /* Освобождает четвёртый бит команды и строб CPLD. */
|
||||
GpioMuxRegs.GPADIR.bit.GPIOA13 = 1; GpioMuxRegs.GPADIR.bit.GPIOA14 = 1; GpioMuxRegs.GPADIR.bit.GPIOA15 = 1; /* Переводит командные линии A в выходы, как рабочий драйвер платы. */
|
||||
GpioMuxRegs.GPBDIR.bit.GPIOB13 = 1; GpioMuxRegs.GPBDIR.bit.GPIOB15 = 1; /* Разрешает выдачу четвёртого бита и импульса защёлки. */
|
||||
XintfRegs.XINTCNF2.bit.XTIMCLK = 1; XintfRegs.XINTCNF2.bit.WRBUFF = 0; /* XTIMCLK=SYSCLKOUT/2; отключённая буферизация сохраняет порядок unlock-циклов AMD. */
|
||||
XintfRegs.XINTCNF2.bit.CLKOFF = 0; XintfRegs.XINTCNF2.bit.CLKMODE = 0; XintfRegs.XINTCNF2.bit.MPNMC = 0; /* Повторяет штатный режим XCLKOUT и микроконтроллерный boot платы. */
|
||||
XintfRegs.XTIMING6.bit.XWRLEAD = 3; XintfRegs.XTIMING6.bit.XWRACTIVE = 7; XintfRegs.XTIMING6.bit.XWRTRAIL = 3; /* Времена записи NOR повторяют проверенный flash_tools/init_flash платы в единицах XTIMCLK. */
|
||||
XintfRegs.XTIMING6.bit.XRDLEAD = 3; XintfRegs.XTIMING6.bit.XRDACTIVE = 3; XintfRegs.XTIMING6.bit.XRDTRAIL = 3; /* Времена чтения соответствуют штатному профилю AM29LV800BT-70EI. */
|
||||
XintfRegs.XTIMING6.bit.X2TIMING = 0; XintfRegs.XTIMING6.bit.USEREADY = 0; XintfRegs.XTIMING6.bit.READYMODE = 0; XintfRegs.XTIMING6.bit.XSIZE = 3; /* Выбирает 16-битную зону без внешнего READY и без дополнительного удвоения тактов. */
|
||||
XintfRegs.XTIMING2.bit.XWRLEAD = 3; XintfRegs.XTIMING2.bit.XWRACTIVE = 7; XintfRegs.XTIMING2.bit.XWRTRAIL = 3; /* Консервативный x16 режим внешней SRAM позволяет загружать приложение в zone2. */
|
||||
XintfRegs.XTIMING2.bit.XRDLEAD = 3; XintfRegs.XTIMING2.bit.XRDACTIVE = 7; XintfRegs.XTIMING2.bit.XRDTRAIL = 3; /* Удлинённое чтение SRAM не зависит от коротких прикладных таймингов. */
|
||||
XintfRegs.XTIMING2.bit.X2TIMING = 0; XintfRegs.XTIMING2.bit.USEREADY = 0; XintfRegs.XTIMING2.bit.READYMODE = 0; XintfRegs.XTIMING2.bit.XSIZE = 3; /* Не включает неподтверждённую линию READY платы. */
|
||||
asm(" RPT #7 || NOP"); EDIS; /* Сбрасывает pipeline после изменения XINTF до первого внешнего чтения. */
|
||||
operation(1U, 1U, 1U, 1U); operation(1U, 0U, 1U, 0U); operation(0U, 0U, 0U, 0U); /* Штатные select_nothing, select_strob_67_for_flash, select_work_with_flash выбирают CPU-доступ к NOR. */
|
||||
} /* Изменение схемы CPLD требует отдельного профиля платы, а не другого размера EEPROM. */
|
||||
@@ -0,0 +1 @@
|
||||
#include "../../../ports/tms320f2812/boot_store.c" /* Подключает проверку SCI8 и публикацию NOR manifest без копирования кода в проект CCS. */
|
||||
@@ -0,0 +1,12 @@
|
||||
.ref _c_int00 ; Стандартный COFF startup применяет .cinit и вызывает main после отключения раннего watchdog.
|
||||
.sect "codestart" ; Boot ROM передаёт управление двухсловному переходу по аппаратному адресу слова 0x33FFF6.
|
||||
LB flash_boot_start ; Переходит к короткой подготовке C28x во Flash, сохраняя точный размер аппаратного входа два слова.
|
||||
.text ; Последовательность взята из штатного TI DSP2833x_CodeStartBranch.asm и размещается в секторе основного кода.
|
||||
flash_boot_start: ; Отключает watchdog до возможной длительной обработки таблиц инициализации C, а не только после входа в main.
|
||||
SETC OBJMODE ; Выбирает C28x object mode, требуемый стандартным COFF startup процессора F28335.
|
||||
EALLOW ; Разрешает запись защищённого регистра WDCR перед запуском C runtime.
|
||||
MOVZ DP, #7029h>>6 ; Адрес слова WDCR=0x7029 из карты F28335; DP выбирает соответствующую страницу по 64 слова.
|
||||
MOV @7029h, #0068h ; Значение 0x0068 содержит контрольные биты WDCHK=101 и WDDIS=1, как официальный TI startup.
|
||||
EDIS ; Возвращает защиту системных регистров перед переходом в библиотечную инициализацию.
|
||||
LB _c_int00 ; Применяет штатную ROM-модель инициализации и затем запускает текущий main 167.
|
||||
.end ; Завершает модуль, не добавляя произвольных данных рядом с CSM-паролями сектора A.
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
#include "../../../ports/tms320f2812/nor_flash.c" /* Собирает канонический драйвер AM29LV800BT из templates, сохраняя hardware callbacks отдельно от протокола. */
|
||||
@@ -0,0 +1 @@
|
||||
#include "../../../src/pcan_boot.c" /* Подключает общий ProtoCAN codec, сессии и CRC32 без второй реализации протокола. */
|
||||
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<configurations XML_version="1.2" id="configurations_0">
|
||||
<configuration XML_version="1.2" id="configuration_0">
|
||||
<instance XML_version="1.2" desc="Sauris SAU510-USB Iso Plus Emulator" href="connections/SAU510USBIsoPlus_Connection.xml" id="Sauris SAU510-USB Iso Plus Emulator" xml="SAU510USBIsoPlus_Connection.xml" xmlpath="connections"/>
|
||||
<connection XML_version="1.2" id="Sauris SAU510-USB Iso Plus Emulator">
|
||||
<instance XML_version="1.2" href="drivers/sau510c28x.xml" id="drivers" xml="sau510c28x.xml" xmlpath="drivers"/>
|
||||
<platform XML_version="1.2" id="platform_0">
|
||||
<instance XML_version="1.2" desc="TMS320F2812" href="devices/f2812.xml" id="TMS320F2812" xml="f2812.xml" xmlpath="devices"/>
|
||||
</platform>
|
||||
</connection>
|
||||
</configuration>
|
||||
</configurations>
|
||||
@@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<?ccsproject version="1.0"?>
|
||||
<projectOptions>
|
||||
<!-- Описывает ccsVersion: 12.3.0. -->
|
||||
<ccsVersion value="12.3.0" />
|
||||
<!-- Описывает deviceVariant: TMS320C28XX.TMS320F28335. -->
|
||||
<deviceVariant value="TMS320C28XX.TMS320F28335" />
|
||||
<!-- Описывает deviceFamily: C2000. -->
|
||||
<deviceFamily value="C2000" />
|
||||
<!-- Описывает deviceEndianness: little. -->
|
||||
<deviceEndianness value="little" />
|
||||
<!-- Описывает codegenToolVersion: 22.6.0.LTS. -->
|
||||
<codegenToolVersion value="22.6.0.LTS" />
|
||||
<!-- Описывает isElfFormat: false. -->
|
||||
<isElfFormat value="false" />
|
||||
<!-- Описывает rts: rts2800_fpu32.lib. -->
|
||||
<rts value="rts2800_fpu32.lib" />
|
||||
<!-- Описывает isTargetManual: false. -->
|
||||
<isTargetManual value="false" />
|
||||
</projectOptions>
|
||||
@@ -0,0 +1,326 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<?fileVersion 4.0.0?>
|
||||
<cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
|
||||
<!-- Описывает storageModule: org.eclipse.cdt.core.settings. -->
|
||||
<storageModule moduleId="org.eclipse.cdt.core.settings">
|
||||
<!-- Описывает cconfiguration: cconfiguration. -->
|
||||
<cconfiguration id="com.ti.ccstudio.buildDefinitions.C2000.Debug.952393063.f28335">
|
||||
<!-- Описывает storageModule: Debug. -->
|
||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.ti.ccstudio.buildDefinitions.C2000.Debug.952393063.f28335" moduleId="org.eclipse.cdt.core.settings" name="Debug">
|
||||
<!-- Описывает externalSettings: externalSettings. -->
|
||||
<externalSettings />
|
||||
<!-- Описывает extensions: extensions. -->
|
||||
<extensions>
|
||||
<!-- Описывает extension: extension. -->
|
||||
<extension id="com.ti.ccstudio.binaryparser.CoffParser.f28335" point="org.eclipse.cdt.core.BinaryParser" />
|
||||
<!-- Описывает extension: extension. -->
|
||||
<extension id="org.eclipse.cdt.core.GmakeErrorParser.f28335" point="org.eclipse.cdt.core.ErrorParser" />
|
||||
<!-- Описывает extension: extension. -->
|
||||
<extension id="com.ti.ccstudio.errorparser.CoffErrorParser.f28335" point="org.eclipse.cdt.core.ErrorParser" />
|
||||
<!-- Описывает extension: extension. -->
|
||||
<extension id="com.ti.ccstudio.errorparser.AsmErrorParser.f28335" point="org.eclipse.cdt.core.ErrorParser" />
|
||||
<!-- Описывает extension: extension. -->
|
||||
<extension id="com.ti.ccstudio.errorparser.LinkErrorParser.f28335" point="org.eclipse.cdt.core.ErrorParser" />
|
||||
</extensions>
|
||||
</storageModule>
|
||||
<!-- Описывает storageModule: cdtBuildSystem. -->
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
<!-- Описывает configuration: Debug. -->
|
||||
<configuration artifactExtension="out" artifactName="F28335_CAN_AB" buildProperties="" cleanCommand="${CG_CLEAN_CMD}" description="" id="com.ti.ccstudio.buildDefinitions.C2000.Debug.952393063.f28335" name="Debug" parent="com.ti.ccstudio.buildDefinitions.C2000.Debug" postbuildStep="" preannouncebuildStep="" prebuildStep="">
|
||||
<!-- Описывает folderInfo: /. -->
|
||||
<folderInfo id="com.ti.ccstudio.buildDefinitions.C2000.Debug.952393063.f28335." name="/" resourcePath="">
|
||||
<!-- Описывает toolChain: TI Build Tools. -->
|
||||
<toolChain id="com.ti.ccstudio.buildDefinitions.C2000_22.6.exe.DebugToolchain.1656408937.f28335" name="TI Build Tools" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.C2000_22.6.exe.linkerDebug.1238234098.f28335">
|
||||
<!-- Задаёт параметр сборки: option. -->
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1809066827.f28335" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
|
||||
<!-- Передаёт значение параметра: DEVICE_CONFIGURATION_ID=TMS320C28XX.TMS320F28335. -->
|
||||
<listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=TMS320C28XX.TMS320F28335" />
|
||||
<!-- Передаёт значение параметра: DEVICE_ENDIANNESS=little. -->
|
||||
<listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little" />
|
||||
<!-- Передаёт значение параметра: OUTPUT_FORMAT=COFF. -->
|
||||
<listOptionValue builtIn="false" value="OUTPUT_FORMAT=COFF" />
|
||||
<!-- Передаёт значение параметра: LINKER_COMMAND_FILE=F28335_CAN_AB.cmd. -->
|
||||
<listOptionValue builtIn="false" value="LINKER_COMMAND_FILE=F28335_CAN_AB.cmd" />
|
||||
<!-- Передаёт значение параметра: RUNTIME_SUPPORT_LIBRARY=rts2800_fpu32.lib. -->
|
||||
<listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=rts2800_fpu32.lib" />
|
||||
<!-- Передаёт значение параметра: CCS_MBS_VERSION=6.1.3. -->
|
||||
<listOptionValue builtIn="false" value="CCS_MBS_VERSION=6.1.3" />
|
||||
<!-- Передаёт значение параметра: OUTPUT_TYPE=executable. -->
|
||||
<listOptionValue builtIn="false" value="OUTPUT_TYPE=executable" />
|
||||
</option>
|
||||
<!-- Задаёт параметр сборки: Compiler version. -->
|
||||
<option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.1182984787.f28335" name="Compiler version" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="22.6.0.LTS" valueType="string" />
|
||||
<!-- Описывает targetPlatform: Platform. -->
|
||||
<targetPlatform id="com.ti.ccstudio.buildDefinitions.C2000_22.6.exe.targetPlatformDebug.2023332194.f28335" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.exe.targetPlatformDebug" />
|
||||
<!-- Описывает builder: GNU Make. -->
|
||||
<builder buildPath="${BuildDirectory}" id="com.ti.ccstudio.buildDefinitions.C2000_22.6.exe.builderDebug.1704049401.f28335" keepEnvironmentInBuildfile="false" name="GNU Make" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.exe.builderDebug" />
|
||||
<!-- Описывает tool: C2000 Compiler. -->
|
||||
<tool id="com.ti.ccstudio.buildDefinitions.C2000_22.6.exe.compilerDebug.68471068.f28335" name="C2000 Compiler" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.exe.compilerDebug">
|
||||
<!-- Задаёт параметр сборки: Option deprecated, set by default (- -large_memory_model, -ml). -->
|
||||
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.LARGE_MEMORY_MODEL.1683926605.f28335" name="Option deprecated, set by default (--large_memory_model, -ml)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.LARGE_MEMORY_MODEL" value="true" valueType="boolean" />
|
||||
<!-- Задаёт параметр сборки: Unified memory (- -unified_memory, -mt). -->
|
||||
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.UNIFIED_MEMORY.884660743.f28335" name="Unified memory (--unified_memory, -mt)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.UNIFIED_MEMORY" value="true" valueType="boolean" />
|
||||
<!-- Задаёт параметр сборки: Processor version (- -silicon_version, -v). -->
|
||||
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.SILICON_VERSION.750562333.f28335" name="Processor version (--silicon_version, -v)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.SILICON_VERSION" value="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.SILICON_VERSION.28" valueType="enumerated" />
|
||||
<!-- Задаёт параметр сборки: Specify floating point support (- -float_support). -->
|
||||
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.FLOAT_SUPPORT.1723304888.f28335" name="Specify floating point support (--float_support)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.FLOAT_SUPPORT" value="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.FLOAT_SUPPORT.fpu32" valueType="enumerated" />
|
||||
<!-- Задаёт параметр сборки: Optimization level (- -opt_level, -O). -->
|
||||
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.OPT_LEVEL.1217592973.f28335" name="Optimization level (--opt_level, -O)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.OPT_LEVEL" value="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.OPT_LEVEL.3" valueType="enumerated" />
|
||||
<!-- Задаёт параметр сборки: Place each function in a separate subsection (- -gen_func_subsections, -mo). -->
|
||||
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.GEN_FUNC_SUBSECTIONS.eeprom.40.f28335" name="Place each function in a separate subsection (--gen_func_subsections, -mo)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.GEN_FUNC_SUBSECTIONS" value="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.GEN_FUNC_SUBSECTIONS.on" valueType="enumerated" />
|
||||
<!-- Задаёт параметр сборки: Speed vs. size trade-offs (- -opt_for_speed, -mf). -->
|
||||
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.OPT_FOR_SPEED.1885063317.f28335" name="Speed vs. size trade-offs (--opt_for_speed, -mf)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.OPT_FOR_SPEED" value="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.OPT_FOR_SPEED.0" valueType="enumerated" />
|
||||
<!-- Задаёт параметр сборки: Add dir to #include search path (- -include_path, -I). -->
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.INCLUDE_PATH.24504397.f28335" name="Add dir to #include search path (--include_path, -I)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.INCLUDE_PATH" valueType="includePath">
|
||||
<!-- Передаёт значение параметра: ${PROJECT_ROOT}. -->
|
||||
<listOptionValue builtIn="false" value="${PROJECT_ROOT}" />
|
||||
<!-- Передаёт значение параметра: ${PROJECT_ROOT}/../../../vendor/ti/f28335/include. -->
|
||||
<listOptionValue builtIn="false" value="${PROJECT_ROOT}/../../../vendor/ti/f28335/include" />
|
||||
<!-- Передаёт значение параметра: ${PROJECT_ROOT}/../../../vendor/ti/f28335/common/include. -->
|
||||
<listOptionValue builtIn="false" value="${PROJECT_ROOT}/../../../vendor/ti/f28335/common/include" />
|
||||
<!-- Передаёт значение параметра: ${CG_TOOL_ROOT}/include. -->
|
||||
<listOptionValue builtIn="false" value="${CG_TOOL_ROOT}/include" />
|
||||
<listOptionValue builtIn="false" value="C:/ti/controlSUITE/libs/utilities/flash_api/2833x/28335/v210/include" /> <!-- Подключает официальный TI Flash API v2.10 F28335 для обновления секторов B–H по CAN. -->
|
||||
</option>
|
||||
<!-- Задаёт параметр сборки: Pre-define NAME (- -define, -D). -->
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.DEFINE.409484878.f28335" name="Pre-define NAME (--define, -D)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.DEFINE" valueType="definedSymbols">
|
||||
<!-- Передаёт значение параметра: LARGE_MODEL. -->
|
||||
<listOptionValue builtIn="false" value="LARGE_MODEL" />
|
||||
<!-- Передаёт значение параметра: EEPROM_M95M02=1. -->
|
||||
<listOptionValue builtIn="false" value="EEPROM_M95M02=1" />
|
||||
<!-- Передаёт значение параметра: F28335_BOOT_LOADER=1. -->
|
||||
<listOptionValue builtIn="false" value="F28335_BOOT_LOADER=1" />
|
||||
<listOptionValue builtIn="false" value="F28335_CAN_FLASH_UPDATE=1" /> <!-- Разрешает выбор внутренней Flash только при реально подключённом TI API. -->
|
||||
<!-- Передаёт значение параметра: _DEBUG. -->
|
||||
<listOptionValue builtIn="false" value="_DEBUG" />
|
||||
</option>
|
||||
<!-- Задаёт параметр сборки: Debugging model. -->
|
||||
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.DEBUGGING_MODEL.1803616155.f28335" name="Debugging model" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.DEBUGGING_MODEL" value="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF" valueType="enumerated" />
|
||||
<!-- Задаёт параметр сборки: Emit diagnostic identifier numbers (- -display_error_number, -pden). -->
|
||||
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.DISPLAY_ERROR_NUMBER.362706119.f28335" name="Emit diagnostic identifier numbers (--display_error_number, -pden)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean" />
|
||||
<!-- Задаёт параметр сборки: Application binary interface [See 'General' page to edit] (- -abi). -->
|
||||
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.ABI.1036638377.f28335" name="Application binary interface [See 'General' page to edit] (--abi)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.ABI" value="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.ABI.coffabi" valueType="enumerated" />
|
||||
<!-- Описывает inputType: C Sources. -->
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compiler.inputType__C_SRCS.413246530.f28335" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compiler.inputType__C_SRCS" />
|
||||
<!-- Описывает inputType: C++ Sources. -->
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compiler.inputType__CPP_SRCS.1626831603.f28335" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compiler.inputType__CPP_SRCS" />
|
||||
<!-- Описывает inputType: Assembly Sources. -->
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compiler.inputType__ASM_SRCS.291886960.f28335" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compiler.inputType__ASM_SRCS" />
|
||||
<!-- Описывает inputType: Assembly Sources. -->
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compiler.inputType__ASM2_SRCS.231319110.f28335" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compiler.inputType__ASM2_SRCS" />
|
||||
</tool>
|
||||
<!-- Описывает tool: C2000 Linker. -->
|
||||
<tool id="com.ti.ccstudio.buildDefinitions.C2000_22.6.exe.linkerDebug.1238234098.f28335" name="C2000 Linker" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.exe.linkerDebug">
|
||||
<!-- Задаёт параметр сборки: Set C system stack size (- -stack_size, -stack). -->
|
||||
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.STACK_SIZE.1288161308.f28335" name="Set C system stack size (--stack_size, -stack)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.STACK_SIZE" value="0x3f0" valueType="string" />
|
||||
<!-- Задаёт параметр сборки: Link information (map) listed into <file> (- -map_file, -m). -->
|
||||
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.MAP_FILE.1478857036.f28335" name="Link information (map) listed into <file> (--map_file, -m)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.MAP_FILE" value="F28335_CAN_AB.map" valueType="string" />
|
||||
<!-- Задаёт параметр сборки: Specify output file name (- -output_file, -o). -->
|
||||
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.OUTPUT_FILE.1263270138.f28335" name="Specify output file name (--output_file, -o)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.OUTPUT_FILE" value="F28335_CAN_AB.out" valueType="string" />
|
||||
<!-- Задаёт параметр сборки: Include library file or command file as input (- -library, -l). -->
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.LIBRARY.1967188356.f28335" name="Include library file or command file as input (--library, -l)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.LIBRARY" valueType="libs">
|
||||
<!-- Передаёт значение параметра: rts2800_fpu32.lib. -->
|
||||
<listOptionValue builtIn="false" value="rts2800_fpu32.lib" />
|
||||
<listOptionValue builtIn="false" value="Flash28335_API_V210.lib" /> <!-- Официальные erase/program/verify копируются в RAM перед занятостью общего банка Flash. -->
|
||||
</option>
|
||||
<!-- Задаёт параметр сборки: Add <dir> to library search path (- -search_path, -i). -->
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.SEARCH_PATH.1097407993.f28335" name="Add <dir> to library search path (--search_path, -i)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.SEARCH_PATH" valueType="libPaths">
|
||||
<!-- Передаёт значение параметра: ${CG_TOOL_ROOT}/lib. -->
|
||||
<listOptionValue builtIn="false" value="${CG_TOOL_ROOT}/lib" />
|
||||
<listOptionValue builtIn="false" value="C:/ti/controlSUITE/libs/utilities/flash_api/2833x/28335/v210/lib" /> <!-- Находит установленную библиотеку TI без добавления её двоичного содержимого в проект. -->
|
||||
<!-- Передаёт значение параметра: ${PROJECT_ROOT}. -->
|
||||
<listOptionValue builtIn="false" value="${PROJECT_ROOT}" />
|
||||
</option>
|
||||
<!-- Задаёт параметр сборки: Emit diagnostic identifier numbers (- -display_error_number). -->
|
||||
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.DISPLAY_ERROR_NUMBER.2141790994.f28335" name="Emit diagnostic identifier numbers (--display_error_number)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean" />
|
||||
<!-- Задаёт параметр сборки: Detailed link information data-base into <file> (- -xml_link_info, -xml_link_info). -->
|
||||
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.XML_LINK_INFO.1355214148.f28335" name="Detailed link information data-base into <file> (--xml_link_info, -xml_link_info)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.XML_LINK_INFO" value="F28335_CAN_AB_linkInfo.xml" valueType="string" />
|
||||
<!-- Задаёт параметр сборки: Specify program entry point for the output module (- -entry_point, -e). -->
|
||||
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.ENTRY_POINT.862275171.f28335" name="Specify program entry point for the output module (--entry_point, -e)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.ENTRY_POINT" value="_c_int00" valueType="string" />
|
||||
<!-- Описывает inputType: Linker Command Files. -->
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.C2000_22.6.exeLinker.inputType__CMD_SRCS.1082823352.f28335" name="Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.exeLinker.inputType__CMD_SRCS" />
|
||||
<!-- Описывает inputType: Linker Command Files. -->
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.C2000_22.6.exeLinker.inputType__CMD2_SRCS.1635863502.f28335" name="Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.exeLinker.inputType__CMD2_SRCS" />
|
||||
<!-- Описывает inputType: Generated Linker Command Files. -->
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.C2000_22.6.exeLinker.inputType__GEN_CMDS.209596448.f28335" name="Generated Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.exeLinker.inputType__GEN_CMDS" />
|
||||
</tool>
|
||||
<!-- Описывает tool: C2000 Hex Utility. -->
|
||||
<tool id="com.ti.ccstudio.buildDefinitions.C2000_22.6.hex.183039420.f28335" name="C2000 Hex Utility" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.hex">
|
||||
<!-- Описывает outputType: Binary File. -->
|
||||
<outputType id="com.ti.ccstudio.buildDefinitions.C2000_22.6.hex.outputType__BIN.139478444.f28335" name="Binary File" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.hex.outputType__BIN" />
|
||||
</tool>
|
||||
</toolChain>
|
||||
</folderInfo>
|
||||
<!-- Ограничивает компилируемые исходники проекта: sourceEntries. -->
|
||||
<sourceEntries>
|
||||
<!-- Описывает entry: entry. -->
|
||||
<entry excluding="Debug|Release" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="" />
|
||||
</sourceEntries>
|
||||
</configuration>
|
||||
</storageModule>
|
||||
<!-- Описывает storageModule: org.eclipse.cdt.core.externalSettings. -->
|
||||
<storageModule moduleId="org.eclipse.cdt.core.externalSettings" />
|
||||
</cconfiguration>
|
||||
<!-- Описывает cconfiguration: cconfiguration. -->
|
||||
<cconfiguration id="com.ti.ccstudio.buildDefinitions.C2000.Release.952393063.f28335">
|
||||
<!-- Описывает storageModule: Release. -->
|
||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.ti.ccstudio.buildDefinitions.C2000.Release.952393063.f28335" moduleId="org.eclipse.cdt.core.settings" name="Release">
|
||||
<!-- Описывает externalSettings: externalSettings. -->
|
||||
<externalSettings />
|
||||
<!-- Описывает extensions: extensions. -->
|
||||
<extensions>
|
||||
<!-- Описывает extension: extension. -->
|
||||
<extension id="com.ti.ccstudio.binaryparser.CoffParser.f28335" point="org.eclipse.cdt.core.BinaryParser" />
|
||||
<!-- Описывает extension: extension. -->
|
||||
<extension id="org.eclipse.cdt.core.GmakeErrorParser.f28335" point="org.eclipse.cdt.core.ErrorParser" />
|
||||
<!-- Описывает extension: extension. -->
|
||||
<extension id="com.ti.ccstudio.errorparser.CoffErrorParser.f28335" point="org.eclipse.cdt.core.ErrorParser" />
|
||||
<!-- Описывает extension: extension. -->
|
||||
<extension id="com.ti.ccstudio.errorparser.AsmErrorParser.f28335" point="org.eclipse.cdt.core.ErrorParser" />
|
||||
<!-- Описывает extension: extension. -->
|
||||
<extension id="com.ti.ccstudio.errorparser.LinkErrorParser.f28335" point="org.eclipse.cdt.core.ErrorParser" />
|
||||
</extensions>
|
||||
</storageModule>
|
||||
<!-- Описывает storageModule: cdtBuildSystem. -->
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
<!-- Описывает configuration: Release. -->
|
||||
<configuration artifactExtension="out" artifactName="F28335_CAN_AB" buildProperties="" cleanCommand="${CG_CLEAN_CMD}" description="" id="com.ti.ccstudio.buildDefinitions.C2000.Release.952393063.f28335" name="Release" parent="com.ti.ccstudio.buildDefinitions.C2000.Release" postbuildStep="" preannouncebuildStep="" prebuildStep="">
|
||||
<!-- Описывает folderInfo: /. -->
|
||||
<folderInfo id="com.ti.ccstudio.buildDefinitions.C2000.Release.952393063.f28335." name="/" resourcePath="">
|
||||
<!-- Описывает toolChain: TI Build Tools. -->
|
||||
<toolChain id="com.ti.ccstudio.buildDefinitions.C2000_22.6.exe.ReleaseToolchain.1656408937.f28335" name="TI Build Tools" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.exe.ReleaseToolchain" targetTool="com.ti.ccstudio.buildDefinitions.C2000_22.6.exe.linkerRelease.1238234098.f28335">
|
||||
<!-- Задаёт параметр сборки: option. -->
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1809066827.f28335" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
|
||||
<!-- Передаёт значение параметра: DEVICE_CONFIGURATION_ID=TMS320C28XX.TMS320F28335. -->
|
||||
<listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=TMS320C28XX.TMS320F28335" />
|
||||
<!-- Передаёт значение параметра: DEVICE_ENDIANNESS=little. -->
|
||||
<listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little" />
|
||||
<!-- Передаёт значение параметра: OUTPUT_FORMAT=COFF. -->
|
||||
<listOptionValue builtIn="false" value="OUTPUT_FORMAT=COFF" />
|
||||
<!-- Передаёт значение параметра: LINKER_COMMAND_FILE=F28335_CAN_AB.cmd. -->
|
||||
<listOptionValue builtIn="false" value="LINKER_COMMAND_FILE=F28335_CAN_AB.cmd" />
|
||||
<!-- Передаёт значение параметра: RUNTIME_SUPPORT_LIBRARY=rts2800_fpu32.lib. -->
|
||||
<listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=rts2800_fpu32.lib" />
|
||||
<!-- Передаёт значение параметра: CCS_MBS_VERSION=6.1.3. -->
|
||||
<listOptionValue builtIn="false" value="CCS_MBS_VERSION=6.1.3" />
|
||||
<!-- Передаёт значение параметра: OUTPUT_TYPE=executable. -->
|
||||
<listOptionValue builtIn="false" value="OUTPUT_TYPE=executable" />
|
||||
</option>
|
||||
<!-- Задаёт параметр сборки: Compiler version. -->
|
||||
<option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.1182984787.f28335" name="Compiler version" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="22.6.0.LTS" valueType="string" />
|
||||
<!-- Описывает targetPlatform: Platform. -->
|
||||
<targetPlatform id="com.ti.ccstudio.buildDefinitions.C2000_22.6.exe.targetPlatformRelease.2023332194.f28335" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.exe.targetPlatformRelease" />
|
||||
<!-- Описывает builder: GNU Make. -->
|
||||
<builder buildPath="${BuildDirectory}" id="com.ti.ccstudio.buildDefinitions.C2000_22.6.exe.builderRelease.1704049401.f28335" keepEnvironmentInBuildfile="false" name="GNU Make" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.exe.builderRelease" />
|
||||
<!-- Описывает tool: C2000 Compiler. -->
|
||||
<tool id="com.ti.ccstudio.buildDefinitions.C2000_22.6.exe.compilerRelease.68471068.f28335" name="C2000 Compiler" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.exe.compilerRelease">
|
||||
<!-- Задаёт параметр сборки: Option deprecated, set by default (- -large_memory_model, -ml). -->
|
||||
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.LARGE_MEMORY_MODEL.1683926605.f28335" name="Option deprecated, set by default (--large_memory_model, -ml)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.LARGE_MEMORY_MODEL" value="true" valueType="boolean" />
|
||||
<!-- Задаёт параметр сборки: Unified memory (- -unified_memory, -mt). -->
|
||||
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.UNIFIED_MEMORY.884660743.f28335" name="Unified memory (--unified_memory, -mt)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.UNIFIED_MEMORY" value="true" valueType="boolean" />
|
||||
<!-- Задаёт параметр сборки: Processor version (- -silicon_version, -v). -->
|
||||
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.SILICON_VERSION.750562333.f28335" name="Processor version (--silicon_version, -v)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.SILICON_VERSION" value="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.SILICON_VERSION.28" valueType="enumerated" />
|
||||
<!-- Задаёт параметр сборки: Specify floating point support (- -float_support). -->
|
||||
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.FLOAT_SUPPORT.1723304888.f28335" name="Specify floating point support (--float_support)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.FLOAT_SUPPORT" value="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.FLOAT_SUPPORT.fpu32" valueType="enumerated" />
|
||||
<!-- Задаёт параметр сборки: Optimization level (- -opt_level, -O). -->
|
||||
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.OPT_LEVEL.1217592973.f28335" name="Optimization level (--opt_level, -O)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.OPT_LEVEL" value="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.OPT_LEVEL.3" valueType="enumerated" />
|
||||
<!-- Задаёт параметр сборки: Place each function in a separate subsection (- -gen_func_subsections, -mo). -->
|
||||
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.GEN_FUNC_SUBSECTIONS.eeprom.40.f28335" name="Place each function in a separate subsection (--gen_func_subsections, -mo)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.GEN_FUNC_SUBSECTIONS" value="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.GEN_FUNC_SUBSECTIONS.on" valueType="enumerated" />
|
||||
<!-- Задаёт параметр сборки: Speed vs. size trade-offs (- -opt_for_speed, -mf). -->
|
||||
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.OPT_FOR_SPEED.1885063317.f28335" name="Speed vs. size trade-offs (--opt_for_speed, -mf)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.OPT_FOR_SPEED" value="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.OPT_FOR_SPEED.0" valueType="enumerated" />
|
||||
<!-- Задаёт параметр сборки: Add dir to #include search path (- -include_path, -I). -->
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.INCLUDE_PATH.24504397.f28335" name="Add dir to #include search path (--include_path, -I)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.INCLUDE_PATH" valueType="includePath">
|
||||
<!-- Передаёт значение параметра: ${PROJECT_ROOT}. -->
|
||||
<listOptionValue builtIn="false" value="${PROJECT_ROOT}" />
|
||||
<!-- Передаёт значение параметра: ${PROJECT_ROOT}/../../../vendor/ti/f28335/include. -->
|
||||
<listOptionValue builtIn="false" value="${PROJECT_ROOT}/../../../vendor/ti/f28335/include" />
|
||||
<!-- Передаёт значение параметра: ${PROJECT_ROOT}/../../../vendor/ti/f28335/common/include. -->
|
||||
<listOptionValue builtIn="false" value="${PROJECT_ROOT}/../../../vendor/ti/f28335/common/include" />
|
||||
<!-- Передаёт значение параметра: ${CG_TOOL_ROOT}/include. -->
|
||||
<listOptionValue builtIn="false" value="${CG_TOOL_ROOT}/include" />
|
||||
<listOptionValue builtIn="false" value="C:/ti/controlSUITE/libs/utilities/flash_api/2833x/28335/v210/include" /> <!-- Подключает официальный TI Flash API v2.10 F28335 для обновления секторов B–H по CAN. -->
|
||||
</option>
|
||||
<!-- Задаёт параметр сборки: Pre-define NAME (- -define, -D). -->
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.DEFINE.409484878.f28335" name="Pre-define NAME (--define, -D)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.DEFINE" valueType="definedSymbols">
|
||||
<!-- Передаёт значение параметра: LARGE_MODEL. -->
|
||||
<listOptionValue builtIn="false" value="LARGE_MODEL" />
|
||||
<!-- Передаёт значение параметра: EEPROM_M95M02=1. -->
|
||||
<listOptionValue builtIn="false" value="EEPROM_M95M02=1" />
|
||||
<!-- Передаёт значение параметра: F28335_BOOT_LOADER=1. -->
|
||||
<listOptionValue builtIn="false" value="F28335_BOOT_LOADER=1" />
|
||||
<listOptionValue builtIn="false" value="F28335_CAN_FLASH_UPDATE=1" /> <!-- Разрешает выбор внутренней Flash только при реально подключённом TI API. -->
|
||||
<!-- Передаёт значение параметра: _DEBUG. -->
|
||||
</option>
|
||||
<!-- Задаёт параметр сборки: Releaseging model. -->
|
||||
<!-- Задаёт параметр сборки: Emit diagnostic identifier numbers (- -display_error_number, -pden). -->
|
||||
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.DISPLAY_ERROR_NUMBER.362706119.f28335" name="Emit diagnostic identifier numbers (--display_error_number, -pden)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean" />
|
||||
<!-- Задаёт параметр сборки: Application binary interface [See 'General' page to edit] (- -abi). -->
|
||||
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.ABI.1036638377.f28335" name="Application binary interface [See 'General' page to edit] (--abi)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.ABI" value="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.ABI.coffabi" valueType="enumerated" />
|
||||
<!-- Описывает inputType: C Sources. -->
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compiler.inputType__C_SRCS.413246530.f28335" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compiler.inputType__C_SRCS" />
|
||||
<!-- Описывает inputType: C++ Sources. -->
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compiler.inputType__CPP_SRCS.1626831603.f28335" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compiler.inputType__CPP_SRCS" />
|
||||
<!-- Описывает inputType: Assembly Sources. -->
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compiler.inputType__ASM_SRCS.291886960.f28335" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compiler.inputType__ASM_SRCS" />
|
||||
<!-- Описывает inputType: Assembly Sources. -->
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compiler.inputType__ASM2_SRCS.231319110.f28335" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compiler.inputType__ASM2_SRCS" />
|
||||
</tool>
|
||||
<!-- Описывает tool: C2000 Linker. -->
|
||||
<tool id="com.ti.ccstudio.buildDefinitions.C2000_22.6.exe.linkerRelease.1238234098.f28335" name="C2000 Linker" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.exe.linkerRelease">
|
||||
<!-- Задаёт параметр сборки: Set C system stack size (- -stack_size, -stack). -->
|
||||
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.STACK_SIZE.1288161308.f28335" name="Set C system stack size (--stack_size, -stack)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.STACK_SIZE" value="0x3f0" valueType="string" />
|
||||
<!-- Задаёт параметр сборки: Link information (map) listed into <file> (- -map_file, -m). -->
|
||||
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.MAP_FILE.1478857036.f28335" name="Link information (map) listed into <file> (--map_file, -m)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.MAP_FILE" value="F28335_CAN_AB.map" valueType="string" />
|
||||
<!-- Задаёт параметр сборки: Specify output file name (- -output_file, -o). -->
|
||||
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.OUTPUT_FILE.1263270138.f28335" name="Specify output file name (--output_file, -o)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.OUTPUT_FILE" value="F28335_CAN_AB.out" valueType="string" />
|
||||
<!-- Задаёт параметр сборки: Include library file or command file as input (- -library, -l). -->
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.LIBRARY.1967188356.f28335" name="Include library file or command file as input (--library, -l)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.LIBRARY" valueType="libs">
|
||||
<!-- Передаёт значение параметра: rts2800_fpu32.lib. -->
|
||||
<listOptionValue builtIn="false" value="rts2800_fpu32.lib" />
|
||||
<listOptionValue builtIn="false" value="Flash28335_API_V210.lib" /> <!-- Официальные erase/program/verify копируются в RAM перед занятостью общего банка Flash. -->
|
||||
</option>
|
||||
<!-- Задаёт параметр сборки: Add <dir> to library search path (- -search_path, -i). -->
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.SEARCH_PATH.1097407993.f28335" name="Add <dir> to library search path (--search_path, -i)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.SEARCH_PATH" valueType="libPaths">
|
||||
<!-- Передаёт значение параметра: ${CG_TOOL_ROOT}/lib. -->
|
||||
<listOptionValue builtIn="false" value="${CG_TOOL_ROOT}/lib" />
|
||||
<listOptionValue builtIn="false" value="C:/ti/controlSUITE/libs/utilities/flash_api/2833x/28335/v210/lib" /> <!-- Находит установленную библиотеку TI без добавления её двоичного содержимого в проект. -->
|
||||
<!-- Передаёт значение параметра: ${PROJECT_ROOT}. -->
|
||||
<listOptionValue builtIn="false" value="${PROJECT_ROOT}" />
|
||||
</option>
|
||||
<!-- Задаёт параметр сборки: Emit diagnostic identifier numbers (- -display_error_number). -->
|
||||
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.DISPLAY_ERROR_NUMBER.2141790994.f28335" name="Emit diagnostic identifier numbers (--display_error_number)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean" />
|
||||
<!-- Задаёт параметр сборки: Detailed link information data-base into <file> (- -xml_link_info, -xml_link_info). -->
|
||||
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.XML_LINK_INFO.1355214148.f28335" name="Detailed link information data-base into <file> (--xml_link_info, -xml_link_info)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.XML_LINK_INFO" value="F28335_CAN_AB_linkInfo.xml" valueType="string" />
|
||||
<!-- Задаёт параметр сборки: Specify program entry point for the output module (- -entry_point, -e). -->
|
||||
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.ENTRY_POINT.862275171.f28335" name="Specify program entry point for the output module (--entry_point, -e)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.ENTRY_POINT" value="_c_int00" valueType="string" />
|
||||
<!-- Описывает inputType: Linker Command Files. -->
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.C2000_22.6.exeLinker.inputType__CMD_SRCS.1082823352.f28335" name="Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.exeLinker.inputType__CMD_SRCS" />
|
||||
<!-- Описывает inputType: Linker Command Files. -->
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.C2000_22.6.exeLinker.inputType__CMD2_SRCS.1635863502.f28335" name="Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.exeLinker.inputType__CMD2_SRCS" />
|
||||
<!-- Описывает inputType: Generated Linker Command Files. -->
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.C2000_22.6.exeLinker.inputType__GEN_CMDS.209596448.f28335" name="Generated Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.exeLinker.inputType__GEN_CMDS" />
|
||||
</tool>
|
||||
<!-- Описывает tool: C2000 Hex Utility. -->
|
||||
<tool id="com.ti.ccstudio.buildDefinitions.C2000_22.6.hex.183039420.f28335" name="C2000 Hex Utility" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.hex">
|
||||
<!-- Описывает outputType: Binary File. -->
|
||||
<outputType id="com.ti.ccstudio.buildDefinitions.C2000_22.6.hex.outputType__BIN.139478444.f28335" name="Binary File" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.hex.outputType__BIN" />
|
||||
</tool>
|
||||
</toolChain>
|
||||
</folderInfo>
|
||||
<!-- Ограничивает компилируемые исходники проекта: sourceEntries. -->
|
||||
<sourceEntries>
|
||||
<!-- Описывает entry: entry. -->
|
||||
<entry excluding="Release|Release" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="" />
|
||||
</sourceEntries>
|
||||
</configuration>
|
||||
</storageModule>
|
||||
<!-- Описывает storageModule: org.eclipse.cdt.core.externalSettings. -->
|
||||
<storageModule moduleId="org.eclipse.cdt.core.externalSettings" />
|
||||
</cconfiguration>
|
||||
</storageModule>
|
||||
<!-- Описывает storageModule: cdtBuildSystem. -->
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
<!-- Регистрирует тип самостоятельного C2000-проекта: без этой записи CCS не определяет compiler definition при импорте. -->
|
||||
<project id="F28335_CAN_AB.com.ti.ccstudio.buildDefinitions.C2000.ProjectType.1" name="C2000" projectType="com.ti.ccstudio.buildDefinitions.C2000.ProjectType" />
|
||||
</storageModule>
|
||||
</cproject>
|
||||
@@ -0,0 +1,115 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<!-- Описывает name: name. -->
|
||||
<name>F28335_CAN_AB</name>
|
||||
<!-- Описывает comment: comment. -->
|
||||
<comment>Отдельный постоянный загрузчик ProtoCAN для F28335</comment>
|
||||
<!-- Описывает projects: projects. -->
|
||||
<projects />
|
||||
<!-- Описывает buildSpec: buildSpec. -->
|
||||
<buildSpec>
|
||||
<!-- Описывает buildCommand: buildCommand. -->
|
||||
<buildCommand>
|
||||
<!-- Описывает name: name. -->
|
||||
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
|
||||
<!-- Описывает arguments: arguments. -->
|
||||
<arguments />
|
||||
</buildCommand>
|
||||
<!-- Описывает buildCommand: buildCommand. -->
|
||||
<buildCommand>
|
||||
<!-- Описывает name: name. -->
|
||||
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
|
||||
<!-- Описывает arguments: arguments. -->
|
||||
<arguments />
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<!-- Описывает natures: natures. -->
|
||||
<natures>
|
||||
<!-- Описывает nature: nature. -->
|
||||
<nature>com.ti.ccstudio.core.ccsNature</nature>
|
||||
<!-- Описывает nature: nature. -->
|
||||
<nature>org.eclipse.cdt.core.cnature</nature>
|
||||
<!-- Описывает nature: nature. -->
|
||||
<nature>org.eclipse.cdt.core.ccnature</nature>
|
||||
<!-- Описывает nature: nature. -->
|
||||
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
|
||||
<!-- Описывает nature: nature. -->
|
||||
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
|
||||
</natures>
|
||||
<!-- Описывает linkedResources: linkedResources. -->
|
||||
<linkedResources>
|
||||
<!-- Подключает исходник или linker из общей библиотеки: link. -->
|
||||
<link>
|
||||
<!-- Описывает name: name. -->
|
||||
<name>ti/DSP2833x_ADC_cal.asm</name>
|
||||
<!-- Описывает type: type. -->
|
||||
<type>1</type>
|
||||
<!-- Описывает locationURI: locationURI. -->
|
||||
<locationURI>PCAN_ROOT/vendor/ti/f28335/source/DSP2833x_ADC_cal.asm</locationURI>
|
||||
</link>
|
||||
<!-- Подключает исходник или linker из общей библиотеки: link. -->
|
||||
<link>
|
||||
<!-- Описывает name: name. -->
|
||||
<name>ti/DSP2833x_CpuTimers.c</name>
|
||||
<!-- Описывает type: type. -->
|
||||
<type>1</type>
|
||||
<!-- Описывает locationURI: locationURI. -->
|
||||
<locationURI>PCAN_ROOT/vendor/ti/f28335/source/DSP2833x_CpuTimers.c</locationURI>
|
||||
</link>
|
||||
<!-- Подключает исходник или linker из общей библиотеки: link. -->
|
||||
<link>
|
||||
<!-- Описывает name: name. -->
|
||||
<name>ti/DSP2833x_GlobalVariableDefs.c</name>
|
||||
<!-- Описывает type: type. -->
|
||||
<type>1</type>
|
||||
<!-- Описывает locationURI: locationURI. -->
|
||||
<locationURI>PCAN_ROOT/vendor/ti/f28335/source/DSP2833x_GlobalVariableDefs.c</locationURI>
|
||||
</link>
|
||||
<!-- Подключает исходник или linker из общей библиотеки: link. -->
|
||||
<link>
|
||||
<!-- Описывает name: name. -->
|
||||
<name>ti/DSP2833x_PieCtrl.c</name>
|
||||
<!-- Описывает type: type. -->
|
||||
<type>1</type>
|
||||
<!-- Описывает locationURI: locationURI. -->
|
||||
<locationURI>PCAN_ROOT/vendor/ti/f28335/source/DSP2833x_PieCtrl.c</locationURI>
|
||||
</link>
|
||||
<!-- Подключает исходник или linker из общей библиотеки: link. -->
|
||||
<link>
|
||||
<!-- Описывает name: name. -->
|
||||
<name>ti/DSP2833x_SysCtrl.c</name>
|
||||
<!-- Описывает type: type. -->
|
||||
<type>1</type>
|
||||
<!-- Описывает locationURI: locationURI. -->
|
||||
<locationURI>PCAN_ROOT/vendor/ti/f28335/source/DSP2833x_SysCtrl.c</locationURI>
|
||||
</link>
|
||||
<!-- Подключает исходник или linker из общей библиотеки: link. -->
|
||||
<link>
|
||||
<!-- Описывает name: name. -->
|
||||
<name>ti/DSP2833x_usDelay.asm</name>
|
||||
<!-- Описывает type: type. -->
|
||||
<type>1</type>
|
||||
<!-- Описывает locationURI: locationURI. -->
|
||||
<locationURI>PCAN_ROOT/vendor/ti/f28335/source/DSP2833x_usDelay.asm</locationURI>
|
||||
</link>
|
||||
<!-- Подключает исходник или linker из общей библиотеки: link. -->
|
||||
<link>
|
||||
<!-- Описывает name: name. -->
|
||||
<name>DSP2833x_Headers_nonBIOS.cmd</name>
|
||||
<!-- Описывает type: type. -->
|
||||
<type>1</type>
|
||||
<!-- Описывает locationURI: locationURI. -->
|
||||
<locationURI>PCAN_ROOT/vendor/ti/f28335/cmd/DSP2833x_Headers_nonBIOS.cmd</locationURI>
|
||||
</link>
|
||||
</linkedResources>
|
||||
<!-- Описывает variableList: variableList. -->
|
||||
<variableList>
|
||||
<!-- Описывает variable: variable. -->
|
||||
<variable>
|
||||
<!-- Описывает name: name. -->
|
||||
<name>PCAN_ROOT</name>
|
||||
<!-- Описывает value: value. -->
|
||||
<value>$%7BPARENT-3-PROJECT_LOC%7D</value>
|
||||
</variable>
|
||||
</variableList>
|
||||
</projectDescription>
|
||||
@@ -0,0 +1,32 @@
|
||||
MEMORY /* Отделяет постоянный загрузчик от адресов RAM payload приложения 167. */
|
||||
{ /* Все адреса и длины указаны в 16-битных словах CPU C28x. */
|
||||
PAGE 0: /* Исполняемые секции и их Flash LOAD-адреса. */
|
||||
FLASHA : origin = 0x338000, length = 0x007F80 /* Сектор A до зарезервированной CSM-области содержит постоянный загрузчик. */
|
||||
BEGIN : origin = 0x33FFF6, length = 0x000002 /* Два слова аппаратного Flash boot перехода; пароли CSM не выделяются. */
|
||||
RAMFUNCS : origin = 0x00F800, length = 0x000800 /* Верхние 2048 слов RAM загрузчика нужны InitFlash и не входят в SCI8 payload приложения. */
|
||||
RAMAPI : origin = 0x008000, length = 0x001800 /* 6144 слова временно принадлежат TI Flash API; приложение использует эту RAM только после выхода загрузчика. */
|
||||
ADC_CAL : origin = 0x380080, length = 0x000009 /* Заводская калибровка TI используется без записи/стирания. */
|
||||
RESET : origin = 0x3FFFC0, length = 0x000002 /* Аппаратный reset находится в ROM и не программируется. */
|
||||
PAGE 1: /* Рабочие данные не пересекают код RAM-приложения ниже E000. */
|
||||
BOOT_SHARED : origin = 0x000050, length = 0x000008 /* Общие с приложением восемь слов NOINIT handoff после ROM scratch 0..4F. */
|
||||
RAMM0 : origin = 0x000058, length = 0x0003A8 /* Малый банк доступен служебным неинициализированным данным. */
|
||||
RAMM1 : origin = 0x000400, length = 0x000400 /* Стек на 1024 слова не меняет расположение при переходе в приложение. */
|
||||
RAMDATA : origin = 0x00E000, length = 0x001800 /* 6144 слова store/очереди; приложение использует их только после перехода в C startup. */
|
||||
} /* Завершает физическую карту постоянного загрузчика. */
|
||||
SECTIONS /* Не выделяет ни одного загружаемого слова в RAM приложения. */
|
||||
{ /* Инициализированные Flash-секции остаются в секторе A. */
|
||||
codestart : > BEGIN, PAGE = 0 /* Аппаратный переход передаёт управление watchdog-safe C startup. */
|
||||
flash_api : { -lFlash28335_API_V210.lib(.text) -lFlash28335_API_V210.lib(.econst) } LOAD = FLASHA, RUN = RAMAPI, LOAD_START(_FlashApiLoadStart), LOAD_END(_FlashApiLoadEnd), RUN_START(_FlashApiRunStart), PAGE = 0 /* Код и таблицы TI API выполняются из RAM, пока общий банк Flash занят изменением B–H. */
|
||||
.text : > FLASHA, PAGE = 0 /* Весь постоянный алгоритм и библиотеки исполняются из Flash A. */
|
||||
.cinit : > FLASHA, PAGE = 0 /* Таблицы ROM-модели подготавливают данные загрузчика до main. */
|
||||
.pinit : > FLASHA, PAGE = 0 /* Сохраняет стандартный порядок C runtime, если компилятор создаст эту секцию. */
|
||||
.econst : > FLASHA, PAGE = 0 /* Константы протокола и имена сервиса не расходуют рабочую RAM. */
|
||||
.switch : > FLASHA, PAGE = 0 /* Таблицы переходов находятся в постоянной области загрузчика. */
|
||||
ramfuncs : LOAD = FLASHA, RUN = RAMFUNCS, LOAD_START(_RamfuncsLoadStart), LOAD_END(_RamfuncsLoadEnd), RUN_START(_RamfuncsRunStart), PAGE = 0 /* InitFlash копируется до изменения настроек самой Flash. */
|
||||
.boot_shared : > BOOT_SHARED, PAGE = 1, TYPE = NOINIT /* Не обнуляет session/slot, полученные через watchdog reset. */
|
||||
.stack : > RAMM1, PAGE = 1 /* Стек не пересекает ни handoff, ни загружаемые секции SCI8. */
|
||||
.ebss : > RAMDATA, PAGE = 1 /* Размещает очередь, журнал и структуры драйвера вне RAM payload. */
|
||||
.esysmem : > RAMDATA, PAGE = 1 /* Поддерживает стандартную секцию runtime без использования heap в алгоритме. */
|
||||
.reset : > RESET, PAGE = 0, TYPE = DSECT /* Reset-вектор ROM описывается, но не попадает в программируемый OUT. */
|
||||
.adc_cal : > ADC_CAL, PAGE = 0, TYPE = NOLOAD /* Сохраняет заводские данные ADC TI при установке загрузчика. */
|
||||
} /* Не создаёт секций CSM, OTP или паролей. */
|
||||
@@ -0,0 +1,12 @@
|
||||
.ref _c_int00 ; Стандартный COFF startup применяет .cinit и вызывает main после отключения раннего watchdog.
|
||||
.sect "codestart" ; Boot ROM передаёт управление двухсловному переходу по аппаратному адресу слова 0x33FFF6.
|
||||
LB flash_boot_start ; Переходит к короткой подготовке C28x во Flash, сохраняя точный размер аппаратного входа два слова.
|
||||
.text ; Последовательность взята из штатного TI DSP2833x_CodeStartBranch.asm и размещается в секторе основного кода.
|
||||
flash_boot_start: ; Отключает watchdog до возможной длительной обработки таблиц инициализации C, а не только после входа в main.
|
||||
SETC OBJMODE ; Выбирает C28x object mode, требуемый стандартным COFF startup процессора F28335.
|
||||
EALLOW ; Разрешает запись защищённого регистра WDCR перед запуском C runtime.
|
||||
MOVZ DP, #7029h>>6 ; Адрес слова WDCR=0x7029 из карты F28335; DP выбирает соответствующую страницу по 64 слова.
|
||||
MOV @7029h, #0068h ; Значение 0x0068 содержит контрольные биты WDCHK=101 и WDDIS=1, как официальный TI startup.
|
||||
EDIS ; Возвращает защиту системных регистров перед переходом в библиотечную инициализацию.
|
||||
LB _c_int00 ; Применяет штатную ROM-модель инициализации и затем запускает текущий main 167.
|
||||
.end ; Завершает модуль, не добавляя произвольных данных рядом с CSM-паролями сектора A.
|
||||
@@ -0,0 +1,33 @@
|
||||
#include "DSP2833x_Device.h" /* Предоставляет реальные типы C28x, частоту SYSCLKOUT, CSM и маскирование IRQ. */
|
||||
#include "../../../ports/tms320f28335/f28335_flash_update.h" /* Подключает проверяемый алгоритм staging SCI8 и аппаратный контракт записи. */
|
||||
#include "Flash2833x_API_Library.h" /* Использует официальный TI Flash API v2.10 для F28335, а не запись Flash обычным указателем. */
|
||||
#include <string.h> /* Копирует код и таблицы TI API из постоянного сектора A во внутреннюю RAM до операции Flash. */
|
||||
extern Uint16 FlashApiLoadStart, FlashApiLoadEnd, FlashApiRunStart; /* Символы LOAD/RUN задаёт linker в адресуемых словах CPU. */
|
||||
static FLASH_ST flash_status; /* Диагностика TI хранится во внутренней RAM во время стирания и программирования. */
|
||||
static bool erase_flash(void *user) /* Стирает только область приложения, сохраняя постоянный загрузчик. */
|
||||
{ /* Даже IRQ из сектора A запрещены, поскольку F28335 имеет общий банк Flash для A–H. */
|
||||
Uint16 saved, status; (void)user; /* Сохраняет прежнее состояние IRQ и точный результат TI API. */
|
||||
saved = __disable_interrupts(); status = Flash_Erase(0x00FEU, &flash_status); __restore_interrupts(saved); /* Бит 0 — сектор A; маска FE выбирает только B–H согласно TI API v2.10. */
|
||||
return status == STATUS_SUCCESS; /* Ошибка erase запрещает любую последующую публикацию FAB1. */
|
||||
} /* После возврата TI API банк Flash снова доступен коду постоянного загрузчика. */
|
||||
static bool program_flash(void *user, uint32_t address, uint16_t *data, unsigned int words) /* Записывает и проверяет одну ограниченную порцию Flash. */
|
||||
{ /* Аппаратный слой повторно защищает сектор A независимо от валидатора SCI8. */
|
||||
Uint16 saved, status; (void)user; /* Результат API и маска IRQ не размещаются в обновляемой Flash. */
|
||||
if (!words || address < F28335_FLASH_APP_START || address >= F28335_FLASH_APP_STOP || words > F28335_FLASH_APP_STOP - address) return false; /* Не допускает даже частичного выхода за B–H, включая CSM и аппаратный boot. */
|
||||
saved = __disable_interrupts(); status = Flash_Program((Uint16 *)address, data, words, &flash_status); /* Во время программирования процессор выполняет только скопированный в RAM TI API. */
|
||||
if (!status) status = Flash_Verify((Uint16 *)address, data, words, &flash_status); /* Проверяет фактические слова до подтверждения этой порции. */
|
||||
__restore_interrupts(saved); return status == STATUS_SUCCESS; /* Возвращает исходное состояние IRQ даже при отказе записи или readback. */
|
||||
} /* Общий writer опубликует FAB1 лишь после успешной записи остальных порций. */
|
||||
static uint16_t read_flash(void *user, uint32_t address) /* Читает физическую Flash для итоговой проверки FAB1/CRC. */
|
||||
{ /* Этот callback вызывается только после окончания аппаратных операций TI API. */
|
||||
(void)user; return *(volatile Uint16 *)address; /* Адрес уже ограничен общим валидатором диапазоном приложения B–H. */
|
||||
} /* Программирование не подменяется чтением staging EEPROM. */
|
||||
bool F28335Boot_FlashProgram(f28335_flash_update_t *s) /* Единственная точка фактической записи внутренней Flash из CAN COMMIT. */
|
||||
{ /* Постоянный загрузчик может вернуться к CAN recovery при любой ошибке. */
|
||||
f28335_flash_ops_t ops; /* Аппаратные операции передаются проверяемому транспортно-независимому writer. */
|
||||
if (CsmRegs.CSMSCR.bit.SECURE) return false; /* Защищённый CSM запрещает стирание до любого вызова TI API. */
|
||||
memcpy(&FlashApiRunStart, &FlashApiLoadStart, &FlashApiLoadEnd - &FlashApiLoadStart); /* API и его константы должны быть в RAM даже при сохранении сектора A. */
|
||||
Flash_CPUScaleFactor = (Uint32)(1048576.0L * (200.0L * (long double)SYSCLKOUT / 1000000000.0L)); /* Формула TI IQ20 использует реальную частоту SYSCLKOUT в герцах. */
|
||||
Flash_CallbackPtr = 0; ops.erase = erase_flash; ops.program = program_flash; ops.read = read_flash; ops.user = 0; /* Исключает callback во Flash во время занятости общего банка A–H. */
|
||||
return f28335_flash_update_program(s, &ops); /* Итоговый ACK COMMIT появляется только после CRC физической Flash; REBOOT остаётся отдельной командой клиента. */
|
||||
} /* Постоянный boot, handoff и EEPROM-параметры не программируются. */
|
||||
@@ -0,0 +1,127 @@
|
||||
#include "DSP2833x_Device.h" /* Использует действующую частоту и штатную карту регистров той же платы 167. */
|
||||
#include "DSP2833x_Examples.h" /* Предоставляет InitSysCtrl, InitPieCtrl, InitFlash и управление Timer1. */
|
||||
#include "../../../ports/tms320f28335/f28335_can_boot.h" /* Подключает адрес, сервисы и очередь существующего загрузчика. */
|
||||
#include "../../../ports/tms320f28335/f28335_boot_platform.h" /* Использует общий handoff, SPI и энергонезависимый A/B-журнал. */
|
||||
#include <string.h> /* Копирует ramfuncs до настройки времен доступа Flash. */
|
||||
extern Uint16 RamfuncsLoadStart, RamfuncsLoadEnd, RamfuncsRunStart; /* Адреса LOAD/RUN задаёт отдельный linker загрузчика в словах C28x. */
|
||||
static f28335_boot_store_t image_store; /* Журнал загрузки остаётся в RAM E000..FFFF до перехода в приложение. */
|
||||
interrupt void boot_tick(void) /* Timer1 продолжает миллисекундные тайм-ауты общего CAN/SPI порта. */
|
||||
{ /* Этот ISR принадлежит постоянному загрузчику, а не кандидату приложения. */
|
||||
CpuTimer1.InterruptCount++; /* Один тик равен одной миллисекунде согласно ConfigCpuTimer ниже. */
|
||||
ServiceDog(); /* Длительные CRC/SPI операции загрузчика не должны сбрасывать аппарат во время обновления. */
|
||||
} /* Возвращает управление основному циклу загрузчика. */
|
||||
interrupt void boot_can_rx(void) /* CAN IRQ выполняет только короткий перенос принятых кадров в общую очередь. */
|
||||
{ /* Запись EEPROM, CRC и публикация pending остаются в главном цикле. */
|
||||
F28335CanBoot_RxISR(); /* Читает только выделенные mailbox 3 и 6 существующего адаптера. */
|
||||
PieCtrlRegs.PIEACK.all = 0x0100U; /* Бит 8 подтверждает группу PIE9, в которой находится ECAN0INTA. */
|
||||
} /* Позволяет принять следующее окно CAN, пока main занят SPI. */
|
||||
static void boot_can_init(void) /* Настраивает тот же физический CAN-A и 250 кбит/с, что приложение 167. */
|
||||
{ /* Загрузчик не использует прикладные mailbox 0..2 и не меняет адрес общего порта. */
|
||||
Uint32 shadow; /* Защищённые eCAN-регистры изменяются только полными 32-битными обращениями. */
|
||||
EALLOW; /* Разрешает настройку мультиплексора, eCAN и таблицы векторов. */
|
||||
GpioCtrlRegs.GPAMUX2.bit.GPIO30 = 1; /* GPIO30 служит CANRXA, как в штатном InitCan проекта. */
|
||||
GpioCtrlRegs.GPAMUX2.bit.GPIO31 = 1; /* GPIO31 служит CANTXA того же трансивера. */
|
||||
ECanaRegs.CANTIOC.all = 8UL; /* Бит TXFUNC включает функцию CAN у выхода контроллера. */
|
||||
ECanaRegs.CANRIOC.all = 8UL; /* Бит RXFUNC включает аппаратный вход CAN. */
|
||||
ECanaRegs.CANME.all = 0UL; /* Изменяет mailbox и фильтры только при выключенных ящиках. */
|
||||
ECanaRegs.CANMIM.all = 0UL; /* Ни один старый mailbox не должен создавать IRQ во время настройки. */
|
||||
ECanaRegs.CANMIL.all = 0UL; /* Направляет служебные mailbox на ECAN0INTA группы PIE9. */
|
||||
ECanaRegs.CANMC.all = 0x00003080UL; /* SCB=1 выбирает eCAN, ABO=1 автоматическое восстановление, CCR=1 режим настройки битового времени; SRES остаётся нулём. */
|
||||
while (!ECanaRegs.CANES.bit.CCE) {} /* Не пишет CANBTC до аппаратного подтверждения режима настройки. */
|
||||
shadow = ((Uint32)(CLKMULT * 3L - 1L) << 16) | 0x0000017AUL; /* BRP=CLKMULT*3-1, SJW=1, TSEG1=15, TSEG2=2 как в приложении: 250000 бит/с при текущем SYSCLKOUT. */
|
||||
ECanaRegs.CANBTC.all = shadow; /* Передаёт параметры одним 32-битным обращением к eCAN. */
|
||||
ECanaRegs.CANMC.all &= ~0x00001000UL; /* Снимает CCR после настройки тактов CAN. */
|
||||
while (ECanaRegs.CANES.bit.CCE) {} /* Ждёт возврата контроллера к обычной работе перед включением фильтров. */
|
||||
ECanaRegs.CANTA.all = 0xFFFFFFFFUL; /* Удаляет старые TX ACK, которые не относятся к новой сессии. */
|
||||
ECanaRegs.CANRMP.all = 0xFFFFFFFFUL; /* Удаляет старые RX-флаги до включения IRQ. */
|
||||
ECanaRegs.CANRML.all = 0xFFFFFFFFUL; /* Начинает контроль потери mailbox с чистого состояния. */
|
||||
ECanaRegs.CANGIF0.all = 0xFFFFFFFFUL; /* Снимает накопленные флаги линии CAN0. */
|
||||
ECanaRegs.CANGIM.all = 1UL; /* I0EN разрешает mailbox IRQ по линии 0; ошибки не требуют прикладного ISR. */
|
||||
PieVectTable.ECAN0INTA = &boot_can_rx; /* Использует постоянный обработчик загрузчика вместо кода RAM-приложения. */
|
||||
PieCtrlRegs.PIEIER9.bit.INTx5 = 1; /* Разрешает ECAN0INTA в группе PIE9. */
|
||||
EDIS; /* Возвращает защиту аппаратной конфигурации. */
|
||||
IER |= M_INT9; /* Разрешает группе CAN доставлять IRQ ядру после общего EINT. */
|
||||
} /* Общий порт затем настроит адресные mailbox 3/4/6. */
|
||||
static unsigned int boot_periph_id(void) /* Повторяет аппаратное чтение Mode из peripher.c, чтобы после reset адрес загрузчика совпадал с приложением. */
|
||||
{ /* Четыре активных низким уровнем перемычки существующей ПМ35 задают номера 1–16. */
|
||||
unsigned int periph_id; /* Номер является ID PERIPH из Excel, а не уменьшенным на единицу индексом старого CAN. */
|
||||
EALLOW; /* Разрешает настройку только четырёх входов адресных перемычек. */
|
||||
GpioCtrlRegs.GPAMUX2.bit.GPIO20=0; /* GPIO20 работает входом адреса с весом 2, как в get_Mode приложения. */
|
||||
GpioCtrlRegs.GPAMUX2.bit.GPIO21=0; /* GPIO21 работает входом адреса с весом 1, а не альтернативной периферией. */
|
||||
GpioCtrlRegs.GPAMUX2.bit.GPIO22=0; /* GPIO22 работает входом адреса с весом 4. */
|
||||
GpioCtrlRegs.GPBMUX2.bit.GPIO51=0; /* GPIO51 работает входом адреса с весом 8. */
|
||||
GpioCtrlRegs.GPADIR.bit.GPIO20=0; /* Запрещает выходной драйвер, чтобы загрузчик не воздействовал на перемычку. */
|
||||
GpioCtrlRegs.GPADIR.bit.GPIO21=0; /* Оставляет младшую адресную перемычку входом. */
|
||||
GpioCtrlRegs.GPADIR.bit.GPIO22=0; /* Оставляет третий разряд аппаратного номера входом. */
|
||||
GpioCtrlRegs.GPBDIR.bit.GPIO51=0; /* Оставляет старшую перемычку входом порта B. */
|
||||
EDIS; /* Восстанавливает защиту конфигурации GPIO до чтения физического номера. */
|
||||
periph_id=1U+!GpioDataRegs.GPADAT.bit.GPIO21; /* Штатный Mode начинается с 1; замкнутая GPIO21 добавляет единицу. */
|
||||
periph_id+=2U*!GpioDataRegs.GPADAT.bit.GPIO20; /* Замкнутая GPIO20 добавляет два к номеру платы. */
|
||||
periph_id+=4U*!GpioDataRegs.GPADAT.bit.GPIO22; /* Замкнутая GPIO22 добавляет четыре к номеру платы. */
|
||||
periph_id+=8U*!GpioDataRegs.GPBDAT.bit.GPIO51; /* Замкнутая GPIO51 добавляет восемь; аппаратный диапазон заканчивается на 16. */
|
||||
return periph_id; /* Общий CAN-порт преобразует номер 16 в Type 2 / Device 0 согласно Excel. */
|
||||
} /* Приложение и recovery используют один и тот же физический адрес без общего значения 3/7. */
|
||||
static bool ram_word(void *user, uint32_t address, uint16_t value) /* Аппаратная запись одного слова уже проверенной таблицы SCI8. */
|
||||
{ /* Повторяет нижнюю защиту RAM даже при ошибке вызывающего слоя. */
|
||||
(void)user; /* Контекст не нужен для единственной внутренней RAM данного F28335. */
|
||||
if (address < 0x8000UL || address >= 0xE000UL) return false; /* Не позволяет таблице затронуть периферию, handoff, стек или RAM загрузчика. */
|
||||
*(volatile Uint16 *)address = value; /* Адрес измеряется в 16-битных словах C28x, значение уже декодировано из SCI8. */
|
||||
return true; /* Сообщает полную запись слова, а не частичное выполнение секции. */
|
||||
} /* После загрузки всех слов общий store вернёт проверенную точку входа. */
|
||||
static uint16_t flash_word(void *user, uint32_t address) /* Читает только фиксированный заголовок и проверенный диапазон приложения ниже сектора A. */
|
||||
{ /* Загрузчик остаётся во Flash A, поэтому чтение H–B не меняет выполняемый код. */
|
||||
(void)user; /* Единственная внутренняя Flash не требует отдельного контекста источника. */
|
||||
return *(volatile Uint16 *)address; /* C28x адресует Flash 16-битными словами; разбиение на октеты выполняет общий валидатор CRC. */
|
||||
} /* Никакая запись или стирание Flash при выборе источника запуска не выполняется. */
|
||||
static void start_application(uint32_t entry, unsigned int source) /* Передаёт управление Flash либо EEPROM только после проверки соответствующего образа. */
|
||||
{ /* Останавливает собственные IRQ до C startup приложения, который заново настроит периферию и рабочую RAM. */
|
||||
DINT; IER = 0U; IFR = 0U; /* Старые прерывания не должны войти в очередь или стек завершённого загрузчика. */
|
||||
CpuTimer1Regs.TCR.bit.TSS = 1; /* Прекращает миллисекундные IRQ до запуска прикладного InitSysCtrl. */
|
||||
ECanaRegs.CANMIM.all = 0UL; /* Не доставляет CAN IRQ во время смены векторов приложения. */
|
||||
F28335Boot_SetRunning(source); /* Сохраняет достоверный источник: 0/1 для EEPROM A/B либо FE для проверенной Flash. */
|
||||
((void (*)(void))entry)(); /* Вызывает watchdog-safe startup Flash или проверенную точку C runtime RAM-образа. */
|
||||
for (;;) {} /* Ошибочный возврат приложения не использует перезаписанное состояние загрузчика. */
|
||||
} /* Возврат к boot происходит только аппаратным reset с согласованным handoff. */
|
||||
void F28335Boot_Quiesce(void) /* Перед повторным входом загрузчика его собственные IRQ будут отключены общим Reset. */
|
||||
{ /* Силовые выходы загрузчик не включает; прикладная остановка выполняется до входа в него. */
|
||||
CpuTimer2Regs.TCR.bit.TSS = 1; /* Удерживает старый SPI Timer2 остановленным перед watchdog reset. */
|
||||
} /* Общий аппаратный слой сохранит session и включит watchdog. */
|
||||
void main(void) /* Постоянный загрузчик запускается аппаратным Flash boot по адресу 33FFF6. */
|
||||
{ /* Пустая EEPROM и неподтверждённый кандидат оставляют доступным CAN recovery. */
|
||||
f28335_boot_io_t io; /* Доступ к M95M02 предоставляет существующий переносимый SPI-порт. */
|
||||
unsigned int slot, session, periph_id; /* Слот, сессия handoff и физический номер PERIPH сохраняются отдельно от адресов памяти. */
|
||||
uint32_t entry, started; /* Адрес запуска измеряется словами CPU; started хранит миллисекунды стартового окна CAN. */
|
||||
InitSysCtrl(); /* Повторяет PLL и SYSCLKOUT проекта 167, отключая watchdog на раннем старте. */
|
||||
DINT; /* Не использует IRQ до настройки таблицы векторов и Timer1. */
|
||||
IER = 0U; IFR = 0U; /* Исключает доставку старых прерываний после watchdog reset. */
|
||||
memcpy(&RamfuncsRunStart, &RamfuncsLoadStart, &RamfuncsLoadEnd - &RamfuncsLoadStart); /* Переносит InitFlash в RAM до изменения времен доступа Flash. */
|
||||
InitFlash(); /* Настраивает доступ к постоянному коду по штатной процедуре TI. */
|
||||
InitPieCtrl(); /* Очищает разрешения и флаги всех групп PIE перед установкой двух собственных векторов. */
|
||||
InitCpuTimers(); /* Останавливает Timer0/1/2 и сбрасывает их управляющие структуры. */
|
||||
ConfigCpuTimer(&CpuTimer1, SYSCLKOUT / 1000000L, 1000UL); /* Период 1000 мкс даёт единый миллисекундный tick для протокола и SPI WIP. */
|
||||
EALLOW; PieVectTable.XINT13 = &boot_tick; EDIS; /* Привязывает прямое прерывание Timer1 к постоянному ISR загрузчика. */
|
||||
CpuTimer1Regs.TCR.all = 0x4020U; /* Разрешает прерывание Timer1 и запускает счётчик, как приложение 167. */
|
||||
IER |= M_INT13; /* Разрешает миллисекундные прерывания ядра. */
|
||||
periph_id=boot_periph_id(); /* Читает реальные перемычки до адресных mailbox и до ответа на ENTER_BOOT после reset. */
|
||||
boot_can_init(); /* Настраивает трансивер и физическую скорость до общих фильтров и первой передачи. */
|
||||
session = F28335Boot_RequestedSession(); /* Потребляет только достоверный запрос приложения с magic и XOR-контролем. */
|
||||
F28335CanBoot_Init(periph_id); /* Открывает журнал и адресные Boot mailbox только для физического PERIPH данной платы. */
|
||||
PieCtrlRegs.PIECTRL.bit.ENPIE = 1; /* Разрешает таблицу PIE после записи обоих используемых векторов. */
|
||||
EINT; /* Приём окна CAN продолжается во время синхронных SPI-транзакций main. */
|
||||
if (session) F28335CanBoot_Resume(session); /* Отвечает ENTER_BOOT после reset с той же session и остаётся в recovery. */
|
||||
else { /* Обычный reset даёт CAN окно, затем предпочитает проверенную внутреннюю Flash и использует EEPROM как резерв. */
|
||||
started = F28335Boot_Now(); /* Отсчитывает три секунды от готового CAN, а не от начала настройки PLL и SPI. */
|
||||
while ((uint32_t)(F28335Boot_Now()-started)<3000UL && !F28335CanBoot_Active()) { F28335CanBoot_Service(); ServiceDog(); } /* ENTER_BOOT удерживает recovery; обычный PING не изменяет выбранный источник запуска. */
|
||||
F28335CanBoot_Service(); /* Разбирает кадр на границе трёхсекундного окна до последней проверки активного сеанса. */
|
||||
if (!F28335CanBoot_Active()) { /* Не запускает основную или резервную программу поверх открытого сеанса CAN Boot. */
|
||||
if (f28335_flash_app_validate(flash_word, 0, &entry)) start_application(entry, F28335_BOOT_FLASH_SLOT); /* Flash приоритетна только при правильном FAB1, допустимых адресах и совпавшей CRC всех LOAD-секций. */
|
||||
io.read = F28335Boot_Read; io.write = F28335Boot_Write; io.user = 0; /* Передаёт store ту же аппаратную реализацию, что обслуживает CAN. */
|
||||
if (f28335_boot_open(&image_store, &io) && f28335_boot_select(&image_store, &slot) && slot < 2U && f28335_boot_load(&image_store, slot, ram_word, 0, &entry)) { /* Проверяет CRC/SCI8, сохраняет attempted до пробного запуска и копирует только допустимую RAM. */
|
||||
start_application(entry, slot); /* Резервный EEPROM-образ получает прежние trial/CONFIRM и автоматический откат A/B. */
|
||||
} /* При ошибке чтения, CRC, таблицы или журнала не выполняет неизвестный entry. */
|
||||
F28335CanBoot_Init(periph_id); /* При переходе в recovery перечитывает журнал, сохраняя прежний физический адрес платы. */
|
||||
} /* Открытый CAN-сеанс сохраняет метаданные, выбранный слот и подтверждения без повторного Init. */
|
||||
} /* Завершает выбор между адресным входом и обычным запуском приложения. */
|
||||
F28335Boot_SetRunning(F28335_AB_NONE); /* Отмечает режим загрузчика, сохраняя уже восстановленную session в RAM автомата. */
|
||||
for (;;) { F28335CanBoot_Service(); ServiceDog(); } /* Обслуживает обновления и остаётся доступным при пустой/повреждённой EEPROM. */
|
||||
} /* Нормальный выход выполняется только через запуск RAM-приложения либо watchdog reset. */
|
||||
@@ -0,0 +1,5 @@
|
||||
#include "../../../src/pcan_boot.c" /* Подключает единственный общий автомат ProtoCAN Boot и CRC32. */
|
||||
#include "../../../ports/tms320f28335/f28335_boot_store.c" /* Использует проверенный A/B-журнал, readback, SCI8 и откат. */
|
||||
#include "../../../ports/tms320f28335/f28335_flash_app.c" /* Проверяет FAB1 и CRC приложения ниже сектора A перед выбором основного Flash либо резервной EEPROM. */
|
||||
#include "../../../ports/tms320f28335/f28335_boot_hw.c" /* Подключает те же SPI, watchdog и handoff, что RAM-приложение. */
|
||||
#include "../../../ports/tms320f28335/f28335_can_boot.c" /* F28335_BOOT_LOADER=1 разрешает запись слотов только постоянному загрузчику. */
|
||||
@@ -0,0 +1,54 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<configurations XML_version="1.2" id="configurations_0">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<configuration XML_version="1.2" id="Sauris SAU510-USB Iso Plus v.2 Emulator_0">
|
||||
|
||||
|
||||
|
||||
|
||||
<instance XML_version="1.2" desc="Sauris SAU510-USB Iso Plus v.2 Emulator_0" href="connections/SAU510USBIsoPlusV2_Connection.xml" id="Sauris SAU510-USB Iso Plus v.2 Emulator_0" xml="SAU510USBIsoPlusV2_Connection.xml" xmlpath="connections"/>
|
||||
|
||||
|
||||
|
||||
|
||||
<connection XML_version="1.2" id="Sauris SAU510-USB Iso Plus v.2 Emulator_0">
|
||||
|
||||
|
||||
|
||||
|
||||
<instance XML_version="1.2" href="drivers/sau510c28x.xml" id="drivers" xml="sau510c28x.xml" xmlpath="drivers"/>
|
||||
|
||||
|
||||
|
||||
|
||||
<platform XML_version="1.2" id="platform_0">
|
||||
|
||||
|
||||
|
||||
|
||||
<instance XML_version="1.2" desc="TMS320F28335_0" href="devices/f28335.xml" id="TMS320F28335_0" xml="f28335.xml" xmlpath="devices"/>
|
||||
|
||||
|
||||
|
||||
|
||||
</platform>
|
||||
|
||||
|
||||
|
||||
|
||||
</connection>
|
||||
|
||||
|
||||
|
||||
|
||||
</configuration>
|
||||
|
||||
|
||||
|
||||
|
||||
</configurations>
|
||||
Reference in New Issue
Block a user