This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM335x ICE EtherCAT slave example code buildung in CCSv5

Hi,

after importing EtherCAT slave example (copy/not copy to workspace & check box/not checked "Automatically import referenced projects") i got an error message:

com.ti.rtsc.IPC missing

After double-click to ethercat.cfg cames a SYS/BIOS screen and i found that is related to XDCTools. Running the setup for XDCTools(3.24.05.48)/Bios(6.34.04.22)/AM335xSYSBIOS(1.0.0.6)/AM335xStarterWare(2.0.0.7) again.

Then i tried to change the general properties XDCTools (3.23.0.26 as it was created).

I tried to change project property compiler version 4.9.0[ARM] to 5.0.3.

 

Still the build aborting.

Attached the build results.

**** Build of configuration Debug for project ethercat ****

"C:\\ti\\ccsv5\\utils\\bin\\gmake" -k all 
'Building file: ../ethercat.cfg'
'Invoking: XDCtools'
"C:/ti/xdctools_3_24_05_48/xs" --xdcpath="C:/ti/bios_6_34_04_22/packages;C:/ti/ccsv5/ccs_base;/packages;" xdc.tools.configuro -o configPkg -t ti.targets.arm.elf.A8Fnv -p ti.platforms.evmAM3359 -r debug -b "C:/ti/am335x_sysbios_ind_sdk_1.0.0.6/sdk/examples/ethercat_slave/.config/xconfig_ethercat/config.bld" -c "C:/ti/ccsv5/tools/compiler/tms470_5.0.3" --compileOptions "-g --optimize_with_debug" "../ethercat.cfg"
making package.mak (because of package.bld) ...
generating interfaces for package configPkg (because package/package.xdc.inc is older than package.xdc) ...
configuring ethercat.xea8fnv from package/cfg/ethercat_pea8fnv.cfg ...
generating custom ti.sysbios library makefile ... 
Starting build of library sources ...
making C:/ti/am335x_sysbios_ind_sdk_1.0.0.6/sdk/examples/ethercat_slave/src/sysbios.aea8fnv ...
Build of libraries done.
clea8fnv package/cfg/ethercat_pea8fnv.c ...
'Finished building: ../ethercat.cfg'
' '
        1 Datei(en) kopiert.
