rev: начальная рабочая версия для отладки EtherCAT на новой ПЧ2П

This commit is contained in:
Александр Гуляев 2024-02-09 11:13:54 +03:00
parent bd4d834ab1
commit e0900b8897
15 changed files with 14671 additions and 14223 deletions

View File

@ -37,7 +37,7 @@
<option id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.FLOAT_SUPPORT.1191904277" name="Specify floating point support (--float_support)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.FLOAT_SUPPORT" value="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.FLOAT_SUPPORT.none" valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.GEN_FUNC_SUBSECTIONS.1578364471" name="Place each function in a separate subsection (--gen_func_subsections, -ms)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.GEN_FUNC_SUBSECTIONS" value="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.GEN_FUNC_SUBSECTIONS.on" valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.LITTLE_ENDIAN.708023184" name="Little endian code [See 'General' page to edit] (--little_endian, -me)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.LITTLE_ENDIAN" value="true" valueType="boolean"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.OPT_LEVEL.966589760" name="Optimization level (--opt_level, -O)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.OPT_LEVEL" value="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.OPT_LEVEL.2" valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.OPT_LEVEL.966589760" name="Optimization level (--opt_level, -O)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.OPT_LEVEL" value="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.OPT_LEVEL.off" valueType="enumerated"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.INCLUDE_PATH.643325755" name="Add dir to #include search path (--include_path, -I)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.INCLUDE_PATH" valueType="includePath">
<listOptionValue builtIn="false" value="${COM_TI_C2000WARE_SOFTWARE_PACKAGE_INCLUDE_PATH}"/>
<listOptionValue builtIn="false" value="${PROJECT_ROOT}"/>
@ -63,6 +63,7 @@
<option id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.DISPLAY_ERROR_NUMBER.1280845760" name="Emit diagnostic identifier numbers (--display_error_number, -pden)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.VERBOSE_DIAGNOSTICS.2080510159" name="Verbose diagnostics (--verbose_diagnostics, -pdv)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.VERBOSE_DIAGNOSTICS" value="true" valueType="boolean"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.EMBEDDED_CONSTANTS.1091861080" name="Specify whether constants can be embedded in code sections (--embedded_constants)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.EMBEDDED_CONSTANTS" value="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.EMBEDDED_CONSTANTS.off" valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.OPT_FOR_SPEED.2002032137" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.OPT_FOR_SPEED" value="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.OPT_FOR_SPEED.0" valueType="enumerated"/>
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compiler.inputType__C_SRCS.1050285142" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compiler.inputType__C_SRCS"/>
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compiler.inputType__CPP_SRCS.1860971924" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compiler.inputType__CPP_SRCS"/>
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compiler.inputType__ASM_SRCS.1600630808" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compiler.inputType__ASM_SRCS"/>

2
.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
/RAM/
/FLASH/

View File

@ -13,7 +13,6 @@
"./objdef.obj"
"./sdoserv.obj"
"./startup_cm.obj"
"./tiescfoe.obj"
"./device/cm.obj"
"../2838x_RAM_lnk_ecat_cm.cmd"
"C:/ti/c2000/C2000Ware_5_01_00_00/driverlib/f2838x/driverlib_cm/ccs/Debug/driverlib_cm.lib"

View File

