Сохранить русские комментарии и настройки проекта в UTF-8

Добавить пояснения к исходникам, заголовкам TI, настройкам CCS и существующим проверкам. Зафиксировать правила кодировки, обзор модулей и аудит комментариев.
This commit is contained in:
2026-10-12 12:24:48 +03:00
parent 378e06a281
commit f741741cf8
137 changed files with 21576 additions and 2134 deletions

View File

@@ -1,13 +1,24 @@
<?xml version="1.0" encoding="UTF-8" ?>
<?ccsproject version="1.0"?>
<!-- Настройка projectOptions. -->
<projectOptions>
<!-- Настройка ccsVersion: value=12.3.0. -->
<ccsVersion value="12.3.0"/>
<!-- Настройка deviceVariant: value=TMS320C28XX.TMS320F28335. -->
<deviceVariant value="TMS320C28XX.TMS320F28335"/>
<!-- Настройка deviceFamily: value=C2000. -->
<deviceFamily value="C2000"/>
<!-- Настройка deviceEndianness: value=little. -->
<deviceEndianness value="little"/>
<!-- Настройка codegenToolVersion: value=22.6.0.LTS. -->
<codegenToolVersion value="22.6.0.LTS"/>
<!-- Настройка isElfFormat: value=false. -->
<isElfFormat value="false"/>
<!-- Настройка rts: value=. -->
<rts value=""/>
<!-- Настройка isTargetManual: value=false. -->
<isTargetManual value="false"/>
<!-- Настройка connection: value=common/targetdb/connections/SAU510USBIsoPlusV2_Connection.xml. -->
<connection value="common/targetdb/connections/SAU510USBIsoPlusV2_Connection.xml"/>
<!-- Завершает раздел projectOptions настроек CCS. -->
</projectOptions>

File diff suppressed because one or more lines are too long

View File

@@ -1,6 +1,12 @@
# Исключает из Git артефакты по шаблону ниже.
/Debug/
# Исключает из Git артефакты по шаблону ниже.
/Source/
# Исключает из Git артефакты по шаблону ниже.
/.launches/
# Исключает из Git артефакты по шаблону ниже.
/targetConfigs/
# Исключает из Git артефакты по шаблону ниже.
/project.log
# Исключает из Git артефакты по шаблону ниже.
/Release/

View File