making ../src/sysbios.aea8fnv ...
gmake[1]: Nothing to be done for `all'.
'Building file: ../tiescappl.c'
'Invoking: ARM Compiler'
"C:/ti/ccsv5/tools/compiler/tms470_5.0.3/bin/armcl" -mv7A8 --code_state=32 --abi=eabi -me -g --include_path="C:/ti/ccsv5/tools/compiler/tms470_5.0.3/include" --include_path="C:/ti/am335x_sysbios_ind_sdk_1.0.0.6/sdk/examples/ethercat_slave" --include_path="C:/ti/am335x_sysbios_ind_sdk_1.0.0.6/sdk/os_drivers/include" --include_path="C:/ti/am335x_sysbios_ind_sdk_1.0.0.6/sdk/platform/am335x/include" --include_path="C:/ti/am335x_sysbios_ind_sdk_1.0.0.6/sdk/protocols/ethercat_slave/include" --include_path="C:/ti/am335x_sysbios_ind_sdk_1.0.0.6/sdk/protocols/ethercat_slave/firmware" --include_path="C:/ti/am335x_sysbios_ind_sdk_1.0.0.6/sdk/starterware/include" --include_path="C:/ti/am335x_sysbios_ind_sdk_1.0.0.6/sdk/starterware/include/hw" --gcc --define=ECAT_LIMITED_DEMO --diag_warning=225 --preproc_with_compile --preproc_dependency="tiescappl.pp" --cmd_file="./configPkg/compiler.opt"  "../tiescappl.c"
"../tiescappl.c", line 146: warning: variable "loop" was declared but never referenced
"../tiescappl.c", line 274: warning: function declared implicitly
"../tiescappl.c", line 421: warning: function declared implicitly
'Finished building: ../tiescappl.c'
' '
'Building target: ethercat.out'
'Invoking: ARM Linker'
"C:/ti/ccsv5/tools/compiler/tms470_5.0.3/bin/armcl" -mv7A8 --code_state=32 --abi=eabi -me -g --gcc --define=ECAT_LIMITED_DEMO --diag_warning=225 -z -m"ethercat.map" -i"C:/ti/ccsv5/tools/compiler/tms470_5.0.3/lib" -i"C:/ti/ccsv5/tools/compiler/tms470_5.0.3/include" --reread_libs --warn_sections --rom_model -o "ethercat.out" -l"./configPkg/linker.cmd"  "./tiescappl.obj" -l"C:\ti\am335x_sysbios_ind_sdk_1.0.0.6\sdk/platform/am335x/lib/am335x_platform.lib" -l"C:\ti\am335x_sysbios_ind_sdk_1.0.0.6\sdk/starterware/binary/armv7a/cgt_ccs/am335x/drivers/drivers.lib" -l"C:\ti\am335x_sysbios_ind_sdk_1.0.0.6\sdk/starterware/binary/armv7a/cgt_ccs/am335x/evmAM335x/platform/platform.lib" -l"C:\ti\am335x_sysbios_ind_sdk_1.0.0.6\sdk/protocols/ethercat_slave/stack_lib/ecat_slave_stack.lib" -l"C:\ti\am335x_sysbios_ind_sdk_1.0.0.6\sdk/os_drivers/lib/sys_bios_driver.lib" -l"rtsv7A8_A_le_n_v3_eabi.lib" "../am335x.cmd" 
<Linking>
'Finished building target: ethercat.out'
' '
C:/ti/ccsv5/utils/bin/gmake --no-print-directory post-build
"C:\ti\am335x_sysbios_ind_sdk_1.0.0.6\sdk/tools/post_build/post_build.bat" "C:/ti/ccsv5" "C:/ti/ccsv5/tools/compiler/tms470_5.0.3" "C:\ti\am335x_sysbios_ind_sdk_1.0.0.6\sdk\examples\ethercat_slave\Debug" "ethercat" "C:\ti\am335x_sysbios_ind_sdk_1.0.0.6\sdk\tools\isdk_image\" "1" "0" "0x80000000" "0x80000000"
Der Befehl ""C:/ti/ccsv5/tools/compiler/tms470_5.0.3/bin/ofd470.exe"" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.
File does not exist:  at XML_TI_OFD.pm line 877
Der Befehl ""C:/ti/ccsv5/tools/compiler/tms470_5.0.3/bin/hex470.exe"" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.
Binary file does not exist in path
 finished
' '

**** Build Finished ****

BTW: Connecting to the ICE XDS100v2USB is working.

 

Because i'm new to ARM/Sitara i need a little bit starting kicks (worked with PIC16-33, MSP430 before).

best regards

Ulrich

 

  • Hi Ulrich,

    Please uncheck IP package and try again, This package is not used in EtherCAT application.

    Regards,

    Shahid

  • Hi Shahid,

    thank You for the reply. I have unchecked the two boxes for IPC and $(IPC_CG_ROOT)/packages.

    Now there is in the "problems"-window no error/warning reported. But in the CDT_build_console was written could not make because of errors (unknown for me which and where to search now). The build log file:

    **** Build of configuration Debug for project ethercat ****
    
    "C:\\ti\\ccsv5\\utils\\bin\\gmake" -k all 
    making ../src/sysbios.aea8fnv ...
    clea8fnv C:/ti/bios_6_34_04_22/packages/ti/sysbios/BIOS.c ...
    asmea8fnv C:/ti/bios_6_34_04_22/packages/ti/sysbios/family/arm/IntrinsicsSupport_asm.asm ...
    asmea8fnv C:/ti/bios_6_34_04_22/packages/ti/sysbios/family/arm/TaskSupport_asm.asm ...
    asmea8fnv C:/ti/bios_6_34_04_22/packages/ti/sysbios/family/arm/exc/Exception_asm.asm ...
    asmea8fnv C:/ti/bios_6_34_04_22/packages/ti/sysbios/family/arm/a8/TimestampProvider_asm.asm ...
    asmea8fnv C:/ti/bios_6_34_04_22/packages/ti/sysbios/family/arm/a8/Mmu_asm.asm ...
    asmea8fnv C:/ti/bios_6_34_04_22/packages/ti/sysbios/family/arm/a8/Cache_asm.asm ...
    asmea8fnv C:/ti/bios_6_34_04_22/packages/ti/sysbios/family/arm/a8/intcps/Hwi_asm.s470 ...
    asmea8fnv C:/ti/bios_6_34_04_22/packages/ti/sysbios/family/arm/a8/intcps/Hwi_asm_switch.s470 ...
    asmea8fnv C:/ti/bios_6_34_04_22/packages/ti/sysbios/timers/gptimer/Timer_asm.s470 ...
    asmea8fnv C:/ti/bios_6_34_04_22/packages/ti/sysbios/timers/dmtimer/Timer_asm.s470 ...
    area8fnv BIOS.obj arm_IntrinsicsSupport_asm.obj arm_TaskSupport_asm.obj exc_Exception_asm.obj a8_TimestampProvider_asm.obj a8_Mmu_asm.obj a8_Cache_asm.obj intcps_Hwi_asm.obj intcps_Hwi_asm_switch.obj gptimer_Timer_asm.obj dmtimer_Timer_asm.obj ...
    gmake: Target `all' not remade because of errors.
    
    **** Build Finished ****
    

     

    Meanwhile i tried the i2c_led example. I changed the properties for the revisions of SYS/BIOS, compiler & XDCtools and could compile. Finally there was a *.out file created.

    I'm wondering about two messages (post compile?) in the  CDT_build_console that ofd470.exe and hex470.exe was misspelling or could not be found. Do i have to change someting with gmake/GEL?

    Even now with a *.out file it was hard to load this program to the ICE (Load/Verified programs was greyed out). But on anyway i got it to the board and could single stepping & debugging [change colours, increase toggle speed].

    The build log file for i2c_led:

    **** Build of configuration Debug for project i2c_led ****
    
    "C:\\ti\\ccsv5\\utils\\bin\\gmake" -k all 
    'Building file: ../main.c'
    'Invoking: ARM Compiler'
    "C:/ti/ccsv5/tools/compiler/tms470_5.0.3/bin/armcl" -mv7A8 --code_state=32 --abi=eabi -me -g --include_path="C:/ti/ccsv5/tools/compiler/tms470_5.0.3/include" --include_path="C:/ti/am335x_sysbios_ind_sdk_1.0.0.6/sdk/os_drivers/include" --include_path="C:/ti/am335x_sysbios_ind_sdk_1.0.0.6/sdk/platform/am335x/include" --diag_warning=225 --preproc_with_compile --preproc_dependency="main.pp" --cmd_file="./configPkg/compiler.opt"  "../main.c"
    "../main.c", line 59: warning: function declared implicitly
    'Finished building: ../main.c'
    ' '
    'Building target: i2c_led.out'
    'Invoking: ARM Linker'
    "C:/ti/ccsv5/tools/compiler/tms470_5.0.3/bin/armcl" -mv7A8 --code_state=32 --abi=eabi -me -g --diag_warning=225 -z -m"i2c_led.map" -i"C:/ti/ccsv5/tools/compiler/tms470_5.0.3/lib" -i"C:/ti/ccsv5/tools/compiler/tms470_5.0.3/include" --reread_libs --warn_sections --rom_model -o "i2c_led.out" -l"./configPkg/linker.cmd"  "./main.obj" -l"C:\ti\am335x_sysbios_ind_sdk_1.0.0.6\sdk/os_drivers/lib/sys_bios_driver.lib" -l"C:\ti\am335x_sysbios_ind_sdk_1.0.0.6\sdk/platform/am335x/lib/am335x_platform.lib" -l"C:\ti\am335x_sysbios_ind_sdk_1.0.0.6\sdk/starterware/binary/armv7a/cgt_ccs/am335x/drivers/drivers.lib" -l"C:\ti\am335x_sysbios_ind_sdk_1.0.0.6\sdk/starterware/binary/armv7a/cgt_ccs/am335x/evmAM335x/platform/platform.lib" -l"rtsv7A8_A_le_n_v3_eabi.lib" "../am335x.cmd" 
    <Linking>
    'Finished building target: i2c_led.out'
    ' '
    C:/ti/ccsv5/utils/bin/gmake --no-print-directory post-build
    "C:\ti\am335x_sysbios_ind_sdk_1.0.0.6\sdk/tools/post_build/post_build.bat" "C:/ti/ccsv5" "C:/ti/ccsv5/tools/compiler/tms470_5.0.3" "C:\Users\UlrichH\workspace_v5_3\i2c_led\Debug" "i2c_led" "C:\ti\am335x_sysbios_ind_sdk_1.0.0.6\sdk\tools\isdk_image\" "1" "0" "0x80000000" "0x80000000"
    Der Befehl ""C:/ti/ccsv5/tools/compiler/tms470_5.0.3/bin/ofd470.exe"" ist entweder falsch geschrieben oder
    konnte nicht gefunden werden.
    File does not exist:  at XML_TI_OFD.pm line 877
    Der Befehl ""C:/ti/ccsv5/tools/compiler/tms470_5.0.3/bin/hex470.exe"" ist entweder falsch geschrieben oder
    konnte nicht gefunden werden.
    Binary file does not exist in path
     finished
    ' '
    
    **** Build Finished ****
    

    Hopefully i do not mix the topics. Most important is the ethercat_slave example for me.

    best regards

    Ulrich

     

  • Hi Ulrich,

    I assume you have tried cleaning and rebuilding. If not, please give it a try.  If the problem still persists, try commenting the below given two lines in .cfg file and rebuild the application.

    BIOS.libType = BIOS.LibType_Custom;
    BIOS.customCCOpts = "--endian=little -mv7A8 --abi=eabi --neon --float_support=vfpv3 -q -ms --opt_for_speed=0 

    Regarding ofc470 and hex470 related issues, I guess you are working on CCS 5.3.x.x.x and ISDK 1.0.0.6 is validated on CCS 5.2.x.xx, but  not on CCS 5.3.x.xx. Next ISDK release will have CCS 5.3.x support.

    Regards,

    Shahid