@ -8,7 +8,7 @@ SHELL = cmd.exe
device/%.obj: ../device/%.c $(GEN_OPTS) | $(GEN_FILES) $(GEN_MISC_FILES)
@echo 'Building file: "$<"'
@echo 'Invoking: Arm Compiler'
"C:/ti/ccs1240/ccs/tools/compiler/ti-cgt-arm_20.2.7.LTS/bin/armcl" -mv7M4 --code_state=16 --float_support=none -me -O2 --include_path="C:/workspace_v12/f2838x_cm_cia402_solution" --include_path="C:/ti/c2000/C2000Ware_5_01_00_00/libraries/communications/Ethercat/f2838x/examples/f2838x_cm_cia402_solution" --include_path="C:/workspace_v12/f2838x_cm_cia402_solution/device" --include_path="C:/ti/c2000/C2000Ware_5_01_00_00/driverlib/f2838x/driverlib_cm" --include_path="C:/ti/c2000/C2000Ware_5_01_00_00/device_support/f2838x/common/include" --include_path="C:/ti/c2000/C2000Ware_5_01_00_00/libraries/communications/Ethercat/f2838x/include" --include_path="C:/ti/ccs1240/ccs/tools/compiler/ti-cgt-arm_20.2.7.LTS/include" --define=ETHERCAT_STACK --define=RAM --diag_suppress=10063 --diag_warning=225 --diag_wrap=off --display_error_number --verbose_diagnostics --gen_func_subsections=on --embedded_constants=off --preproc_with_compile --preproc_dependency="device/$(basename $(<F)).d_raw" --obj_directory="device" $(GEN_OPTS__FLAG) "$<"
"C:/ti/ccs1240/ccs/tools/compiler/ti-cgt-arm_20.2.7.LTS/bin/armcl" -mv7M4 --code_state=16 --float_support=none -me -Ooff --opt_for_speed=0 --include_path="C:/workspace_v12/f2838x_cm_cia402_solution" --include_path="C:/ti/c2000/C2000Ware_5_01_00_00/libraries/communications/Ethercat/f2838x/examples/f2838x_cm_cia402_solution" --include_path="C:/workspace_v12/f2838x_cm_cia402_solution/device" --include_path="C:/ti/c2000/C2000Ware_5_01_00_00/driverlib/f2838x/driverlib_cm" --include_path="C:/ti/c2000/C2000Ware_5_01_00_00/device_support/f2838x/common/include" --include_path="C:/ti/c2000/C2000Ware_5_01_00_00/libraries/communications/Ethercat/f2838x/include" --include_path="C:/ti/ccs1240/ccs/tools/compiler/ti-cgt-arm_20.2.7.LTS/include" --define=ETHERCAT_STACK --define=RAM --diag_suppress=10063 --diag_warning=225 --diag_wrap=off --display_error_number --verbose_diagnostics --gen_func_subsections=on --embedded_constants=off --preproc_with_compile --preproc_dependency="device/$(basename $(<F)).d_raw" --obj_directory="device" $(GEN_OPTS__FLAG) "$<"
@echo 'Finished building: "$<"'
@echo ' '

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -25,7 +25,6 @@ ORDERED_OBJS += \
"./objdef.obj" \
"./sdoserv.obj" \
"./startup_cm.obj" \
"./tiescfoe.obj" \
"./device/cm.obj" \
"../2838x_RAM_lnk_ecat_cm.cmd" \
"C:/ti/c2000/C2000Ware_5_01_00_00/driverlib/f2838x/driverlib_cm/ccs/Debug/driverlib_cm.lib" \
@ -153,15 +152,15 @@ all: $(OBJS) $(CMD_SRCS) $(LIB_SRCS) $(GEN_CMDS)
f2838x_cm_cia402_solution.out: $(OBJS) $(CMD_SRCS) $(LIB_SRCS) $(GEN_CMDS)
@echo 'Building target: "$@"'
@echo 'Invoking: Arm Linker'
"C:/ti/ccs1240/ccs/tools/compiler/ti-cgt-arm_20.2.7.LTS/bin/armcl" -mv7M4 --code_state=16 --float_support=none -me -O2 --define=ETHERCAT_STACK --define=RAM --diag_suppress=10063 --diag_warning=225 --diag_wrap=off --display_error_number --verbose_diagnostics --gen_func_subsections=on --embedded_constants=off -z -m"f2838x_cm_cia402_solution.map" --heap_size=0x1000 --stack_size=0x200 -i"C:/ti/ccs1240/ccs/tools/compiler/ti-cgt-arm_20.2.7.LTS/lib" -i"C:/ti/ccs1240/ccs/tools/compiler/ti-cgt-arm_20.2.7.LTS/include" --reread_libs --define=RAM --diag_wrap=off --display_error_number --warn_sections --xml_link_info="f2838x_cm_cia402_solution_linkInfo.xml" --rom_model -o "f2838x_cm_cia402_solution.out" $(ORDERED_OBJS)
"C:/ti/ccs1240/ccs/tools/compiler/ti-cgt-arm_20.2.7.LTS/bin/armcl" -mv7M4 --code_state=16 --float_support=none -me -Ooff --opt_for_speed=0 --define=ETHERCAT_STACK --define=RAM --diag_suppress=10063 --diag_warning=225 --diag_wrap=off --display_error_number --verbose_diagnostics --gen_func_subsections=on --embedded_constants=off -z -m"f2838x_cm_cia402_solution.map" --heap_size=0x1000 --stack_size=0x200 -i"C:/ti/ccs1240/ccs/tools/compiler/ti-cgt-arm_20.2.7.LTS/lib" -i"C:/ti/ccs1240/ccs/tools/compiler/ti-cgt-arm_20.2.7.LTS/include" --reread_libs --define=RAM --diag_wrap=off --display_error_number --warn_sections --xml_link_info="f2838x_cm_cia402_solution_linkInfo.xml" --rom_model -o "f2838x_cm_cia402_solution.out" $(ORDERED_OBJS)
@echo 'Finished building target: "$@"'
@echo ' '
# Other Targets
clean:
-$(RM) $(EXE_OUTPUTS__QUOTED)
-$(RM) "F2838x CM EtherCAT Slave.obj" "cia402appl.obj" "coeappl.obj" "ecatappl.obj" "ecatcoe.obj" "ecatfoe.obj" "ecatslv.obj" "ethercat_slave_cm_hal.obj" "f2838x_cm_hw.obj" "f2838x_cm_system.obj" "foeappl.obj" "mailbox.obj" "objdef.obj" "sdoserv.obj" "startup_cm.obj" "tiescfoe.obj" "device\cm.obj"
-$(RM) "F2838x CM EtherCAT Slave.d" "cia402appl.d" "coeappl.d" "ecatappl.d" "ecatcoe.d" "ecatfoe.d" "ecatslv.d" "ethercat_slave_cm_hal.d" "f2838x_cm_hw.d" "f2838x_cm_system.d" "foeappl.d" "mailbox.d" "objdef.d" "sdoserv.d" "startup_cm.d" "tiescfoe.d" "device\cm.d"
-$(RM) "F2838x CM EtherCAT Slave.obj" "cia402appl.obj" "coeappl.obj" "ecatappl.obj" "ecatcoe.obj" "ecatfoe.obj" "ecatslv.obj" "ethercat_slave_cm_hal.obj" "f2838x_cm_hw.obj" "f2838x_cm_system.obj" "foeappl.obj" "mailbox.obj" "objdef.obj" "sdoserv.obj" "startup_cm.obj" "device\cm.obj"
-$(RM) "F2838x CM EtherCAT Slave.d" "cia402appl.d" "coeappl.d" "ecatappl.d" "ecatcoe.d" "ecatfoe.d" "ecatslv.d" "ethercat_slave_cm_hal.d" "f2838x_cm_hw.d" "f2838x_cm_system.d" "foeappl.d" "mailbox.d" "objdef.d" "sdoserv.d" "startup_cm.d" "device\cm.d"
-@echo 'Finished clean'
-@echo ' '