@@ -1,224 +1,447 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Настройка projectDescription. -->
<projectDescription>
<!-- Настройка name. -->
<name>Balsam_167</name>
<!-- Настройка comment. -->
<comment></comment>
<!-- Настройка projects. -->
<projects>
<!-- Завершает раздел projects настроек CCS. -->
</projects>
<!-- Настройка buildSpec. -->
<buildSpec>
<!-- Настройка buildCommand. -->
<buildCommand>
<!-- Настройка name. -->
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
<!-- Настройка arguments. -->
<arguments>
<!-- Завершает раздел arguments настроек CCS. -->
</arguments>
<!-- Завершает раздел buildCommand настроек CCS. -->
</buildCommand>
<!-- Настройка buildCommand. -->
<buildCommand>
<!-- Настройка name. -->
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
<!-- Настройка triggers. -->
<triggers>full,incremental,</triggers>
<!-- Настройка arguments. -->
<arguments>
<!-- Завершает раздел arguments настроек CCS. -->
</arguments>
<!-- Завершает раздел buildCommand настроек CCS. -->
</buildCommand>
<!-- Завершает раздел buildSpec настроек CCS. -->
</buildSpec>
<!-- Настройка natures. -->
<natures>
<!-- Настройка nature. -->
<nature>com.ti.ccstudio.core.ccsNature</nature>
<!-- Настройка nature. -->
<nature>org.eclipse.cdt.core.cnature</nature>
<!-- Настройка nature. -->
<nature>org.eclipse.cdt.core.ccnature</nature>
<!-- Настройка nature. -->
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
<!-- Настройка nature. -->
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
<!-- Завершает раздел natures настроек CCS. -->
</natures>
<!-- Настройка linkedResources. -->
<linkedResources>
<!-- Настройка link. -->
<link>
<!-- Настройка name. -->
<name>F28335.cmd</name>
<!-- Настройка type. -->
<type>1</type>
<!-- Настройка locationURI. -->
<locationURI>SRC_ROOT1/F28335.cmd</locationURI>
<!-- Завершает раздел link настроек CCS. -->
</link>
<!-- Настройка link. -->
<link>
<!-- Настройка name. -->
<name>UKSSTMS320F28335.pjt</name>
<!-- Настройка type. -->
<type>1</type>
<!-- Настройка locationURI. -->
<locationURI>SRC_ROOT1/UKSSTMS320F28335.pjt</locationURI>
<!-- Завершает раздел link настроек CCS. -->
</link>
<!-- Настройка link. -->
<link>
<!-- Настройка name. -->
<name>Debug/UKSSTMS320F28335.out</name>
<!-- Настройка type. -->
<type>1</type>
<!-- Настройка locationURI. -->
<locationURI>EXTERNAL_BUILD_ARTIFACT</locationURI>
<!-- Завершает раздел link настроек CCS. -->
</link>
<!-- Настройка link. -->
<link>
<!-- Настройка name. -->
<name>Libraries/rts2800_fpu32.lib</name>
<!-- Настройка type. -->
<type>1</type>
<!-- Настройка locationURI. -->
<locationURI>SRC_ROOT1/Libraries/rts2800_fpu32.lib</locationURI>
<!-- Завершает раздел link настроек CCS. -->
</link>
<!-- Настройка link. -->
<link>
<!-- Настройка name. -->
<name>Source/Internal/ADC.c</name>
<!-- Настройка type. -->
<type>1</type>
<!-- Настройка locationURI. -->
<locationURI>SRC_ROOT1/Source/Internal/ADC.c</locationURI>
<!-- Завершает раздел link настроек CCS. -->
</link>
<!-- Настройка link. -->
<link>
<!-- Настройка name. -->
<name>Source/Internal/DAC.c</name>
<!-- Настройка type. -->
<type>1</type>
<!-- Настройка locationURI. -->
<locationURI>SRC_ROOT1/Source/Internal/DAC.c</locationURI>
<!-- Завершает раздел link настроек CCS. -->
</link>
<!-- Настройка link. -->
<link>
<!-- Настройка name. -->
<name>Source/Internal/RS485.c</name>
<!-- Настройка type. -->
<type>1</type>
<!-- Настройка locationURI. -->
<locationURI>SRC_ROOT1/Source/Internal/RS485.c</locationURI>
<!-- Завершает раздел link настроек CCS. -->
</link>
<!-- Настройка link. -->
<link>
<!-- Настройка name. -->
<name>Source/Internal/bios.c</name>
<!-- Настройка type. -->
<type>1</type>
<!-- Настройка locationURI. -->
<locationURI>SRC_ROOT1/Source/Internal/bios.c</locationURI>
<!-- Завершает раздел link настроек CCS. -->
</link>
<!-- Настройка link. -->
<link>
<!-- Настройка name. -->
<name>Source/Internal/cntrl_adr.c</name>
<!-- Настройка type. -->
<type>1</type>
<!-- Настройка locationURI. -->
<locationURI>SRC_ROOT1/Source/Internal/cntrl_adr.c</locationURI>
<!-- Завершает раздел link настроек CCS. -->
</link>
<!-- Настройка link. -->
<link>
<!-- Настройка name. -->
<name>Source/Internal/crc16.c</name>
<!-- Настройка type. -->
<type>1</type>
<!-- Настройка locationURI. -->
<locationURI>SRC_ROOT1/Source/Internal/crc16.c</locationURI>
<!-- Завершает раздел link настроек CCS. -->
</link>
<!-- Настройка link. -->
<link>
<!-- Настройка name. -->
<name>Source/Internal/ecan.c</name>
<!-- Настройка type. -->
<type>1</type>
<!-- Настройка locationURI. -->
<locationURI>SRC_ROOT1/Source/Internal/ecan.c</locationURI>
<!-- Завершает раздел link настроек CCS. -->
</link>
<!-- Настройка link. -->
<link>
<!-- Настройка name. -->
<name>Source/Internal/filter_bat2.c</name>
<!-- Настройка type. -->
<type>1</type>
<!-- Настройка locationURI. -->
<locationURI>SRC_ROOT1/Source/Internal/filter_bat2.c</locationURI>
<!-- Завершает раздел link настроек CCS. -->
</link>
<!-- Настройка link. -->
<link>
<!-- Настройка name. -->
<name>Source/Internal/kanal.c</name>
<!-- Настройка type. -->
<type>1</type>
<!-- Настройка locationURI. -->
<locationURI>SRC_ROOT1/Source/Internal/kanal.c</locationURI>
<!-- Завершает раздел link настроек CCS. -->
</link>
<!-- Настройка link. -->
<link>
<!-- Настройка name. -->
<name>Source/Internal/log_to_mem.c</name>
<!-- Настройка type. -->
<type>1</type>
<!-- Настройка locationURI. -->
<locationURI>SRC_ROOT1/Source/Internal/log_to_mem.c</locationURI>
<!-- Завершает раздел link настроек CCS. -->
</link>
<!-- Настройка link. -->
<link>
<!-- Настройка name. -->
<name>Source/Internal/main.c</name>
<!-- Настройка type. -->
<type>1</type>
<!-- Настройка locationURI. -->
<locationURI>SRC_ROOT1/Source/Internal/main.c</locationURI>
<!-- Завершает раздел link настроек CCS. -->
</link>
<!-- Настройка link. -->
<link>
<!-- Настройка name. -->
<name>Source/Internal/measure.c</name>
<!-- Настройка type. -->
<type>1</type>
<!-- Настройка locationURI. -->
<locationURI>SRC_ROOT1/Source/Internal/measure.c</locationURI>
<!-- Завершает раздел link настроек CCS. -->
</link>
<!-- Настройка link. -->
<link>
<!-- Настройка name. -->
<name>Source/Internal/shared_ump.c</name>
<!-- Настройка type. -->
<type>1</type>
<!-- Настройка locationURI. -->
<locationURI>SRC_ROOT1/Source/Internal/shared_ump.c</locationURI>
<!-- Завершает раздел link настроек CCS. -->
</link>
<!-- Настройка link. -->
<link>
<!-- Настройка name. -->
<name>Source/Internal/message.c</name>
<!-- Настройка type. -->
<type>1</type>
<!-- Настройка locationURI. -->
<locationURI>SRC_ROOT1/Source/Internal/message.c</locationURI>
<!-- Завершает раздел link настроек CCS. -->
</link>
<!-- Настройка link. -->
<link>
<!-- Настройка name. -->
<name>Source/Internal/peripher.c</name>
<!-- Настройка type. -->
<type>1</type>
<!-- Настройка locationURI. -->
<locationURI>SRC_ROOT1/Source/Internal/peripher.c</locationURI>
<!-- Завершает раздел link настроек CCS. -->
</link>
<!-- Настройка link. -->
<link>
<!-- Настройка name. -->
<name>Source/Internal/pulto.c</name>
<!-- Настройка type. -->
<type>1</type>
<!-- Настройка locationURI. -->
<locationURI>SRC_ROOT1/Source/Internal/pulto.c</locationURI>
<!-- Завершает раздел link настроек CCS. -->
</link>
<!-- Настройка link. -->
<link>
<!-- Настройка name. -->
<name>Source/Internal/spise2p.c</name>
<!-- Настройка type. -->
<type>1</type>
<!-- Настройка locationURI. -->
<locationURI>SRC_ROOT1/Source/Internal/spise2p.c</locationURI>
<!-- Завершает раздел link настроек CCS. -->
</link>
<!-- Настройка link. -->
<link>
<!-- Настройка name. -->
<name>Source/Internal/tools.c</name>
<!-- Настройка type. -->
<type>1</type>
<!-- Настройка locationURI. -->
<locationURI>SRC_ROOT1/Source/Internal/tools.c</locationURI>
<!-- Завершает раздел link настроек CCS. -->
</link>
<!-- Настройка link. -->
<link>
<!-- Настройка name. -->
<name>Source/External/v120/DSP2833x_common/source/DSP2833x_ADC_cal.asm</name>
<!-- Настройка type. -->
<type>1</type>
<!-- Настройка locationURI. -->
<locationURI>SRC_ROOT1/Source/External/v120/DSP2833x_common/source/DSP2833x_ADC_cal.asm</locationURI>
<!-- Завершает раздел link настроек CCS. -->
</link>
<!-- Настройка link. -->
<link>
<!-- Настройка name. -->
<name>Source/External/v120/DSP2833x_common/source/DSP2833x_Adc.c</name>
<!-- Настройка type. -->
<type>1</type>
<!-- Настройка locationURI. -->
<locationURI>SRC_ROOT1/Source/External/v120/DSP2833x_common/source/DSP2833x_Adc.c</locationURI>
<!-- Завершает раздел link настроек CCS. -->
</link>
<!-- Настройка link. -->
<link>
<!-- Настройка name. -->
<name>Source/External/v120/DSP2833x_common/source/DSP2833x_CpuTimers.c</name>
<!-- Настройка type. -->
<type>1</type>
<!-- Настройка locationURI. -->
<locationURI>SRC_ROOT1/Source/External/v120/DSP2833x_common/source/DSP2833x_CpuTimers.c</locationURI>
<!-- Завершает раздел link настроек CCS. -->
</link>
<!-- Настройка link. -->
<link>
<!-- Настройка name. -->
<name>Source/External/v120/DSP2833x_common/source/DSP2833x_PieCtrl.c</name>
<!-- Настройка type. -->
<type>1</type>
<!-- Настройка locationURI. -->
<locationURI>SRC_ROOT1/Source/External/v120/DSP2833x_common/source/DSP2833x_PieCtrl.c</locationURI>
<!-- Завершает раздел link настроек CCS. -->
</link>
<!-- Настройка link. -->
<link>
<!-- Настройка name. -->
<name>Source/External/v120/DSP2833x_common/source/DSP2833x_SWPrioritizedDefaultIsr.c</name>
<!-- Настройка type. -->
<type>1</type>
<!-- Настройка locationURI. -->
<locationURI>SRC_ROOT1/Source/External/v120/DSP2833x_common/source/DSP2833x_SWPrioritizedDefaultIsr.c</locationURI>
<!-- Завершает раздел link настроек CCS. -->
</link>
<!-- Настройка link. -->
<link>
<!-- Настройка name. -->
<name>Source/External/v120/DSP2833x_common/source/DSP2833x_SWPrioritizedPieVect.c</name>
<!-- Настройка type. -->
<type>1</type>
<!-- Настройка locationURI. -->
<locationURI>SRC_ROOT1/Source/External/v120/DSP2833x_common/source/DSP2833x_SWPrioritizedPieVect.c</locationURI>
<!-- Завершает раздел link настроек CCS. -->
</link>
<!-- Настройка link. -->
<link>
<!-- Настройка name. -->
<name>Source/External/v120/DSP2833x_common/source/DSP2833x_SysCtrl.c</name>
<!-- Настройка type. -->
<type>1</type>
<!-- Настройка locationURI. -->
<locationURI>SRC_ROOT1/Source/External/v120/DSP2833x_common/source/DSP2833x_SysCtrl.c</locationURI>
<!-- Завершает раздел link настроек CCS. -->
</link>
<!-- Настройка link. -->
<link>
<!-- Настройка name. -->
<name>Source/External/v120/DSP2833x_common/source/DSP2833x_Xintf.c</name>
<!-- Настройка type. -->
<type>1</type>
<!-- Настройка locationURI. -->
<locationURI>SRC_ROOT1/Source/External/v120/DSP2833x_common/source/DSP2833x_Xintf.c</locationURI>
<!-- Завершает раздел link настроек CCS. -->
</link>
<!-- Настройка link. -->
<link>
<!-- Настройка name. -->
<name>Source/External/v120/DSP2833x_common/source/DSP2833x_usDelay.asm</name>
<!-- Настройка type. -->
<type>1</type>
<!-- Настройка locationURI. -->
<locationURI>SRC_ROOT1/Source/External/v120/DSP2833x_common/source/DSP2833x_usDelay.asm</locationURI>
<!-- Завершает раздел link настроек CCS. -->
</link>
<!-- Настройка link. -->
<link>
<!-- Настройка name. -->
<name>Source/External/v120/DSP2833x_headers/cmd/DSP2833x_Headers_nonBIOS.cmd</name>
<!-- Настройка type. -->
<type>1</type>
<!-- Настройка locationURI. -->
<locationURI>SRC_ROOT1/Source/External/v120/DSP2833x_headers/cmd/DSP2833x_Headers_nonBIOS.cmd</locationURI>
<!-- Завершает раздел link настроек CCS. -->
</link>
<!-- Настройка link. -->
<link>
<!-- Настройка name. -->
<name>Source/External/v120/DSP2833x_headers/source/DSP2833x_GlobalVariableDefs.c</name>
<!-- Настройка type. -->
<type>1</type>
<!-- Настройка locationURI. -->
<locationURI>SRC_ROOT1/Source/External/v120/DSP2833x_headers/source/DSP2833x_GlobalVariableDefs.c</locationURI>
<!-- Завершает раздел link настроек CCS. -->
</link>
<!-- Настройка link. -->
<link>
<!-- Настройка name. -->
<name>Source/Internal/Include</name>
<!-- Настройка type. -->
<type>2</type>
<!-- Настройка locationURI. -->
<locationURI>SRC_ROOT1/Source/Internal/Include</locationURI>
<!-- Завершает раздел link настроек CCS. -->
</link>
<!-- Настройка link. -->
<link>
<!-- Настройка name. -->
<name>Source/External/v120/DSP2833x_headers/include</name>
<!-- Настройка type. -->
<type>2</type>
<!-- Настройка locationURI. -->
<locationURI>SRC_ROOT1/Source/External/v120/DSP2833x_headers/include</locationURI>
<!-- Завершает раздел link настроек CCS. -->
</link>
<!-- Настройка link. -->
<link>
<!-- Настройка name. -->
<name>Source/External/v120/DSP2833x_common/include</name>
<!-- Настройка type. -->
<type>2</type>
<!-- Настройка locationURI. -->
<locationURI>SRC_ROOT1/Source/External/v120/DSP2833x_common/include</locationURI>
<!-- Завершает раздел link настроек CCS. -->
</link>
<!-- Настройка link. -->
<link>
<!-- Настройка name. -->
<name>Source/Internal/gas167.c</name>
<!-- Настройка type. -->
<type>1</type>
<!-- Настройка locationURI. -->
<locationURI>SRC_ROOT1/Source/Internal/gas167.c</locationURI>
<!-- Завершает раздел link настроек CCS. -->
</link>
<!-- Завершает раздел linkedResources настроек CCS. -->
</linkedResources>
<!-- Настройка variableList. -->
<variableList>
<!-- Настройка variable. -->
<variable>
<!-- Настройка name. -->
<name>SRC_ROOT</name>
<!-- Настройка value. -->
<value>$%7BPARENT-1-PROJECT_LOC%7D</value>
<!-- Завершает раздел variable настроек CCS. -->
</variable>
<!-- Настройка variable. -->
<variable>
<!-- Настройка name. -->
<name>SRC_ROOT1</name>
<!-- Настройка value. -->
<value>$%7BPARENT-1-PROJECT_LOC%7D</value>
<!-- Завершает раздел variable настроек CCS. -->
</variable>
<!-- Завершает раздел variableList настроек CCS. -->
</variableList>
<!-- Завершает раздел projectDescription настроек CCS. -->
</projectDescription>

