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.

TMDSICE3359 running example code

Other Parts Discussed in Thread: SYSBIOS

Hi!

Recently I have bought the TMDSICE3359 for testing purposes, however I've been unable so far to run anything but the default demo code. I am using CCS 6.2.0 in which I have tried the EtherCAT Slave example code (the second one that can be downloaded here, found under sysbios_ind_sdk_02.01.02.02\sdk\examples\ethercat_slave) but I cannot get the am335x debug code to build properly.. I am getting the following errors:

error: ethercat.out uses VFP register arguments, c:/ti/ccsv6/tools/compiler/gcc-arm-none-eabi-4_9-2015q3/bin/../lib/gcc/arm-none-eabi/4.9.3\libgcc.a(_udivdi3.o) does not
error: ethercat.out uses VFP register arguments, c:/ti/ccsv6/tools/compiler/gcc-arm-none-eabi-4_9-2015q3/bin/../lib/gcc/arm-none-eabi/4.9.3\libgcc.a(bpabi.o) does not
failed to merge target specific data of file c:/ti/ccsv6/tools/compiler/gcc-arm-none-eabi-4_9-2015q3/bin/../lib/gcc/arm-none-eabi/4.9.3\libgcc.a(_divdi3.o)
failed to merge target specific data of file c:/ti/ccsv6/tools/compiler/gcc-arm-none-eabi-4_9-2015q3/bin/../lib/gcc/arm-none-eabi/4.9.3\libgcc.a(_fixunsdfdi.o)
failed to merge target specific data of file c:/ti/ccsv6/tools/compiler/gcc-arm-none-eabi-4_9-2015q3/bin/../lib/gcc/arm-none-eabi/4.9.3\libgcc.a(_fixunssfdi.o)
failed to merge target specific data of file c:/ti/ccsv6/tools/compiler/gcc-arm-none-eabi-4_9-2015q3/bin/../lib/gcc/arm-none-eabi/4.9.3\libgcc.a(_udivdi3.o)
failed to merge target specific data of file c:/ti/ccsv6/tools/compiler/gcc-arm-none-eabi-4_9-2015q3/bin/../lib/gcc/arm-none-eabi/4.9.3\libgcc.a(bpabi.o)
gmake: *** [ethercat.out] Error 1
gmake: Target 'all' not remade because of errors.
recipe for target 'ethercat.out' failed

And the following warnings:

Product 'SYS/BIOS' v6.41.4.54 is not currently installed. A compatible version 6.45.1.29 will be used during build.
This project was created using a version of compiler that is not currently installed: GNU_4.8.4:Linaro [ARM]. Another version of the compiler will be used during build: GNU_4.9.3:Linaro. See 'Help > Check for Updates' or visit <a href="liveaction:OpenAppCenter">CCS App Center</a> to get the latest compilers. See 'Help > Install New Software...' to install older compilers. Alternatively, migrate the project to one of the available compiler versions by adjusting project properties.