View File

@ -8,14 +8,14 @@ SHELL = cmd.exe
F2838x\ CM\ EtherCAT\ Slave.obj: ../F2838x\ CM\ EtherCAT\ Slave.c $(GEN_OPTS) | $(GEN_FILES) $(GEN_MISC_FILES)
@echo 'Building file: "$<"'
@echo 'Invoking: Arm Compiler'
"C:/ti/ccs1240/ccs/tools/compiler/ti-cgt-arm_20.2.7.LTS/bin/armcl" -mv7M4 --code_state=16 --float_support=none -me -O2 --include_path="C:/workspace_v12/f2838x_cm_cia402_solution" --include_path="C:/ti/c2000/C2000Ware_5_01_00_00/libraries/communications/Ethercat/f2838x/examples/f2838x_cm_cia402_solution" --include_path="C:/workspace_v12/f2838x_cm_cia402_solution/device" --include_path="C:/ti/c2000/C2000Ware_5_01_00_00/driverlib/f2838x/driverlib_cm" --include_path="C:/ti/c2000/C2000Ware_5_01_00_00/device_support/f2838x/common/include" --include_path="C:/ti/c2000/C2000Ware_5_01_00_00/libraries/communications/Ethercat/f2838x/include" --include_path="C:/ti/ccs1240/ccs/tools/compiler/ti-cgt-arm_20.2.7.LTS/include" --define=ETHERCAT_STACK --define=RAM --diag_suppress=10063 --diag_warning=225 --diag_wrap=off --display_error_number --verbose_diagnostics --gen_func_subsections=on --embedded_constants=off --preproc_with_compile --preproc_dependency="F2838x CM EtherCAT Slave.d_raw" $(GEN_OPTS__FLAG) "$<"
"C:/ti/ccs1240/ccs/tools/compiler/ti-cgt-arm_20.2.7.LTS/bin/armcl" -mv7M4 --code_state=16 --float_support=none -me -Ooff --opt_for_speed=0 --include_path="C:/workspace_v12/f2838x_cm_cia402_solution" --include_path="C:/ti/c2000/C2000Ware_5_01_00_00/libraries/communications/Ethercat/f2838x/examples/f2838x_cm_cia402_solution" --include_path="C:/workspace_v12/f2838x_cm_cia402_solution/device" --include_path="C:/ti/c2000/C2000Ware_5_01_00_00/driverlib/f2838x/driverlib_cm" --include_path="C:/ti/c2000/C2000Ware_5_01_00_00/device_support/f2838x/common/include" --include_path="C:/ti/c2000/C2000Ware_5_01_00_00/libraries/communications/Ethercat/f2838x/include" --include_path="C:/ti/ccs1240/ccs/tools/compiler/ti-cgt-arm_20.2.7.LTS/include" --define=ETHERCAT_STACK --define=RAM --diag_suppress=10063 --diag_warning=225 --diag_wrap=off --display_error_number --verbose_diagnostics --gen_func_subsections=on --embedded_constants=off --preproc_with_compile --preproc_dependency="F2838x CM EtherCAT Slave.d_raw" $(GEN_OPTS__FLAG) "$<"
@echo 'Finished building: "$<"'
@echo ' '
%.obj: ../%.c $(GEN_OPTS) | $(GEN_FILES) $(GEN_MISC_FILES)
@echo 'Building file: "$<"'
@echo 'Invoking: Arm Compiler'
"C:/ti/ccs1240/ccs/tools/compiler/ti-cgt-arm_20.2.7.LTS/bin/armcl" -mv7M4 --code_state=16 --float_support=none -me -O2 --include_path="C:/workspace_v12/f2838x_cm_cia402_solution" --include_path="C:/ti/c2000/C2000Ware_5_01_00_00/libraries/communications/Ethercat/f2838x/examples/f2838x_cm_cia402_solution" --include_path="C:/workspace_v12/f2838x_cm_cia402_solution/device" --include_path="C:/ti/c2000/C2000Ware_5_01_00_00/driverlib/f2838x/driverlib_cm" --include_path="C:/ti/c2000/C2000Ware_5_01_00_00/device_support/f2838x/common/include" --include_path="C:/ti/c2000/C2000Ware_5_01_00_00/libraries/communications/Ethercat/f2838x/include" --include_path="C:/ti/ccs1240/ccs/tools/compiler/ti-cgt-arm_20.2.7.LTS/include" --define=ETHERCAT_STACK --define=RAM --diag_suppress=10063 --diag_warning=225 --diag_wrap=off --display_error_number --verbose_diagnostics --gen_func_subsections=on --embedded_constants=off --preproc_with_compile --preproc_dependency="$(basename $(<F)).d_raw" $(GEN_OPTS__FLAG) "$<"
"C:/ti/ccs1240/ccs/tools/compiler/ti-cgt-arm_20.2.7.LTS/bin/armcl" -mv7M4 --code_state=16 --float_support=none -me -Ooff --opt_for_speed=0 --include_path="C:/workspace_v12/f2838x_cm_cia402_solution" --include_path="C:/ti/c2000/C2000Ware_5_01_00_00/libraries/communications/Ethercat/f2838x/examples/f2838x_cm_cia402_solution" --include_path="C:/workspace_v12/f2838x_cm_cia402_solution/device" --include_path="C:/ti/c2000/C2000Ware_5_01_00_00/driverlib/f2838x/driverlib_cm" --include_path="C:/ti/c2000/C2000Ware_5_01_00_00/device_support/f2838x/common/include" --include_path="C:/ti/c2000/C2000Ware_5_01_00_00/libraries/communications/Ethercat/f2838x/include" --include_path="C:/ti/ccs1240/ccs/tools/compiler/ti-cgt-arm_20.2.7.LTS/include" --define=ETHERCAT_STACK --define=RAM --diag_suppress=10063 --diag_warning=225 --diag_wrap=off --display_error_number --verbose_diagnostics --gen_func_subsections=on --embedded_constants=off --preproc_with_compile --preproc_dependency="$(basename $(<F)).d_raw" $(GEN_OPTS__FLAG) "$<"
@echo 'Finished building: "$<"'
@echo ' '