View File

@@ -1,3 +1,6 @@
# Настройка Eclipse/CCS: eclipse.preferences.version.
eclipse.preferences.version=1
# Настройка Eclipse/CCS: inEditor.
inEditor=false
# Настройка Eclipse/CCS: onBuild.
onBuild=false

View File

@@ -1,2 +1,4 @@
# Настройка Eclipse/CCS: eclipse.preferences.version.
eclipse.preferences.version=1
# Настройка Eclipse/CCS: org.eclipse.cdt.debug.core.toggleBreakpointModel.
org.eclipse.cdt.debug.core.toggleBreakpointModel=com.ti.ccstudio.debug.CCSBreakpointMarker

View File

@@ -1,106 +1,214 @@
# Настройка Eclipse/CCS: eclipse.preferences.version.
eclipse.preferences.version=1
# Настройка Eclipse/CCS: encoding//Debug/Libraries/subdir_rules.mk.
encoding//Debug/Libraries/subdir_rules.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/Libraries/subdir_vars.mk.
encoding//Debug/Libraries/subdir_vars.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/Source/External/v120/DSP2833x_common/source/subdir_rules.mk.
encoding//Debug/Source/External/v120/DSP2833x_common/source/subdir_rules.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/Source/External/v120/DSP2833x_common/source/subdir_vars.mk.
encoding//Debug/Source/External/v120/DSP2833x_common/source/subdir_vars.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/Source/External/v120/DSP2833x_headers/cmd/subdir_rules.mk.
encoding//Debug/Source/External/v120/DSP2833x_headers/cmd/subdir_rules.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/Source/External/v120/DSP2833x_headers/cmd/subdir_vars.mk.
encoding//Debug/Source/External/v120/DSP2833x_headers/cmd/subdir_vars.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/Source/External/v120/DSP2833x_headers/source/subdir_rules.mk.
encoding//Debug/Source/External/v120/DSP2833x_headers/source/subdir_rules.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/Source/External/v120/DSP2833x_headers/source/subdir_vars.mk.
encoding//Debug/Source/External/v120/DSP2833x_headers/source/subdir_vars.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/Source/Internal/subdir_rules.mk.
encoding//Debug/Source/Internal/subdir_rules.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/Source/Internal/subdir_vars.mk.
encoding//Debug/Source/Internal/subdir_vars.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/makefile.
encoding//Debug/makefile=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/objects.mk.
encoding//Debug/objects.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__0/Libraries/subdir_rules.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__0/Libraries/subdir_rules.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__0/Libraries/subdir_vars.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__0/Libraries/subdir_vars.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__0/Source/External/v120/DSP2833x_common/source/subdir_rules.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__0/Source/External/v120/DSP2833x_common/source/subdir_rules.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__0/Source/External/v120/DSP2833x_common/source/subdir_vars.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__0/Source/External/v120/DSP2833x_common/source/subdir_vars.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__0/Source/External/v120/DSP2833x_headers/cmd/subdir_rules.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__0/Source/External/v120/DSP2833x_headers/cmd/subdir_rules.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__0/Source/External/v120/DSP2833x_headers/cmd/subdir_vars.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__0/Source/External/v120/DSP2833x_headers/cmd/subdir_vars.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__0/Source/External/v120/DSP2833x_headers/source/subdir_rules.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__0/Source/External/v120/DSP2833x_headers/source/subdir_rules.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__0/Source/External/v120/DSP2833x_headers/source/subdir_vars.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__0/Source/External/v120/DSP2833x_headers/source/subdir_vars.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__0/Source/Internal/subdir_rules.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__0/Source/Internal/subdir_rules.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__0/Source/Internal/subdir_vars.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__0/Source/Internal/subdir_vars.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__0/makefile.
encoding//Debug/optimizerAssistant/opt_for_speed__0/makefile=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__0/objects.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__0/objects.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__0/sources.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__0/sources.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__0/subdir_rules.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__0/subdir_rules.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__0/subdir_vars.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__0/subdir_vars.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__1/Libraries/subdir_rules.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__1/Libraries/subdir_rules.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__1/Libraries/subdir_vars.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__1/Libraries/subdir_vars.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__1/Source/External/v120/DSP2833x_common/source/subdir_rules.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__1/Source/External/v120/DSP2833x_common/source/subdir_rules.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__1/Source/External/v120/DSP2833x_common/source/subdir_vars.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__1/Source/External/v120/DSP2833x_common/source/subdir_vars.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__1/Source/External/v120/DSP2833x_headers/cmd/subdir_rules.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__1/Source/External/v120/DSP2833x_headers/cmd/subdir_rules.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__1/Source/External/v120/DSP2833x_headers/cmd/subdir_vars.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__1/Source/External/v120/DSP2833x_headers/cmd/subdir_vars.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__1/Source/External/v120/DSP2833x_headers/source/subdir_rules.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__1/Source/External/v120/DSP2833x_headers/source/subdir_rules.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__1/Source/External/v120/DSP2833x_headers/source/subdir_vars.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__1/Source/External/v120/DSP2833x_headers/source/subdir_vars.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__1/Source/Internal/subdir_rules.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__1/Source/Internal/subdir_rules.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__1/Source/Internal/subdir_vars.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__1/Source/Internal/subdir_vars.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__1/makefile.
encoding//Debug/optimizerAssistant/opt_for_speed__1/makefile=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__1/objects.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__1/objects.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__1/sources.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__1/sources.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__1/subdir_rules.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__1/subdir_rules.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__1/subdir_vars.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__1/subdir_vars.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__2/Libraries/subdir_rules.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__2/Libraries/subdir_rules.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__2/Libraries/subdir_vars.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__2/Libraries/subdir_vars.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__2/Source/External/v120/DSP2833x_common/source/subdir_rules.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__2/Source/External/v120/DSP2833x_common/source/subdir_rules.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__2/Source/External/v120/DSP2833x_common/source/subdir_vars.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__2/Source/External/v120/DSP2833x_common/source/subdir_vars.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__2/Source/External/v120/DSP2833x_headers/cmd/subdir_rules.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__2/Source/External/v120/DSP2833x_headers/cmd/subdir_rules.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__2/Source/External/v120/DSP2833x_headers/cmd/subdir_vars.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__2/Source/External/v120/DSP2833x_headers/cmd/subdir_vars.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__2/Source/External/v120/DSP2833x_headers/source/subdir_rules.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__2/Source/External/v120/DSP2833x_headers/source/subdir_rules.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__2/Source/External/v120/DSP2833x_headers/source/subdir_vars.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__2/Source/External/v120/DSP2833x_headers/source/subdir_vars.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__2/Source/Internal/subdir_rules.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__2/Source/Internal/subdir_rules.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__2/Source/Internal/subdir_vars.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__2/Source/Internal/subdir_vars.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__2/makefile.
encoding//Debug/optimizerAssistant/opt_for_speed__2/makefile=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__2/objects.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__2/objects.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__2/sources.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__2/sources.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__2/subdir_rules.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__2/subdir_rules.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__2/subdir_vars.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__2/subdir_vars.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__3/Libraries/subdir_rules.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__3/Libraries/subdir_rules.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__3/Libraries/subdir_vars.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__3/Libraries/subdir_vars.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__3/Source/External/v120/DSP2833x_common/source/subdir_rules.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__3/Source/External/v120/DSP2833x_common/source/subdir_rules.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__3/Source/External/v120/DSP2833x_common/source/subdir_vars.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__3/Source/External/v120/DSP2833x_common/source/subdir_vars.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__3/Source/External/v120/DSP2833x_headers/cmd/subdir_rules.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__3/Source/External/v120/DSP2833x_headers/cmd/subdir_rules.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__3/Source/External/v120/DSP2833x_headers/cmd/subdir_vars.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__3/Source/External/v120/DSP2833x_headers/cmd/subdir_vars.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__3/Source/External/v120/DSP2833x_headers/source/subdir_rules.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__3/Source/External/v120/DSP2833x_headers/source/subdir_rules.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__3/Source/External/v120/DSP2833x_headers/source/subdir_vars.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__3/Source/External/v120/DSP2833x_headers/source/subdir_vars.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__3/Source/Internal/subdir_rules.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__3/Source/Internal/subdir_rules.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__3/Source/Internal/subdir_vars.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__3/Source/Internal/subdir_vars.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__3/makefile.
encoding//Debug/optimizerAssistant/opt_for_speed__3/makefile=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__3/objects.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__3/objects.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__3/sources.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__3/sources.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__3/subdir_rules.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__3/subdir_rules.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__3/subdir_vars.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__3/subdir_vars.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__4/Libraries/subdir_rules.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__4/Libraries/subdir_rules.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__4/Libraries/subdir_vars.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__4/Libraries/subdir_vars.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__4/Source/External/v120/DSP2833x_common/source/subdir_rules.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__4/Source/External/v120/DSP2833x_common/source/subdir_rules.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__4/Source/External/v120/DSP2833x_common/source/subdir_vars.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__4/Source/External/v120/DSP2833x_common/source/subdir_vars.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__4/Source/External/v120/DSP2833x_headers/cmd/subdir_rules.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__4/Source/External/v120/DSP2833x_headers/cmd/subdir_rules.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__4/Source/External/v120/DSP2833x_headers/cmd/subdir_vars.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__4/Source/External/v120/DSP2833x_headers/cmd/subdir_vars.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__4/Source/External/v120/DSP2833x_headers/source/subdir_rules.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__4/Source/External/v120/DSP2833x_headers/source/subdir_rules.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__4/Source/External/v120/DSP2833x_headers/source/subdir_vars.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__4/Source/External/v120/DSP2833x_headers/source/subdir_vars.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__4/Source/Internal/subdir_rules.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__4/Source/Internal/subdir_rules.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__4/Source/Internal/subdir_vars.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__4/Source/Internal/subdir_vars.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__4/makefile.
encoding//Debug/optimizerAssistant/opt_for_speed__4/makefile=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__4/objects.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__4/objects.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__4/sources.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__4/sources.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__4/subdir_rules.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__4/subdir_rules.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__4/subdir_vars.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__4/subdir_vars.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__5/Libraries/subdir_rules.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__5/Libraries/subdir_rules.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__5/Libraries/subdir_vars.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__5/Libraries/subdir_vars.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__5/Source/External/v120/DSP2833x_common/source/subdir_rules.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__5/Source/External/v120/DSP2833x_common/source/subdir_rules.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__5/Source/External/v120/DSP2833x_common/source/subdir_vars.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__5/Source/External/v120/DSP2833x_common/source/subdir_vars.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__5/Source/External/v120/DSP2833x_headers/cmd/subdir_rules.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__5/Source/External/v120/DSP2833x_headers/cmd/subdir_rules.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__5/Source/External/v120/DSP2833x_headers/cmd/subdir_vars.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__5/Source/External/v120/DSP2833x_headers/cmd/subdir_vars.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__5/Source/External/v120/DSP2833x_headers/source/subdir_rules.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__5/Source/External/v120/DSP2833x_headers/source/subdir_rules.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__5/Source/External/v120/DSP2833x_headers/source/subdir_vars.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__5/Source/External/v120/DSP2833x_headers/source/subdir_vars.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__5/Source/Internal/subdir_rules.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__5/Source/Internal/subdir_rules.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__5/Source/Internal/subdir_vars.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__5/Source/Internal/subdir_vars.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__5/makefile.
encoding//Debug/optimizerAssistant/opt_for_speed__5/makefile=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__5/objects.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__5/objects.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__5/sources.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__5/sources.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__5/subdir_rules.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__5/subdir_rules.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/optimizerAssistant/opt_for_speed__5/subdir_vars.mk.
encoding//Debug/optimizerAssistant/opt_for_speed__5/subdir_vars.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/sources.mk.
encoding//Debug/sources.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/subdir_rules.mk.
encoding//Debug/subdir_rules.mk=UTF-8
# Настройка Eclipse/CCS: encoding//Debug/subdir_vars.mk.
encoding//Debug/subdir_vars.mk=UTF-8
# Кодировка всего проекта, включая связанные исходники.
encoding/<project>=UTF-8