I do not understand these errors nor do I know how to resolve them. Any suggestions on how to resolve these errors?

  • I have resolved some errors by using the Linaro GNU v5.4.1 compiler and adding "mfloat-abi=hard" and "mfpu=vfp" as flags, however the other errors remain. The list of errors is now the following:

    gmake: *** [tiescappl.o] Error 1
    gmake: *** [tiescutils.o] Error 1
    gmake: Target 'all' not remade because of errors.
    recipe for target 'tiescappl.o' failed
    recipe for target 'tiescappl.o' failed

    Any ideas? These errors are very undescriptive..
  • Could this be a makefile issue related to the two .o targets mentioned above?

    The type of error you see may be caused by a command in a rule that terminates with non-zero exit status. E.g. imagine the following (stupid) Makefile:

    all:
    @false
    echo "hello"

    This would fail (without printing "hello") since false terminates with exit status 1 and fails with just this message.

    % make
    make: *** [all] Error 1

    Hope this helps,
    Murat
  • Thank you for your answer! I found that solution as well but I think that is unlikely since I changed nothing to the code, it's an unchanged format downloaded from the TI site.

    Anyways, it turns out I did not add the flags correctly, so it crashed on those.. I'm getting the errors I mentioned earlier, however. The compiler does not seem to use VFP register arguments. Any ideas? This is the console output:


    **** Build of configuration am335x_debug for project ethercat ****

    "C:\\ti\\ccsv6\\utils\\bin\\gmake" -k all
    'Building file: ../am335xx_app.cfg'
    'Invoking: XDCtools'
    "C:/ti/xdctools_3_31_02_38_core/xs" --xdcpath="C:/ti/bios_6_45_01_29/packages;C:/ti/pdk_am335x_1_0_4/packages;" xdc.tools.configuro -o configPkg -t gnu.targets.arm.A8F -p ti.platforms.evmAM3359 -r debug -c "C:/Program Files (x86)/GNU Tools ARM Embedded/5.4 2016q3" "../am335xx_app.cfg"
    'Finished building: ../am335xx_app.cfg'
    ' '
    'Building file: ../tiescappl.c'
    'Invoking: GNU Compiler'
    "C:/Program Files (x86)/GNU Tools ARM Embedded/5.4 2016q3/bin/arm-none-eabi-gcc.exe" -c -mcpu=cortex-a8 -mtune=cortex-a8 -march=armv7-a -marm -mfloat-abi=hard -DAM335X_FAMILY_BUILD -DECAT_LIMITED_DEMO -Dam3359 -I"C:/ti/sysbios_ind_sdk_02.01.02.02/sdk/starterware/include/" -I"C:/ti/sysbios_ind_sdk_02.01.02.02/sdk/starterware/include/utils" -I"C:/ti/sysbios_ind_sdk_02.01.02.02/sdk/starterware/include/hw" -I"C:/ti/sysbios_ind_sdk_02.01.02.02/sdk/starterware/include/am335x/" -I"C:/ti/sysbios_ind_sdk_02.01.02.02/sdk/protocols/ethercat_slave/include" -I"C:/ti/sysbios_ind_sdk_02.01.02.02/sdk/board/include" -I"C:/ti/sysbios_ind_sdk_02.01.02.02/sdk/os_drivers/include" -I"C:/ti/sysbios_ind_sdk_02.01.02.02/sdk/os_drivers/lld/pruss" -I"C:/ti/sysbios_ind_sdk_02.01.02.02/sdk/protocols/ethercat_slave/firmware/v1.0" -I"C:/ti/sysbios_ind_sdk_02.01.02.02/sdk/starterware/library/qspilib/include" -I"C:/ti/sysbios_ind_sdk_02.01.02.02/sdk/starterware/device/" -I"C:/ti/sysbios_ind_sdk_02.01.02.02/sdk/control/foc" -I"C:/ti/sysbios_ind_sdk_02.01.02.02/sdk/examples/ethercat_slave" -g -gstrict-dwarf -Wall -mfloat-abi=hard -mfpu=vfp -MMD -MP -MF"tiescappl.d" -MT"tiescappl.o" -o"tiescappl.o" @"configPkg/compiler.opt" "../tiescappl.c"
    In file included from C:/ti/sysbios_ind_sdk_02.01.02.02/sdk/protocols/ethercat_slave/include/tiescutils.h:36:0,
    from ../tiescappl.c:41:
    C:/ti/sysbios_ind_sdk_02.01.02.02/sdk/protocols/ethercat_slave/include/tiescbsp.h:217:21: warning: inline function 'bsp_pdi_access_perm_array' declared but never defined
    PROTO inline Uint8 bsp_pdi_access_perm_array(Uint16 address, Uint8 access,
    ^
    C:/ti/sysbios_ind_sdk_02.01.02.02/sdk/protocols/ethercat_slave/include/tiescbsp.h:216:21: warning: inline function 'bsp_pdi_access_perm_dword' declared but never defined
    PROTO inline Uint8 bsp_pdi_access_perm_dword(Uint16 address, Uint8 access);
    ^
    C:/ti/sysbios_ind_sdk_02.01.02.02/sdk/protocols/ethercat_slave/include/tiescbsp.h:215:21: warning: inline function 'bsp_pdi_access_perm_word' declared but never defined
    PROTO inline Uint8 bsp_pdi_access_perm_word(Uint16 address, Uint8 access);
    ^
    C:/ti/sysbios_ind_sdk_02.01.02.02/sdk/protocols/ethercat_slave/include/tiescbsp.h:214:21: warning: inline function 'bsp_get_pdi_access_perm' declared but never defined
    PROTO inline Uint8 bsp_get_pdi_access_perm(Uint16 address, Uint8 access);
    ^
    'Finished building: ../tiescappl.c'
    ' '
    'Building file: ../tiescutils.c'
    'Invoking: GNU Compiler'
    "C:/Program Files (x86)/GNU Tools ARM Embedded/5.4 2016q3/bin/arm-none-eabi-gcc.exe" -c -mcpu=cortex-a8 -mtune=cortex-a8 -march=armv7-a -marm -mfloat-abi=hard -DAM335X_FAMILY_BUILD -DECAT_LIMITED_DEMO -Dam3359 -I"C:/ti/sysbios_ind_sdk_02.01.02.02/sdk/starterware/include/" -I"C:/ti/sysbios_ind_sdk_02.01.02.02/sdk/starterware/include/utils" -I"C:/ti/sysbios_ind_sdk_02.01.02.02/sdk/starterware/include/hw" -I"C:/ti/sysbios_ind_sdk_02.01.02.02/sdk/starterware/include/am335x/" -I"C:/ti/sysbios_ind_sdk_02.01.02.02/sdk/protocols/ethercat_slave/include" -I"C:/ti/sysbios_ind_sdk_02.01.02.02/sdk/board/include" -I"C:/ti/sysbios_ind_sdk_02.01.02.02/sdk/os_drivers/include" -I"C:/ti/sysbios_ind_sdk_02.01.02.02/sdk/os_drivers/lld/pruss" -I"C:/ti/sysbios_ind_sdk_02.01.02.02/sdk/protocols/ethercat_slave/firmware/v1.0" -I"C:/ti/sysbios_ind_sdk_02.01.02.02/sdk/starterware/library/qspilib/include" -I"C:/ti/sysbios_ind_sdk_02.01.02.02/sdk/starterware/device/" -I"C:/ti/sysbios_ind_sdk_02.01.02.02/sdk/control/foc" -I"C:/ti/sysbios_ind_sdk_02.01.02.02/sdk/examples/ethercat_slave" -g -gstrict-dwarf -Wall -mfloat-abi=hard -mfpu=vfp -MMD -MP -MF"tiescutils.d" -MT"tiescutils.o" -o"tiescutils.o" @"configPkg/compiler.opt" "../tiescutils.c"
    In file included from ../tiescutils.c:50:0:
    C:/ti/sysbios_ind_sdk_02.01.02.02/sdk/starterware/include/soc.h:111:20: warning: inline function 'SOCGetCoreId' declared but never defined
    inline socCoreId_t SOCGetCoreId(void);
    ^
    C:/ti/sysbios_ind_sdk_02.01.02.02/sdk/starterware/include/soc.h:104:22: warning: inline function 'SOCGetSocFamilyId' declared but never defined
    inline socFamilyId_t SOCGetSocFamilyId(void);
    ^
    In file included from C:/ti/sysbios_ind_sdk_02.01.02.02/sdk/protocols/ethercat_slave/include/tiescutils.h:36:0,
    from ../tiescutils.c:45:
    C:/ti/sysbios_ind_sdk_02.01.02.02/sdk/protocols/ethercat_slave/include/tiescbsp.h:217:21: warning: inline function 'bsp_pdi_access_perm_array' declared but never defined
    PROTO inline Uint8 bsp_pdi_access_perm_array(Uint16 address, Uint8 access,
    ^
    C:/ti/sysbios_ind_sdk_02.01.02.02/sdk/protocols/ethercat_slave/include/tiescbsp.h:216:21: warning: inline function 'bsp_pdi_access_perm_dword' declared but never defined
    PROTO inline Uint8 bsp_pdi_access_perm_dword(Uint16 address, Uint8 access);
    ^
    C:/ti/sysbios_ind_sdk_02.01.02.02/sdk/protocols/ethercat_slave/include/tiescbsp.h:215:21: warning: inline function 'bsp_pdi_access_perm_word' declared but never defined
    PROTO inline Uint8 bsp_pdi_access_perm_word(Uint16 address, Uint8 access);
    ^
    C:/ti/sysbios_ind_sdk_02.01.02.02/sdk/protocols/ethercat_slave/include/tiescbsp.h:214:21: warning: inline function 'bsp_get_pdi_access_perm' declared but never defined
    PROTO inline Uint8 bsp_get_pdi_access_perm(Uint16 address, Uint8 access);
    ^
    'Finished building: ../tiescutils.c'
    ' '
    'Building target: ethercat.out'
    'Invoking: GNU Linker'
    "C:/Program Files (x86)/GNU Tools ARM Embedded/5.4 2016q3/bin/arm-none-eabi-gcc.exe" -march=armv7-a -marm -mfloat-abi=hard -DAM335X_FAMILY_BUILD -DECAT_LIMITED_DEMO -Dam3359 -g -gstrict-dwarf -Wall -mfloat-abi=hard -mfpu=vfp -Wl,-Map,"ethercat.map" -nostartfiles -static -Wl,--gc-sections -L"C:/ti/bios_6_45_01_29/packages/gnu/targets/arm/libs/install-native/arm-none-eabi/lib/fpu" -L"C:/ti/sysbios_ind_sdk_02.01.02.02/sdk/os_drivers/lib/am335x" -L"C:/ti/sysbios_ind_sdk_02.01.02.02/sdk/board/lib/am335x" -L"C:/ti/sysbios_ind_sdk_02.01.02.02/sdk/protocols/ethercat_slave/stack_lib/am335x" -L"C:/ti/sysbios_ind_sdk_02.01.02.02/sdk/starterware/binary/dal/lib/am335x-evm/a8/release/gcc" -L"C:/ti/sysbios_ind_sdk_02.01.02.02/sdk/starterware/binary/device/lib/am335x-evm/a8/release/gcc" -L"C:/ti/sysbios_ind_sdk_02.01.02.02/sdk/starterware/binary/board/lib/am335x-evm/a8/release/gcc" -L"C:/ti/sysbios_ind_sdk_02.01.02.02/sdk/starterware/binary/soc/lib/am335x-evm/a8/release/gcc" -L"C:/ti/sysbios_ind_sdk_02.01.02.02/sdk/starterware/binary/utils/lib/am335x-evm/a8/release/gcc" -Wl,--defsym,STACKSIZE=0x18000 -Wl,--defsym,HEAPSIZE=0x400 -Wl,--defsym,STACKSIZE=0x1C000 -o"ethercat.out" "./tiescappl.o" "./tiescutils.o" -Wl,-T"../AM335x.lds" -Wl,-T"configPkg/linker.cmd" -Wl,--start-group -lc -lgcc -lutils -lrdimon -lsoc -lm -lnosys -ldal -lsys_bios_driver -lboard -ldevice -lecat_slave_stack_gcc -lboard_support -Wl,--end-group
    makefile:155: recipe for target 'ethercat.out' failed
    c:/program files (x86)/gnu tools arm embedded/5.4 2016q3/bin/../lib/gcc/arm-none-eabi/5.4.1/../../../../arm-none-eabi/bin/ld.exe: error: ethercat.out uses VFP register arguments, c:/program files (x86)/gnu tools arm embedded/5.4 2016q3/bin/../lib/gcc/arm-none-eabi/5.4.1\libgcc.a(_udivmoddi4.o) does not
    c:/program files (x86)/gnu tools arm embedded/5.4 2016q3/bin/../lib/gcc/arm-none-eabi/5.4.1/../../../../arm-none-eabi/bin/ld.exe: failed to merge target specific data of file c:/program files (x86)/gnu tools arm embedded/5.4 2016q3/bin/../lib/gcc/arm-none-eabi/5.4.1\libgcc.a(_udivmoddi4.o)
    c:/program files (x86)/gnu tools arm embedded/5.4 2016q3/bin/../lib/gcc/arm-none-eabi/5.4.1/../../../../arm-none-eabi/bin/ld.exe: error: ethercat.out uses VFP register arguments, c:/program files (x86)/gnu tools arm embedded/5.4 2016q3/bin/../lib/gcc/arm-none-eabi/5.4.1\libgcc.a(_fixunsdfdi.o) does not
    c:/program files (x86)/gnu tools arm embedded/5.4 2016q3/bin/../lib/gcc/arm-none-eabi/5.4.1/../../../../arm-none-eabi/bin/ld.exe: failed to merge target specific data of file c:/program files (x86)/gnu tools arm embedded/5.4 2016q3/bin/../lib/gcc/arm-none-eabi/5.4.1\libgcc.a(_fixunsdfdi.o)
    c:/program files (x86)/gnu tools arm embedded/5.4 2016q3/bin/../lib/gcc/arm-none-eabi/5.4.1/../../../../arm-none-eabi/bin/ld.exe: error: ethercat.out uses VFP register arguments, c:/program files (x86)/gnu tools arm embedded/5.4 2016q3/bin/../lib/gcc/arm-none-eabi/5.4.1\libgcc.a(_fixunssfdi.o) does not
    c:/program files (x86)/gnu tools arm embedded/5.4 2016q3/bin/../lib/gcc/arm-none-eabi/5.4.1/../../../../arm-none-eabi/bin/ld.exe: failed to merge target specific data of file c:/program files (x86)/gnu tools arm embedded/5.4 2016q3/bin/../lib/gcc/arm-none-eabi/5.4.1\libgcc.a(_fixunssfdi.o)
    collect2.exe: error: ld returned 1 exit status
    gmake: *** [ethercat.out] Error 1
    gmake: Target 'all' not remade because of errors.

    **** Build Finished ****

  • According to another forum "--with-arch=armv6" and "--with-fpu=vfp" are incompatible. I removed the first and now it seems to compile. Not sure if it's supposed to be like that..

    Getting the following error when running the compiled code in debug:

    M3_wakeupSS: Error connecting to the target: (Error -1266 @ 0x0) Device is held in reset. Take the device out of reset, and retry the operation. (Emulation package 6.0.407.6)
  • Hi Nick,

    Looks like your original 'how to build' issue has been resolved. So we should close this thread and please post a new query if you still need help with bringing the device out of reset.
    Regarding that latter issue, perhaps following link may be helpful:
    e2e.ti.com/.../994076

    Best regards,
    Murat
  • There was a suggested answer and since there has been no active on this thread for more than a week, the suggested answer was marked as verify. Please feel free to select the "Reject Answer" button and reply with more details.