View File

@ -26,8 +26,7 @@ C_SRCS += \
../mailbox.c \
../objdef.c \
../sdoserv.c \
../startup_cm.c \
../tiescfoe.c
../startup_cm.c
C_DEPS += \
./F2838x\ CM\ EtherCAT\ Slave.d \
@ -44,8 +43,7 @@ C_DEPS += \
./mailbox.d \
./objdef.d \
./sdoserv.d \
./startup_cm.d \
./tiescfoe.d
./startup_cm.d
OBJS += \
./F2838x\ CM\ EtherCAT\ Slave.obj \
@ -62,8 +60,7 @@ OBJS += \
./mailbox.obj \
./objdef.obj \
./sdoserv.obj \
./startup_cm.obj \
./tiescfoe.obj
./startup_cm.obj
OBJS__QUOTED += \
"F2838x CM EtherCAT Slave.obj" \
@ -80,8 +77,7 @@ OBJS__QUOTED += \
"mailbox.obj" \
"objdef.obj" \
"sdoserv.obj" \
"startup_cm.obj" \
"tiescfoe.obj"
"startup_cm.obj"
C_DEPS__QUOTED += \
"F2838x CM EtherCAT Slave.d" \
@ -98,8 +94,7 @@ C_DEPS__QUOTED += \
"mailbox.d" \
"objdef.d" \
"sdoserv.d" \
"startup_cm.d" \
"tiescfoe.d"
"startup_cm.d"
C_SRCS__QUOTED += \
"../F2838x CM EtherCAT Slave.c" \
@ -116,7 +111,6 @@ C_SRCS__QUOTED += \
"../mailbox.c" \
"../objdef.c" \
"../sdoserv.c" \
"../startup_cm.c" \
"../tiescfoe.c"
"../startup_cm.c"