View File

@@ -1,3 +1,4 @@
/* Распределение секций программы и данных по RAM контроллера. Русские пояснения сохранены в UTF-8. */
/*
// TI File $Revision: /main/11 $
// Checkin $Date: April 15, 2009 09:57:28 $
@@ -78,69 +79,109 @@
*/
/* Начинает описание физических блоков памяти для линкера. */
MEMORY
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Выбирает страницу адресного пространства линкера: 0 — программа, 1 — данные. */
PAGE 0 :
/* BEGIN is used for the "boot to SARAM" bootloader mode */
BEGIN : origin = 0x000000, length = 0x000002 /* Boot to M0 will go here */
BEGIN : origin = 0x000000, length = 0x000002 /* Boot to M0 will go here */ /* Записывает origin значением 0x000000, length = 0x000002; данные origin. */
/* Записывает origin значением 0x000050, length = 0x0003B0; данные origin. */
RAMM0 : origin = 0x000050, length = 0x0003B0
/* Записывает origin значением 0x008000, length = 0x001000; данные origin. */
RAML0 : origin = 0x008000, length = 0x001000
/* Записывает origin значением 0x009000, length = 0x001000; данные origin. */
RAML1 : origin = 0x009000, length = 0x001000
/* Записывает origin значением 0x00A000, length = 0x001000; данные origin. */
RAML2 : origin = 0x00A000, length = 0x001000
/* Записывает origin значением 0x00B000, length = 0x001000; данные origin. */
RAML3 : origin = 0x00B000, length = 0x001000
ZONE7A : origin = 0x200000, length = 0x00FC00 /* XINTF zone 7 - program space */
CSM_RSVD : origin = 0x33FF80, length = 0x000076 /* Part of FLASHA. Program with all 0x0000 when CSM is in use. */
CSM_PWL : origin = 0x33FFF8, length = 0x000008 /* Part of FLASHA. CSM password locations in FLASHA */
ZONE7A : origin = 0x200000, length = 0x00FC00 /* XINTF zone 7 - program space */ /* Записывает origin значением 0x200000, length = 0x00FC00; данные origin. */
CSM_RSVD : origin = 0x33FF80, length = 0x000076 /* Part of FLASHA. Program with all 0x0000 when CSM is in use. */ /* Записывает origin значением 0x33FF80, length = 0x000076; данные origin. */
CSM_PWL : origin = 0x33FFF8, length = 0x000008 /* Part of FLASHA. CSM password locations in FLASHA */ /* Записывает origin значением 0x33FFF8, length = 0x000008; данные origin. */
/* Записывает origin значением 0x380080, length = 0x000009; данные origin. */
ADC_CAL : origin = 0x380080, length = 0x000009
/* Записывает origin значением 0x3FFFC0, length = 0x000002; данные origin. */
RESET : origin = 0x3FFFC0, length = 0x000002
/* Записывает origin значением 0x3FE000, length = 0x000b50; данные origin. */
IQTABLES : origin = 0x3FE000, length = 0x000b50
/* Записывает origin значением 0x3FEB50, length = 0x00008c; данные origin. */
IQTABLES2 : origin = 0x3FEB50, length = 0x00008c
/* Записывает origin значением 0x3FEBDC, length = 0x0006A0; данные origin. */
FPUTABLES : origin = 0x3FEBDC, length = 0x0006A0
/* Записывает origin значением 0x3FF27C, length = 0x000D44; данные origin. */
BOOTROM : origin = 0x3FF27C, length = 0x000D44
/* Выбирает страницу адресного пространства линкера: 0 — программа, 1 — данные. */
PAGE 1 :
/* BOOT_RSVD is used by the boot ROM for stack. */
/* This section is only reserved to keep the BOOT ROM from */
/* corrupting this area during the debug process */
BOOT_RSVD : origin = 0x000002, length = 0x00004E /* Part of M0, BOOT rom will use this for stack */
RAMM1 : origin = 0x000400, length = 0x000400 /* on-chip RAM block M1 */
BOOT_RSVD : origin = 0x000002, length = 0x00004E /* Part of M0, BOOT rom will use this for stack */ /* Записывает origin значением 0x000002, length = 0x00004E; данные origin. */
RAMM1 : origin = 0x000400, length = 0x000400 /* on-chip RAM block M1 */ /* Записывает origin значением 0x000400, length = 0x000400; данные origin. */
/* Записывает origin значением 0x00C000, length = 0x001000; данные origin. */
RAML4 : origin = 0x00C000, length = 0x001000
/* Записывает origin значением 0x00D000, length = 0x001000; данные origin. */
RAML5 : origin = 0x00D000, length = 0x001000
/* Записывает origin значением 0x00E000, length = 0x001000; данные origin. */
RAML6 : origin = 0x00E000, length = 0x001000
/* Записывает origin значением 0x00F000, length = 0x001000; данные origin. */
RAML7 : origin = 0x00F000, length = 0x001000
ZONE7B : origin = 0x20FC00, length = 0x000400 /* XINTF zone 7 - data space */
ZONE7B : origin = 0x20FC00, length = 0x000400 /* XINTF zone 7 - data space */ /* Записывает origin значением 0x20FC00, length = 0x000400; данные origin. */
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Начинает описание размещения секций объектных файлов для линкера. */
SECTIONS
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Setup for "boot to SARAM" mode:
The codestart section (found in DSP28_CodeStartBranch.asm)
re-directs execution to the start of user code. */
/* Записывает PAGE значением 0; данные PAGE. */
codestart : > BEGIN, PAGE = 0
/* Включает следующий блок только при определённом символе __TI_COMPILER_VERSION__. */
#ifdef __TI_COMPILER_VERSION__
/* Условие компиляции __TI_COMPILER_VERSION__ >= 15009000: выбранный блок включается в текущий вариант прошивки. */
#if __TI_COMPILER_VERSION__ >= 15009000
/* Записывает PAGE значением 0; данные PAGE. */
.TI.ramfunc : {} > RAML0, PAGE = 0
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
ramfuncs : > RAML0, PAGE = 0
/* Записывает PAGE значением 0; данные PAGE. */
ramfuncs : > RAML0, PAGE = 0
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
#endif
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Записывает PAGE значением 0; данные PAGE. */
.text : > RAML1, PAGE = 0
/* Записывает PAGE значением 0; данные PAGE. */
.cinit : > RAML0, PAGE = 0
/* Записывает PAGE значением 0; данные PAGE. */
.pinit : > RAML0, PAGE = 0
/* Записывает PAGE значением 0; данные PAGE. */
.switch : > RAML0, PAGE = 0
/* Записывает PAGE значением 1; данные PAGE. */
.stack : > RAMM1, PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
.ebss : > RAML4, PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
.econst : > RAML5, PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
.esysmem : > RAMM1, PAGE = 1
/* Записывает PAGE значением 0; данные PAGE. */
IQmath : > RAML1, PAGE = 0
/* Записывает PAGE значением 0, TYPE = NOLOAD; данные PAGE. */
IQmathTables : > IQTABLES, PAGE = 0, TYPE = NOLOAD
/* Uncomment the section below if calling the IQNexp() or IQexp()
@@ -159,26 +200,34 @@ SECTIONS
}
*/
/* Записывает PAGE значением 0, TYPE = NOLOAD; данные PAGE. */
FPUmathTables : > FPUTABLES, PAGE = 0, TYPE = NOLOAD
/* Записывает PAGE значением 1; данные PAGE. */
DMARAML4 : > RAML4, PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
DMARAML5 : > RAML5, PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
DMARAML6 : > RAML6, PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
DMARAML7 : > RAML7, PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
ZONE7DATA : > ZONE7B, PAGE = 1
.reset : > RESET, PAGE = 0, TYPE = DSECT /* not used */
csm_rsvd : > CSM_RSVD PAGE = 0, TYPE = DSECT /* not used for SARAM examples */
csmpasswds : > CSM_PWL PAGE = 0, TYPE = DSECT /* not used for SARAM examples */
.reset : > RESET, PAGE = 0, TYPE = DSECT /* not used */ /* Записывает PAGE значением 0, TYPE = DSECT; данные PAGE. */
csm_rsvd : > CSM_RSVD PAGE = 0, TYPE = DSECT /* not used for SARAM examples */ /* Записывает PAGE значением 0, TYPE = DSECT; данные PAGE. */
csmpasswds : > CSM_PWL PAGE = 0, TYPE = DSECT /* not used for SARAM examples */ /* Записывает PAGE значением 0, TYPE = DSECT; данные PAGE. */
/* Allocate ADC_cal function (pre-programmed by factory into TI reserved memory) */
/* Записывает load значением ADC_CAL, PAGE = 0, TYPE = NOLOAD; данные load. */
.adc_cal : load = ADC_CAL, PAGE = 0, TYPE = NOLOAD
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/*
//===========================================================================
// End of file.
//===========================================================================
*/
*/

View File

@@ -1,55 +1,59 @@
## Номер выпуска
# Сборка Бальзам-167
Меняйте `FIRMWARE_VERSION_MAJOR`, `FIRMWARE_VERSION_MINOR` и
`FIRMWARE_VERSION_PATCH` в `firmware_version.h` в корне проекта CCS.
Например, `0U`, `1U`, `2U` задают версию 0.1.2. Сохраните файл и
выполните Rebuild. После обновления настроек закройте/откройте проект и
выполните Clean/Rebuild.
Проект CCS использует TMS320F28335, модель памяти large и ABI COFF.
Исходники и русские комментарии сохранены в UTF-8 без BOM. Кодировка проекта
задана в .settings/org.eclipse.core.resources.prefs, правило редактора — в
../.editorconfig. Подробная проверка покрытия: [COMMENT_AUDIT.md](../Doc/COMMENT_AUDIT.md).
Debug и Release запускают `prepare_identity.py`: он читает номер из заголовка
и передаёт его общему генератору. `firmware_identity.json` содержит только
product/target; номер выпуска в нём редактировать не нужно.
`${BuildDirectory}/generated/firmware_identity.h` и JSON-паспорт создаются
автоматически; вручную их не меняйте. Диапазоны: major/minor 0..255,
patch 0..999. Неверный номер останавливает генерацию.
# Результаты сборки
## Версия и паспорт прошивки
Версия 0.1.1 возвращает паспорт прошивки и блочное чтение EEPROM поверх
подтверждённой на плате базы `c6c9128`. COM_1 остаётся на 115200; исходники
`main.c`, `RS485.c`, `RS485.h` и настройки PLL не менялись относительно этой базы.
Не используйте 250000/256000 для проверки этой сборки. FIFO остаётся включённым,
как в рабочей базе; диагностический вариант без FIFO здесь не используется.
Блочное чтение, проверка размера и host-тесты проверяются программно;
после загрузки сначала проверьте чтение версии 0.1.1, затем 256 байт EEPROM.
Текущий номер 1.1.2 задаётся в firmware_version.h: major/minor 0..255,
patch 0..999. Меняйте только три числовых определения версии и выполняйте
Clean/Rebuild. firmware_identity.json хранит product/target.
Debug post-build CCS12 также копирует проверенный BIN и сопутствующие
`.manifest.json`/`.sha256` в
`../newProject/SETGUI/..periph_28335/firmware/periph28335/bal`.
Папка создаётся автоматически; имя BIN с Git commit сохраняется.
Копирование выполняет `copy_bin_to_setgui.ps1` после успешной проверки образа
и создания паспорта. Пути определяются относительно репозитория, не cwd CCS.
Для ручного копирования: `./copy_bin_to_setgui.ps1 -Path ./Bin/<имя>.bin`.
Debug и Release вызывают prepare_identity.py. Он читает номер версии и передаёт
его общему генератору паспорта. generated/firmware_identity.h и JSON создаются
в каталоге сборки; вручную их редактировать не нужно. Паспорт включает исходный
коммит, признак незакоммиченных изменений и время UTC. Порядок проверки
приведён в [FIRMWARE_IDENTITY.md](../Doc/FIRMWARE_IDENTITY.md).
Версия работающей прошивки, SHA-256 BIN и паспорт сборки описаны в
[инструкции для 167](../Doc/FIRMWARE_IDENTITY.md). Перед компиляцией запускается
`preBuildStep.bat`; требуются Python 3.10+ и Git в PATH CCS. Debug post-build
создаёт рядом с BIN файлы `.manifest.json` и `.sha256`.
## Зависимости и настройки CCS
Для сборки требуется общий UMP-протокол из соседнего репозитория:
`../newProject/SETGUI/third_party/templates/c/set-protocol` (от корня этого
репозитория). Пути к заголовкам заданы в `.cproject` для Debug и Release;
`Source/Internal/shared_ump.c` подключён в `.project` и компилирует общую
реализацию протокола и порт TMS320F28335. При другом расположении зависимости
обновите оба пути Include Options в нужной конфигурации CCS.
Для текущих конфигураций нужны Python, Git и TI C2000 22.6 LTS.
Общая реализация УМП и порт TMS320F28335 подключаются из
../newProject/SETGUI/third_party/templates/c/set-protocol относительно корня
репозитория. shared_ump.c включает эту реализацию и модуль паспорта.
После сборки Debug в `Bin` создаётся файл
`UKSSTMS320F28335_<commit>.bin`, где `<commit>` — короткий хеш текущего
коммита Git (не менее 8 символов). HEX сохраняет прежнее имя.
В .cproject обе конфигурации используют генератор и post-build из
K:/git_project/newProject/templates. При переносе проекта проверьте этот путь,
пути Include Options к общей реализации и каталог назначения BIN. Генератор
исходников и post-build сейчас находятся в соседнем репозитории; старые
локальные build_bin.bat/preBuildStep.bat больше не входят в этот проект.
BIN создаётся скриптом `build_bin.bat`; Git должен быть доступен в `PATH`
процесса CCS. Если определить коммит не удалось, сборка завершается ошибкой.
При наличии незакоммиченных правок хеш обозначает HEAD и не описывает эти правки.
Post-build вызывает tools/firmware-build/ccs/postcompile.bat: формирует загрузочный
образ, проверяет границы, создаёт паспорт и SHA-256. Текущий каталог копирования
задан в .cproject:
K:/git_project/newProject/SETGUI/..periph_28335/firmware/periph28335/balzam167.
## GAS для новой EEPROM
COM_1 работает на 115200 с FIFO. COM_2 использует 57600 для OWEN либо 115200
для другого режима. Эти скорости задаются в main.c.
При EEPROM_M95M02=1 доступен профиль GAS 167/v1 через Modbus и служебный CAN УМП. Карта, проверки и измеренные размеры: [GAS_167_M95M02.md](../Doc/GAS_167_M95M02.md). В сборке AT25256B GAS исключён; её загрузочный BIN не увеличивается. После обновления проекта выполнить Clean/Rebuild: новый gas167.c зарегистрирован в .project.
## Профиль EEPROM и GAS
В Source/Internal/Include/eeprom_config.h значение EEPROM_M95M02=0 выбирает
AT25256B 32 КиБ; значение 1 — M95M02-DR 256 КиБ. Выбор обязан соответствовать
микросхеме на плате. После изменения нужен Clean/Rebuild. При отдельной сборке
определение должно совпадать у компилятора и у препроцессора линкера.
GAS включается только при значении 1: технологические слова 0x5000..0x507F и
дескриптор только для чтения 0x5F00..0x5F07. Транспорты — Modbus RTU и служебный
CAN УМП. Карта и измеренные размеры: [GAS_167_M95M02.md](../Doc/GAS_167_M95M02.md).
Подробное назначение модулей: [SOURCE_GUIDE.md](../Doc/SOURCE_GUIDE.md).
## Проверки
Запускайте из корня репозитория Python-скрипты tests/comments/run_test.py,
tests/gas167/run_test.py, tests/eeprom_profiles/run_test.py,
tests/load_control/run_test.py и проверки регистратора в tests/ump_logger.
Проверка FIFO: tests/rs232_fifo/run_test.py --cc <путь к GCC>.
Для MinGW каталог исполняемых файлов GCC должен присутствовать в PATH.