View File

@ -1,107 +1,159 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<configurations XML_version="1.2" id="configurations_0">
<configuration XML_version="1.2" id="Texas Instruments XDS2xx USB Debug Probe_0">
<instance XML_version="1.2" desc="Texas Instruments XDS2xx USB Debug Probe_0" href="connections/TIXDS2XXUSB_Connection.xml" id="Texas Instruments XDS2xx USB Debug Probe_0" xml="TIXDS2XXUSB_Connection.xml" xmlpath="connections"/>
<connection XML_version="1.2" id="Texas Instruments XDS2xx USB Debug Probe_0">
<instance XML_version="1.2" href="drivers/tixds560icepick_c.xml" id="drivers" xml="tixds560icepick_c.xml" xmlpath="drivers"/>
<instance XML_version="1.2" href="drivers/tixds560c28x.xml" id="drivers" xml="tixds560c28x.xml" xmlpath="drivers"/>
<instance XML_version="1.2" href="drivers/tixds560cla2.xml" id="drivers" xml="tixds560cla2.xml" xmlpath="drivers"/>
<instance XML_version="1.2" href="drivers/tixds560cs_child.xml" id="drivers" xml="tixds560cs_child.xml" xmlpath="drivers"/>
<instance XML_version="1.2" href="drivers/tixds560cs_dap.xml" id="drivers" xml="tixds560cs_dap.xml" xmlpath="drivers"/>
<instance XML_version="1.2" href="drivers/tixds560cortexM.xml" id="drivers" xml="tixds560cortexM.xml" xmlpath="drivers"/>
<instance XML_version="1.2" href="drivers/tixds560ajsm.xml" id="drivers" xml="tixds560ajsm.xml" xmlpath="drivers"/>
<platform XML_version="1.2" id="platform_0">
<instance XML_version="1.2" desc="TMS320F28388D_0" href="devices/f28388d.xml" id="TMS320F28388D_0" xml="f28388d.xml" xmlpath="devices"/>
<device HW_revision="1" XML_version="1.2" description="" id="TMS320F28388D_0" partnum="TMS320F28388D" simulation="no">
<router HW_revision="1.0" XML_version="1.2" description="ICEPick_C router" id="IcePick_C_0" isa="ICEPICK_C">
<subpath id="Subpath_1">
<property Type="numericfield" Value="0x11" desc="Port Number_0" id="Port Number"/>
</subpath>
<subpath id="CM">
<property Type="numericfield" Value="0x12" desc="Port Number_1" id="Port Number"/>
</subpath>
</router>
</device>
</platform>
</connection>
</configuration>
</configurations>