View File

@@ -1,9 +1,16 @@
/* Настройки и интерфейс firmware_version. Русские пояснения сохранены в UTF-8. */
/* Начинает условие: BALSAM_FIRMWARE_VERSION_H ещё не определён; защищает повторное включение или задаёт значение сборки. */
#ifndef BALSAM_FIRMWARE_VERSION_H
/* Определяет защитный символ или переключатель BALSAM_FIRMWARE_VERSION_H для последующей компиляции. */
#define BALSAM_FIRMWARE_VERSION_H
/* Edit these numbers before releasing firmware, then rebuild. */
/* Задаёт FIRMWARE_VERSION_MAJOR = 1U; данные FIRMWARE_VERSION_MAJOR. */
#define FIRMWARE_VERSION_MAJOR 1U
/* Задаёт FIRMWARE_VERSION_MINOR = 1U; данные FIRMWARE_VERSION_MINOR. */
#define FIRMWARE_VERSION_MINOR 1U
/* Задаёт FIRMWARE_VERSION_PATCH = 2U; данные FIRMWARE_VERSION_PATCH. */
#define FIRMWARE_VERSION_PATCH 2U
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif

View File

@@ -1,35 +1,63 @@
@rem Выполняет команду старого служебного сценария: @echo off.
@echo off
@rem Выполняет команду старого служебного сценария: pushd ..\..\.
pushd ..\..\
@rem Выполняет команду старого служебного сценария: setlocal.
setlocal
@rem Метка перехода process_arg.
:process_arg
@rem Выполняет команду старого служебного сценария: if "%1"=="" goto end_process_arg.
if "%1"=="" goto end_process_arg
@rem Выполняет команду старого служебного сценария: set name=%1.
set name=%1
@rem Выполняет команду старого служебного сценария: set value=.
set value=
@rem Метка перехода process_arg_value.
:process_arg_value
@rem Выполняет команду старого служебного сценария: if NOT "%value%"=="" set value=%value% %2.
if NOT "%value%"=="" set value=%value% %2
@rem Выполняет команду старого служебного сценария: if "%value%"=="" set value=%2.
if "%value%"=="" set value=%2
@rem Выполняет команду старого служебного сценария: shift.
shift
@rem Выполняет команду старого служебного сценария: if "%2"=="!" goto set_arg.
if "%2"=="!" goto set_arg
@rem Выполняет команду старого служебного сценария: if "%2"=="" goto set_arg.
if "%2"=="" goto set_arg
@rem Выполняет команду старого служебного сценария: goto process_arg_value.
goto process_arg_value
@rem Метка перехода set_arg.
:set_arg
@rem Выполняет команду старого служебного сценария: set %name%=%value%.
set %name%=%value%
@rem Выполняет команду старого служебного сценария: shift.
shift
@rem Выполняет команду старого служебного сценария: shift.
shift
@rem Выполняет команду старого служебного сценария: goto process_arg.
goto process_arg
@rem Метка перехода end_process_arg.
:end_process_arg
@rem Выполняет команду старого служебного сценария: echo. > temp_postBuildStep_Debug.bat.
echo. > temp_postBuildStep_Debug.bat
@rem Выполняет команду старого служебного сценария: echo E:\workspace\setcorp\set506\git_project\ukssDimaCccs12\Bin\hex2000.exe E:\workspace\setcorp\set506\git_project\ukssDimaCccs12\Bin\UKSSTMS320F28335.out -boot -sci8 -map E:\workspace\setcorp\set506\git_project\ukssDimaCccs12\Bin\UKSSTMS320F28335.map -o E:\workspace\setcorp\set506\git_project\ukssDimaCccs12\Bin\UKSSTMS320F28335.hex -i >> temp_postBuildStep_Debug.bat.
echo E:\workspace\setcorp\set506\git_project\ukssDimaCccs12\Bin\hex2000.exe E:\workspace\setcorp\set506\git_project\ukssDimaCccs12\Bin\UKSSTMS320F28335.out -boot -sci8 -map E:\workspace\setcorp\set506\git_project\ukssDimaCccs12\Bin\UKSSTMS320F28335.map -o E:\workspace\setcorp\set506\git_project\ukssDimaCccs12\Bin\UKSSTMS320F28335.hex -i >> temp_postBuildStep_Debug.bat
@rem Выполняет команду старого служебного сценария: echo E:\workspace\setcorp\set506\git_project\ukssDimaCccs12\Bin\hex2000.exe E:\workspace\setcorp\set506\git_project\ukssDimaCccs12\Bin\UKSSTMS320F28335.out -boot -sci8 -map E:\workspace\setcorp\set506\git_project\ukssDimaCccs12\Bin\UKSSTMS320F28335.map -o E:\workspace\setcorp\set506\git_project\ukssDimaCccs12\Bin\UKSSTMS320F28335.bin -b >> temp_postBuildStep_Debug.bat.
echo E:\workspace\setcorp\set506\git_project\ukssDimaCccs12\Bin\hex2000.exe E:\workspace\setcorp\set506\git_project\ukssDimaCccs12\Bin\UKSSTMS320F28335.out -boot -sci8 -map E:\workspace\setcorp\set506\git_project\ukssDimaCccs12\Bin\UKSSTMS320F28335.map -o E:\workspace\setcorp\set506\git_project\ukssDimaCccs12\Bin\UKSSTMS320F28335.bin -b >> temp_postBuildStep_Debug.bat
@rem Выполняет команду старого служебного сценария: call temp_postBuildStep_Debug.bat.
call temp_postBuildStep_Debug.bat
@rem Выполняет команду старого служебного сценария: del temp_postBuildStep_Debug.bat.
del temp_postBuildStep_Debug.bat
@rem Выполняет команду старого служебного сценария: PAUSE.
PAUSE
@rem Выполняет команду старого служебного сценария: endlocal.
endlocal
@rem Выполняет команду старого служебного сценария: popd.
popd