View File

@ -54,6 +54,8 @@ V4.30 : create file (state machine; handling state transition options; input fee
#include "applInterface.h"
//#include "f2838x_cm_hw.h" // AMG
#include "esc.h"
#include "coeappl.h"
@ -1389,12 +1391,12 @@ void APPL_Application(void)
\brief This is the main function
*////////////////////////////////////////////////////////////////////////////////////////
int main(void)
int main(void) // TODO: main()
{
/* initialize the Hardware and the EtherCAT Slave Controller */
HW_Init();
DebugP_log((char*)"--\n");
// HW_SetLed(FALSE, FALSE);
MainInit();
@ -1406,7 +1408,7 @@ int main(void)
bRunApplication = TRUE;
do
{
// MainLoop();
MainLoop();
} while (bRunApplication == TRUE);

View File

@ -155,8 +155,9 @@ ESC_EEPROM_EMULATION: If this switch is set EEPROM emulation is supported. Not a
/**
ESC_EEPROM_SIZE: Specify the EEPROM size in Bytes of the connected EEPROM or the emulated EEPROM. */
// TODO: AMG
#ifndef ESC_EEPROM_SIZE
#define ESC_EEPROM_SIZE 0x800
#define ESC_EEPROM_SIZE 0x100 //< 0x800 // AMG
#endif
/**

View File

@ -892,8 +892,8 @@ void ECAT_SetLedIndication(void)
}
/* set the EtherCAT-LED */
HW_SetLed(((UINT8)bEtherCATRunLed),((UINT8)bEtherCATErrorLed));
}
HW_SetLed(((UINT8)bEtherCATRunLed),((UINT8)bEtherCATErrorLed)); // TODO: AMG: !Led Blink!
}
/////////////////////////////////////////////////////////////////////////////////////////
/**
\param pObjectDictionary Pointer to application specific object dictionary.

View File

@ -1,208 +0,0 @@
/*
* Copyright (C) 2021 Texas Instruments Incorporated
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
/* ========================================================================== */
/* Include Files */
/* ========================================================================== */
#include <ecat_def.h>
#include <applInterface.h>
#include <string.h> /* for memset */
#include <tiescfoe.h>
/* ========================================================================== */
/* Macros & Typedefs */
/* ========================================================================== */
/* ========================================================================== */
/* Global Variables */
/* ========================================================================== */
#if FOE_SUPPORTED
extern unsigned char bBootMode; /**< \brief Indicates in slave is in BOOT mode*/
static uint8_t foe_download_flag;
static uint8_t file_write_offset;
/*Section of RAM chosen to store FoE Data*/
#define S0RAM_BASE 0x20000000U;
uint8_t *ptr = S0RAM_BASE;
#endif /* FOE_SUPPORTED */
/* ========================================================================== */
/* Function Declarations */
/* ========================================================================== */
/*-----------------------------------------------------------------------------------------
------
------ application specific functions
------
-----------------------------------------------------------------------------------------*/
#if FOE_SUPPORTED
/**
* \brief This function should be called when a firmware download command is received
* from EtherCAT master
*
* \param password password received from master
*/
void tiesc_start_foe_download(uint32_t password);
/**
* \brief Stores the received data as part of firmware download from EtherCAT master.
* This may get called multiple times during firmware download. This function
* performs OSPI flash writes for every 256-bytes received from master.
*
* \param pData Pointer to data buffer
* \param Size Number of bytes received
*/
void tiesc_store_foe_data(uint16_t *pData, uint16_t Size);
uint16_t tiesc_foe_read(uint16_t *pName, uint16_t nameSize, uint32_t password,
uint16_t maxBlockSize, uint16_t *pData);
uint16_t tiesc_foe_read_data(uint32_t offset, uint16_t maxBlockSize,
uint16_t *pData);
uint16_t tiesc_foe_read_data(uint32_t offset, uint16_t maxBlockSize,
uint16_t *pData);
uint16_t tiesc_foe_write_data(uint16_t *pData, uint16_t Size,
unsigned char bDataFollowing);
uint16_t tiesc_foe_write(uint16_t *pName, uint16_t nameSize, uint32_t password);
#endif /* FOE_SUPPORTED */
/* ========================================================================== */
/* Function Defintions */
/* ========================================================================== */
/*-----------------------------------------------------------------------------------------
------
------ generic functions
------
-----------------------------------------------------------------------------------------*/
#if FOE_SUPPORTED
void tiesc_start_foe_download(uint32_t password)
{
foe_download_flag = 1;
}
/* Function to store Data received from FoE operation*/
void tiesc_store_foe_data(uint16_t *pData, uint16_t Size)
{
int i;
for(i=0;i<Size/2;i++)
{
/*Writing data to prescribed memory location*/
uint8_t a = pData[i] >> 8;
uint8_t b = pData[i];
memset(ptr + file_write_offset, b, 1);
file_write_offset++;
memset(ptr + file_write_offset, a, 1);
file_write_offset++;
}
}
void tiesc_boot_2_init_handler()
{
if(foe_download_flag)
{
/* Reset the flag */
foe_download_flag = 0;
}
}
/*Dummy function defined, functionality not supported here*/
uint16_t tiesc_foe_read(uint16_t *pName, uint16_t nameSize, uint32_t password,
uint16_t maxBlockSize, uint16_t *pData)
{
return TIESC_ECAT_FOE_ERRCODE_NOTFOUND;
}
/*Dummy function defined, functionality not supported here*/
uint16_t tiesc_foe_read_data(uint32_t offset, uint16_t maxBlockSize,
uint16_t *pData)
{
return maxBlockSize;
}
/* Function called Subsequently for every FoE Write Block*/
uint16_t tiesc_foe_write_data(uint16_t *pData, uint16_t Size,
unsigned char bDataFollowing)
{
if(bBootMode)
{
tiesc_store_foe_data(pData, Size);
return 0;
}
else
{
return TIESC_ECAT_FOE_ERRCODE_BOOTSTRAPONLY;
}
}
/* Function called to initiate FoE Write Operation*/
uint16_t tiesc_foe_write(uint16_t *pName, uint16_t nameSize, uint32_t password)
{
if(bBootMode)
{
tiesc_start_foe_download(password);
return 0;
}
else
{
return TIESC_ECAT_FOE_ERRCODE_BOOTSTRAPONLY;
}
}
#endif /* FOE_SUPPORTED */
/* Initialises FoE Related functions to be called by the stack*/
void tiesc_foe_init(void)
{
#if FOE_SUPPORTED
pAPPL_FoeRead = tiesc_foe_read;
pAPPL_FoeReadData = tiesc_foe_read_data;
pAPPL_FoeWriteData = tiesc_foe_write_data;
pAPPL_FoeWrite = tiesc_foe_write;
foe_download_flag = 0;
#endif
}

View File

@ -1,63 +0,0 @@
/*
* Copyright (C) 2021 Texas Instruments Incorporated
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#ifndef _TIESC_FOE_H_
#define _TIESC_FOE_H_
/* ========================================================================== */
/* Macros & Typedefs */
/* ========================================================================== */
#if FOE_SUPPORTED
#define TIESC_ECAT_FOE_ERRCODE_NOTFOUND 0x8001 /**< The file requested by an FoE upload service could not be found on the server*/
#define TIESC_ECAT_FOE_ERRCODE_BOOTSTRAPONLY 0x8008 /**< FoE only supported in Bootstrap*/
#define TIESC_ECAT_FOE_ERRCODE_NOTINBOOTSTRAP 0x8009 /**< This file may not be accessed in BOOTSTRAP state*/
#endif /* FOE_SUPPORTED */
/* ========================================================================== */
/* Structure Declarations */
/* ========================================================================== */
/* ========================================================================== */
/* Function Declarations */
/* ========================================================================== */
/**
* \brief This function is called when the state is switched from BOOT to Init
*/
void tiesc_boot_2_init_handler();
void tiesc_foe_init(void);
#endif /* _TIESC_FOE_H_*/