View File

@@ -1,48 +1,90 @@
# Настройки и интерфейс prepare_identity. Комментарии и исходный текст в UTF-8.
# Продолжает текущий вызов, список или выражение: """Generate build identity using the release version from firmware_version.h."""; порядок аргументов сохраняется.
"""Generate build identity using the release version from firmware_version.h."""
# Подключает модуль argparse для этой проверки или подготовки сборки.
import argparse
# Подключает модуль importlib.util для этой проверки или подготовки сборки.
import importlib.util
# Подключает модуль json для этой проверки или подготовки сборки.
import json
# Импортирует необходимые имена: from pathlib import Path.
from pathlib import Path
# Подключает модуль re для этой проверки или подготовки сборки.
import re
# Подключает модуль tempfile для этой проверки или подготовки сборки.
import tempfile
# Объявляет функцию read_version и её входные параметры.
def read_version(header):
# Читает исходный файл или образ для последующей проверки и разбора.
text = header.read_text(encoding="utf-8-sig")
# Задаёт text по выражению справа; значение используется последующими операциями.
text = re.sub(r"/\*.*?\*/|//[^\n]*", "", text, flags=re.S)
# Задаёт version по выражению справа; значение используется последующими операциями.
version = []
# Перебирает part, limit in (("MAJOR", 255), ("MINOR", 255), ("PATCH", 999)) в указанном порядке.
for part, limit in (("MAJOR", 255), ("MINOR", 255), ("PATCH", 999)):
# Задаёт name по выражению справа; значение используется последующими операциями.
name = "FIRMWARE_VERSION_" + part
# Задаёт definitions по выражению справа; значение используется последующими операциями.
definitions = re.findall(r"^\s*#\s*define\s+" + name + r"\b([^\n]*)", text, re.M)
# Проверяет условие if len(definitions) != 1 перед выполнением следующего блока.
if len(definitions) != 1:
# Останавливает текущую операцию с исключением ValueError(f"{header}: define {name} exactly once").
raise ValueError(f"{header}: define {name} exactly once")
# Задаёт value по выражению справа; значение используется последующими операциями.
value = definitions[0].strip()
# Проверяет условие if not re.fullmatch(r"(?:0|[1-9][0-9]*)[uU]?", value) перед выполнением следующего блока.
if not re.fullmatch(r"(?:0|[1-9][0-9]*)[uU]?", value):
# Останавливает текущую операцию с исключением ValueError(f"{header}: {name} must be a decimal integer").
raise ValueError(f"{header}: {name} must be a decimal integer")
# Задаёт number по выражению справа; значение используется последующими операциями.
number = int(value.rstrip("uU"))
# Проверяет условие if not 0 <= number <= limit перед выполнением следующего блока.
if not 0 <= number <= limit:
# Останавливает текущую операцию с исключением ValueError(f"{header}: {name} must be in 0..{limit}").
raise ValueError(f"{header}: {name} must be in 0..{limit}")
# Продолжает текущий вызов, список или выражение: version.append(number); порядок аргументов сохраняется.
version.append(number)
# Возвращает version вызывающему коду и завершает функцию.
return version
# Объявляет функцию prepare и её входные параметры.
def prepare(project, templates, output):
# Читает исходный файл или образ для последующей проверки и разбора.
settings = json.loads((project / "firmware_identity.json").read_text(encoding="utf-8-sig"))
# Задаёт settings["version"] по выражению справа; значение используется последующими операциями.
settings["version"] = read_version(project / "firmware_version.h")
# Задаёт spec по выражению справа; значение используется последующими операциями.
spec = importlib.util.spec_from_file_location("shared_firmware_identity", templates / "c/firmware-info/tools/identity.py")
# Задаёт identity по выражению справа; значение используется последующими операциями.
identity = importlib.util.module_from_spec(spec)
# Продолжает текущий вызов, список или выражение: spec.loader.exec_module(identity); порядок аргументов сохраняется.
spec.loader.exec_module(identity)
# The source header owns SemVer; retain the shared generator and manifest format.
# Открывает управляемый ресурс tempfile.TemporaryDirectory(prefix="balsam-identity-") as directory с автоматическим освобождением.
with tempfile.TemporaryDirectory(prefix="balsam-identity-") as directory:
# Задаёт config по выражению справа; значение используется последующими операциями.
config = Path(directory) / "config.json"
# Сохраняет подготовленный файл в указанном формате для следующего шага.
config.write_text(json.dumps(settings), encoding="utf-8")
# Возвращает identity.prepare(project, templates, config, output) вызывающему коду и завершает функцию.
return identity.prepare(project, templates, config, output)
# Проверяет условие if __name__ == "__main__" перед выполнением следующего блока.
if __name__ == "__main__":
# Задаёт parser по выражению справа; значение используется последующими операциями.
parser = argparse.ArgumentParser(description=__doc__)
# Задаёт parser.add_argument("--project", type по выражению справа; значение используется последующими операциями.
parser.add_argument("--project", type=Path, required=True)
# Задаёт parser.add_argument("--templates", type по выражению справа; значение используется последующими операциями.
parser.add_argument("--templates", type=Path, required=True)
# Задаёт parser.add_argument("--output", type по выражению справа; значение используется последующими операциями.
parser.add_argument("--output", type=Path, required=True)
# Задаёт args по выражению справа; значение используется последующими операциями.
args = parser.parse_args()
# Продолжает текущий вызов, список или выражение: print(json.dumps(prepare(args.project, args.templates, args.output))); порядок аргументов сохраняется.
print(json.dumps(prepare(args.project, args.templates, args.output)))