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.

TMS320F28386D: fpu64 linker error with full optimization

Part Number: TMS320F28386D
Other Parts Discussed in Thread: C2000WARE

Hello, when I turn on full optimization, I get about 100 errors like this:

option --float_support=fpu64 is set in "_io_perm.c", and is incompatible motorControl386_cpu1 C/C++ Problem

option --float_support=fpu64 is set in "atoi.c", and is incompatible motorControl386_cpu1 C/C++ Problem

I understand there must be some libraries being linked in with fpu64, but I don't know how to fix that. Where is it set?

Any help please?

thanks

  • Hi Ken,

    Our expert will support this by tomorrow

  • Hi,

    Have you included these .c files in your CCS project? Or are you using the compiler RTS library file (libc.a or rts2800**.lib file?)

    Regards,

    Veena

  • thanks for your reply,

    The only library files I can find are under "C2000 Linker/File Search Path" are: C2000Ware_MotorControl SDKv3.2.0.00  and  libc.a

    Regards

    Ken

  • Hi Ken,

    You may find that issue if you have included multiple libraries with different fpu compile flags set. You may also check the console log output for more details on the issue. 

    Regards,

    Veena

  • Hi Veena,

    I don't see any other project options to include other libraries or set different options (I only see  "C2000 Linker/File Search Path").  Also no other info in the log.

    Can you direct me to where else this may have been set?

    I'm not too worried about the additional optimization (O4 vs O3). But I am concerned I may have libraries doing 64bit FPU where it isn't necessary and costing many clock cycles. 

    thanks

    Ken

  • Can you share the full console output. That should provide us some useful info

    Regards,

    Veena

  • **** Build of configuration CPU1_RAM for project motorControl386_cpu1 ****
    
    "C:\\ti\\ccs1120\\ccs\\utils\\bin\\gmake" -k -j 12 all -O 
     
    Building file: "../device/f2838x_codestartbranch.asm"
    Invoking: C2000 Compiler
    "C:/ti/ccs1120/ccs/tools/compiler/ti-cgt-c2000_21.6.0.LTS/bin/cl2000" -v28 -ml -mt --float_support=fpu32 --idiv_support=idiv0 --tmu_support=tmu0 --vcu_support=vcrc -O4 --opt_for_speed=5 --fp_mode=relaxed --include_path="../CPU1_RAM/" --include_path="C:/Users/khutchin/tiWorkspace/dspMotorController/motorControl386_cpu1/sources" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/c2000ware/device_support/f2838x/common/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/c2000ware/device_support/f2838x/headers/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/c2000ware/driverlib/f2838x/driverlib" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/c2000ware/libraries/math/IQmath/c28/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/c2000ware/libraries/math/FPUfastRTS/c28/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/c2000ware/libraries/control/DCL/c28/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/sfra/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/sfra/gui/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/utilities/datalog/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/fcl/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/position_sensing/qep/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/utilities/math_blocks/include/CLA_v1.0/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/utilities/math_blocks/include/v4.3" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/utilities/math_blocks/include/v4.3/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/dacs/dac128s085/include" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/solutions/common/sensored_foc/include/" --include_path="C:/ti/ccs1120/ccs/tools/compiler/ti-cgt-c2000_21.6.0.LTS/include" --include_path="C:/Users/khutchin/tiWorkspace/dspMotorController/motorControl386_cpu1" --include_path="C:/Users/khutchin/tiWorkspace/dspMotorController/motorControl386_cpu1/device" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/c2000ware/driverlib/f2838x/driverlib" --advice:performance=all --define=USE_20MHZ_XTAL --define=_DEBUG --define=LARGE_MODEL --define=CPU1 --define=DAC128S_ENABLE --define=DAC128S_SPIA --define=_DUAL_HEADERS --define=TEST_ENABLE --define=F2838x_DEVICE --define=DEBUG --diag_suppress=10063 --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi --preproc_with_compile --preproc_dependency="device/f2838x_codestartbranch.d_raw" --include_path="C:/Users/khutchin/tiWorkspace/dspMotorController/motorControl386_cpu1/CPU1_RAM/syscfg" --obj_directory="device"  "../device/f2838x_codestartbranch.asm"
    Finished building: "../device/f2838x_codestartbranch.asm"
     
    Building file: "../sources/dlog_4ch_f.c"
    Invoking: C2000 Compiler
    "C:/ti/ccs1120/ccs/tools/compiler/ti-cgt-c2000_21.6.0.LTS/bin/cl2000" -v28 -ml -mt --float_support=fpu32 --idiv_support=idiv0 --tmu_support=tmu0 --vcu_support=vcrc -O4 --opt_for_speed=5 --fp_mode=relaxed --include_path="../CPU1_RAM/" --include_path="C:/Users/khutchin/tiWorkspace/dspMotorController/motorControl386_cpu1/sources" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/c2000ware/device_support/f2838x/common/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/c2000ware/device_support/f2838x/headers/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/c2000ware/driverlib/f2838x/driverlib" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/c2000ware/libraries/math/IQmath/c28/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/c2000ware/libraries/math/FPUfastRTS/c28/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/c2000ware/libraries/control/DCL/c28/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/sfra/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/sfra/gui/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/utilities/datalog/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/fcl/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/position_sensing/qep/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/utilities/math_blocks/include/CLA_v1.0/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/utilities/math_blocks/include/v4.3" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/utilities/math_blocks/include/v4.3/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/dacs/dac128s085/include" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/solutions/common/sensored_foc/include/" --include_path="C:/ti/ccs1120/ccs/tools/compiler/ti-cgt-c2000_21.6.0.LTS/include" --include_path="C:/Users/khutchin/tiWorkspace/dspMotorController/motorControl386_cpu1" --include_path="C:/Users/khutchin/tiWorkspace/dspMotorController/motorControl386_cpu1/device" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/c2000ware/driverlib/f2838x/driverlib" --advice:performance=all --define=USE_20MHZ_XTAL --define=_DEBUG --define=LARGE_MODEL --define=CPU1 --define=DAC128S_ENABLE --define=DAC128S_SPIA --define=_DUAL_HEADERS --define=TEST_ENABLE --define=F2838x_DEVICE --define=DEBUG --diag_suppress=10063 --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi --preproc_with_compile --preproc_dependency="sources/dlog_4ch_f.d_raw" --include_path="C:/Users/khutchin/tiWorkspace/dspMotorController/motorControl386_cpu1/CPU1_RAM/syscfg" --obj_directory="sources"  "../sources/dlog_4ch_f.c"
    Finished building: "../sources/dlog_4ch_f.c"
     
    Building file: "../device/device.c"
    Invoking: C2000 Compiler
    "C:/ti/ccs1120/ccs/tools/compiler/ti-cgt-c2000_21.6.0.LTS/bin/cl2000" -v28 -ml -mt --float_support=fpu32 --idiv_support=idiv0 --tmu_support=tmu0 --vcu_support=vcrc -O4 --opt_for_speed=5 --fp_mode=relaxed --include_path="../CPU1_RAM/" --include_path="C:/Users/khutchin/tiWorkspace/dspMotorController/motorControl386_cpu1/sources" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/c2000ware/device_support/f2838x/common/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/c2000ware/device_support/f2838x/headers/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/c2000ware/driverlib/f2838x/driverlib" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/c2000ware/libraries/math/IQmath/c28/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/c2000ware/libraries/math/FPUfastRTS/c28/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/c2000ware/libraries/control/DCL/c28/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/sfra/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/sfra/gui/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/utilities/datalog/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/fcl/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/position_sensing/qep/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/utilities/math_blocks/include/CLA_v1.0/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/utilities/math_blocks/include/v4.3" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/utilities/math_blocks/include/v4.3/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/dacs/dac128s085/include" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/solutions/common/sensored_foc/include/" --include_path="C:/ti/ccs1120/ccs/tools/compiler/ti-cgt-c2000_21.6.0.LTS/include" --include_path="C:/Users/khutchin/tiWorkspace/dspMotorController/motorControl386_cpu1" --include_path="C:/Users/khutchin/tiWorkspace/dspMotorController/motorControl386_cpu1/device" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/c2000ware/driverlib/f2838x/driverlib" --advice:performance=all --define=USE_20MHZ_XTAL --define=_DEBUG --define=LARGE_MODEL --define=CPU1 --define=DAC128S_ENABLE --define=DAC128S_SPIA --define=_DUAL_HEADERS --define=TEST_ENABLE --define=F2838x_DEVICE --define=DEBUG --diag_suppress=10063 --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi --preproc_with_compile --preproc_dependency="device/device.d_raw" --include_path="C:/Users/khutchin/tiWorkspace/dspMotorController/motorControl386_cpu1/CPU1_RAM/syscfg" --obj_directory="device"  "../device/device.c"
    Finished building: "../device/device.c"
     
    Building file: "../sources/fclPid.c"
    Invoking: C2000 Compiler
    "C:/ti/ccs1120/ccs/tools/compiler/ti-cgt-c2000_21.6.0.LTS/bin/cl2000" -v28 -ml -mt --float_support=fpu32 --idiv_support=idiv0 --tmu_support=tmu0 --vcu_support=vcrc -O4 --opt_for_speed=5 --fp_mode=relaxed --include_path="../CPU1_RAM/" --include_path="C:/Users/khutchin/tiWorkspace/dspMotorController/motorControl386_cpu1/sources" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/c2000ware/device_support/f2838x/common/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/c2000ware/device_support/f2838x/headers/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/c2000ware/driverlib/f2838x/driverlib" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/c2000ware/libraries/math/IQmath/c28/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/c2000ware/libraries/math/FPUfastRTS/c28/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/c2000ware/libraries/control/DCL/c28/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/sfra/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/sfra/gui/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/utilities/datalog/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/fcl/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/position_sensing/qep/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/utilities/math_blocks/include/CLA_v1.0/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/utilities/math_blocks/include/v4.3" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/utilities/math_blocks/include/v4.3/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/dacs/dac128s085/include" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/solutions/common/sensored_foc/include/" --include_path="C:/ti/ccs1120/ccs/tools/compiler/ti-cgt-c2000_21.6.0.LTS/include" --include_path="C:/Users/khutchin/tiWorkspace/dspMotorController/motorControl386_cpu1" --include_path="C:/Users/khutchin/tiWorkspace/dspMotorController/motorControl386_cpu1/device" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/c2000ware/driverlib/f2838x/driverlib" --advice:performance=all --define=USE_20MHZ_XTAL --define=_DEBUG --define=LARGE_MODEL --define=CPU1 --define=DAC128S_ENABLE --define=DAC128S_SPIA --define=_DUAL_HEADERS --define=TEST_ENABLE --define=F2838x_DEVICE --define=DEBUG --diag_suppress=10063 --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi --preproc_with_compile --preproc_dependency="sources/fclPid.d_raw" --include_path="C:/Users/khutchin/tiWorkspace/dspMotorController/motorControl386_cpu1/CPU1_RAM/syscfg" --obj_directory="sources"  "../sources/fclPid.c"
    Finished building: "../sources/fclPid.c"
     
    Building file: "../sources/fastControlLoop.c"
    Invoking: C2000 Compiler
    "C:/ti/ccs1120/ccs/tools/compiler/ti-cgt-c2000_21.6.0.LTS/bin/cl2000" -v28 -ml -mt --float_support=fpu32 --idiv_support=idiv0 --tmu_support=tmu0 --vcu_support=vcrc -O4 --opt_for_speed=5 --fp_mode=relaxed --include_path="../CPU1_RAM/" --include_path="C:/Users/khutchin/tiWorkspace/dspMotorController/motorControl386_cpu1/sources" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/c2000ware/device_support/f2838x/common/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/c2000ware/device_support/f2838x/headers/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/c2000ware/driverlib/f2838x/driverlib" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/c2000ware/libraries/math/IQmath/c28/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/c2000ware/libraries/math/FPUfastRTS/c28/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/c2000ware/libraries/control/DCL/c28/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/sfra/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/sfra/gui/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/utilities/datalog/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/fcl/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/position_sensing/qep/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/utilities/math_blocks/include/CLA_v1.0/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/utilities/math_blocks/include/v4.3" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/utilities/math_blocks/include/v4.3/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/dacs/dac128s085/include" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/solutions/common/sensored_foc/include/" --include_path="C:/ti/ccs1120/ccs/tools/compiler/ti-cgt-c2000_21.6.0.LTS/include" --include_path="C:/Users/khutchin/tiWorkspace/dspMotorController/motorControl386_cpu1" --include_path="C:/Users/khutchin/tiWorkspace/dspMotorController/motorControl386_cpu1/device" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/c2000ware/driverlib/f2838x/driverlib" --advice:performance=all --define=USE_20MHZ_XTAL --define=_DEBUG --define=LARGE_MODEL --define=CPU1 --define=DAC128S_ENABLE --define=DAC128S_SPIA --define=_DUAL_HEADERS --define=TEST_ENABLE --define=F2838x_DEVICE --define=DEBUG --diag_suppress=10063 --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi --preproc_with_compile --preproc_dependency="sources/fastControlLoop.d_raw" --include_path="C:/Users/khutchin/tiWorkspace/dspMotorController/motorControl386_cpu1/CPU1_RAM/syscfg" --obj_directory="sources"  "../sources/fastControlLoop.c"
    Finished building: "../sources/fastControlLoop.c"
     
    Building file: "../sources/servoDriveUser.c"
    Invoking: C2000 Compiler
    "C:/ti/ccs1120/ccs/tools/compiler/ti-cgt-c2000_21.6.0.LTS/bin/cl2000" -v28 -ml -mt --float_support=fpu32 --idiv_support=idiv0 --tmu_support=tmu0 --vcu_support=vcrc -O4 --opt_for_speed=5 --fp_mode=relaxed --include_path="../CPU1_RAM/" --include_path="C:/Users/khutchin/tiWorkspace/dspMotorController/motorControl386_cpu1/sources" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/c2000ware/device_support/f2838x/common/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/c2000ware/device_support/f2838x/headers/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/c2000ware/driverlib/f2838x/driverlib" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/c2000ware/libraries/math/IQmath/c28/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/c2000ware/libraries/math/FPUfastRTS/c28/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/c2000ware/libraries/control/DCL/c28/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/sfra/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/sfra/gui/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/utilities/datalog/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/fcl/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/position_sensing/qep/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/utilities/math_blocks/include/CLA_v1.0/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/utilities/math_blocks/include/v4.3" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/utilities/math_blocks/include/v4.3/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/dacs/dac128s085/include" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/solutions/common/sensored_foc/include/" --include_path="C:/ti/ccs1120/ccs/tools/compiler/ti-cgt-c2000_21.6.0.LTS/include" --include_path="C:/Users/khutchin/tiWorkspace/dspMotorController/motorControl386_cpu1" --include_path="C:/Users/khutchin/tiWorkspace/dspMotorController/motorControl386_cpu1/device" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/c2000ware/driverlib/f2838x/driverlib" --advice:performance=all --define=USE_20MHZ_XTAL --define=_DEBUG --define=LARGE_MODEL --define=CPU1 --define=DAC128S_ENABLE --define=DAC128S_SPIA --define=_DUAL_HEADERS --define=TEST_ENABLE --define=F2838x_DEVICE --define=DEBUG --diag_suppress=10063 --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi --preproc_with_compile --preproc_dependency="sources/servoDriveUser.d_raw" --include_path="C:/Users/khutchin/tiWorkspace/dspMotorController/motorControl386_cpu1/CPU1_RAM/syscfg" --obj_directory="sources"  "../sources/servoDriveUser.c"
    Finished building: "../sources/servoDriveUser.c"
     
    Building file: "../device/f2838x_GlobalVariableDefs.c"
    Invoking: C2000 Compiler
    "C:/ti/ccs1120/ccs/tools/compiler/ti-cgt-c2000_21.6.0.LTS/bin/cl2000" -v28 -ml -mt --float_support=fpu32 --idiv_support=idiv0 --tmu_support=tmu0 --vcu_support=vcrc -O4 --opt_for_speed=5 --fp_mode=relaxed --include_path="../CPU1_RAM/" --include_path="C:/Users/khutchin/tiWorkspace/dspMotorController/motorControl386_cpu1/sources" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/c2000ware/device_support/f2838x/common/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/c2000ware/device_support/f2838x/headers/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/c2000ware/driverlib/f2838x/driverlib" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/c2000ware/libraries/math/IQmath/c28/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/c2000ware/libraries/math/FPUfastRTS/c28/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/c2000ware/libraries/control/DCL/c28/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/sfra/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/sfra/gui/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/utilities/datalog/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/fcl/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/position_sensing/qep/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/utilities/math_blocks/include/CLA_v1.0/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/utilities/math_blocks/include/v4.3" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/utilities/math_blocks/include/v4.3/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/dacs/dac128s085/include" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/solutions/common/sensored_foc/include/" --include_path="C:/ti/ccs1120/ccs/tools/compiler/ti-cgt-c2000_21.6.0.LTS/include" --include_path="C:/Users/khutchin/tiWorkspace/dspMotorController/motorControl386_cpu1" --include_path="C:/Users/khutchin/tiWorkspace/dspMotorController/motorControl386_cpu1/device" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/c2000ware/driverlib/f2838x/driverlib" --advice:performance=all --define=USE_20MHZ_XTAL --define=_DEBUG --define=LARGE_MODEL --define=CPU1 --define=DAC128S_ENABLE --define=DAC128S_SPIA --define=_DUAL_HEADERS --define=TEST_ENABLE --define=F2838x_DEVICE --define=DEBUG --diag_suppress=10063 --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi --preproc_with_compile --preproc_dependency="device/f2838x_GlobalVariableDefs.d_raw" --include_path="C:/Users/khutchin/tiWorkspace/dspMotorController/motorControl386_cpu1/CPU1_RAM/syscfg" --obj_directory="device"  "../device/f2838x_GlobalVariableDefs.c"
    Finished building: "../device/f2838x_GlobalVariableDefs.c"
     
    Building file: "../sources/servoDriveHal.c"
    Invoking: C2000 Compiler
    "C:/ti/ccs1120/ccs/tools/compiler/ti-cgt-c2000_21.6.0.LTS/bin/cl2000" -v28 -ml -mt --float_support=fpu32 --idiv_support=idiv0 --tmu_support=tmu0 --vcu_support=vcrc -O4 --opt_for_speed=5 --fp_mode=relaxed --include_path="../CPU1_RAM/" --include_path="C:/Users/khutchin/tiWorkspace/dspMotorController/motorControl386_cpu1/sources" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/c2000ware/device_support/f2838x/common/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/c2000ware/device_support/f2838x/headers/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/c2000ware/driverlib/f2838x/driverlib" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/c2000ware/libraries/math/IQmath/c28/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/c2000ware/libraries/math/FPUfastRTS/c28/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/c2000ware/libraries/control/DCL/c28/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/sfra/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/sfra/gui/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/utilities/datalog/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/fcl/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/position_sensing/qep/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/utilities/math_blocks/include/CLA_v1.0/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/utilities/math_blocks/include/v4.3" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/utilities/math_blocks/include/v4.3/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/dacs/dac128s085/include" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/solutions/common/sensored_foc/include/" --include_path="C:/ti/ccs1120/ccs/tools/compiler/ti-cgt-c2000_21.6.0.LTS/include" --include_path="C:/Users/khutchin/tiWorkspace/dspMotorController/motorControl386_cpu1" --include_path="C:/Users/khutchin/tiWorkspace/dspMotorController/motorControl386_cpu1/device" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/c2000ware/driverlib/f2838x/driverlib" --advice:performance=all --define=USE_20MHZ_XTAL --define=_DEBUG --define=LARGE_MODEL --define=CPU1 --define=DAC128S_ENABLE --define=DAC128S_SPIA --define=_DUAL_HEADERS --define=TEST_ENABLE --define=F2838x_DEVICE --define=DEBUG --diag_suppress=10063 --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi --preproc_with_compile --preproc_dependency="sources/servoDriveHal.d_raw" --include_path="C:/Users/khutchin/tiWorkspace/dspMotorController/motorControl386_cpu1/CPU1_RAM/syscfg" --obj_directory="sources"  "../sources/servoDriveHal.c"
    Finished building: "../sources/servoDriveHal.c"
     
    Building file: "../sources/servoDriveMain.c"
    Invoking: C2000 Compiler
    "C:/ti/ccs1120/ccs/tools/compiler/ti-cgt-c2000_21.6.0.LTS/bin/cl2000" -v28 -ml -mt --float_support=fpu32 --idiv_support=idiv0 --tmu_support=tmu0 --vcu_support=vcrc -O4 --opt_for_speed=5 --fp_mode=relaxed --include_path="../CPU1_RAM/" --include_path="C:/Users/khutchin/tiWorkspace/dspMotorController/motorControl386_cpu1/sources" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/c2000ware/device_support/f2838x/common/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/c2000ware/device_support/f2838x/headers/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/c2000ware/driverlib/f2838x/driverlib" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/c2000ware/libraries/math/IQmath/c28/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/c2000ware/libraries/math/FPUfastRTS/c28/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/c2000ware/libraries/control/DCL/c28/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/sfra/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/sfra/gui/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/utilities/datalog/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/fcl/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/position_sensing/qep/include/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/utilities/math_blocks/include/CLA_v1.0/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/utilities/math_blocks/include/v4.3" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/utilities/math_blocks/include/v4.3/" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/libraries/dacs/dac128s085/include" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/solutions/common/sensored_foc/include/" --include_path="C:/ti/ccs1120/ccs/tools/compiler/ti-cgt-c2000_21.6.0.LTS/include" --include_path="C:/Users/khutchin/tiWorkspace/dspMotorController/motorControl386_cpu1" --include_path="C:/Users/khutchin/tiWorkspace/dspMotorController/motorControl386_cpu1/device" --include_path="C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/c2000ware/driverlib/f2838x/driverlib" --advice:performance=all --define=USE_20MHZ_XTAL --define=_DEBUG --define=LARGE_MODEL --define=CPU1 --define=DAC128S_ENABLE --define=DAC128S_SPIA --define=_DUAL_HEADERS --define=TEST_ENABLE --define=F2838x_DEVICE --define=DEBUG --diag_suppress=10063 --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi --preproc_with_compile --preproc_dependency="sources/servoDriveMain.d_raw" --include_path="C:/Users/khutchin/tiWorkspace/dspMotorController/motorControl386_cpu1/CPU1_RAM/syscfg" --obj_directory="sources"  "../sources/servoDriveMain.c"
    "../sources/servoDriveMain.c", line 69: warning #179-D: variable "led2Cnt" was declared but never referenced
    "../sources/servoDriveMain.c", line 342: warning #179-D: variable "onVal" was declared but never referenced
    "../sources/servoDriveMain.c", line 343: warning #179-D: variable "offVal" was declared but never referenced
    "../sources/servoDriveMain.c", line 466: warning #179-D: function "scaleVoltageValue" was declared but never referenced
    Finished building: "../sources/servoDriveMain.c"
     
    Building target: "motorControl386_cpu1.out"
    Invoking: C2000 Linker
    "C:/ti/ccs1120/ccs/tools/compiler/ti-cgt-c2000_21.6.0.LTS/bin/cl2000" -v28 -ml -mt --float_support=fpu32 --idiv_support=idiv0 --tmu_support=tmu0 --vcu_support=vcrc -O4 --opt_for_speed=5 --fp_mode=relaxed --advice:performance=all --define=USE_20MHZ_XTAL --define=_DEBUG --define=LARGE_MODEL --define=CPU1 --define=DAC128S_ENABLE --define=DAC128S_SPIA --define=_DUAL_HEADERS --define=TEST_ENABLE --define=F2838x_DEVICE --define=DEBUG --diag_suppress=10063 --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi -z -m"motorControl386_cpu1.map" --heap_size=0x200 --stack_size=0x100 --warn_sections -i"C:/ti/ccs1120/ccs/tools/compiler/ti-cgt-c2000_21.6.0.LTS/lib" -i"C:/ti/ccs1120/ccs/tools/compiler/ti-cgt-c2000_21.6.0.LTS/include" --reread_libs --define=CLA_C --define=RAM --diag_wrap=off --display_error_number --xml_link_info="motorControl386_cpu1_linkInfo.xml" --entry_point=code_start --rom_model -o "motorControl386_cpu1.out" "./device/device.obj" "./device/f2838x_GlobalVariableDefs.obj" "./device/f2838x_codestartbranch.obj" "./syscfg/clb_config.obj" "./syscfg/clb_sim.obj" "./sources/dlog_4ch_f.obj" "./sources/fastControlLoop.obj" "./sources/fclPid.obj" "./sources/servoDriveHal.obj" "./sources/servoDriveMain.obj" "./sources/servoDriveUser.obj" "C:/ti/C2000Ware_MotorControl_SDK_3_02_00_00/c2000ware/driverlib/f2838x/driverlib/ccs/Release/driverlib.lib" "../device/2838x_RAM_lnk_cpu1.cmd" "../device/f2838x_Headers_nonBIOS_cpu1_eabi.cmd"  -llibc.a 
    <Linking>
    error: option --float_support=fpu64 is set in "printf.c", and is incompatible
       with the previously seen option --float_support=fpu32
    error: option --float_support=fpu64 is set in "fputc.c", and is incompatible
       with the previously seen option --float_support=fpu32
    error: option --float_support=fpu64 is set in "fputs.c", and is incompatible
       with the previously seen option --float_support=fpu32
    error: option --float_support=fpu64 is set in "_io_perm.c", and is incompatible
       with the previously seen option --float_support=fpu32
    error: option --float_support=fpu64 is set in "setvbuf.c", and is incompatible
       with the previously seen option --float_support=fpu32
    error: option --float_support=fpu64 is set in "s_frexp.c", and is incompatible
       with the previously seen option --float_support=fpu32
    error: option --float_support=fpu64 is set in "s_scalbn.c", and is incompatible
       with the previously seen option --float_support=fpu32
    error: option --float_support=fpu64 is set in "memcpy.c", and is incompatible
       with the previously seen option --float_support=fpu32
    error: option --float_support=fpu64 is set in "pre_init.c", and is incompatible
       with the previously seen option --float_support=fpu32
    error: option --float_support=fpu64 is set in "copy_zero_init.c", and is
       incompatible with the previously seen option --float_support=fpu32
    error: option --float_support=fpu64 is set in "copy_decompress_none.c", and is
       incompatible with the previously seen option --float_support=fpu32
    error: option --float_support=fpu64 is set in "copy_decompress_lzss.c", and is
       incompatible with the previously seen option --float_support=fpu32
    error: option --float_support=fpu64 is set in "_lock.c", and is incompatible
       with the previously seen option --float_support=fpu32
    error: option --float_support=fpu64 is set in "_ltoa.c", and is incompatible
       with the previously seen option --float_support=fpu32
    error: option --float_support=fpu64 is set in "atoi.c", and is incompatible
       with the previously seen option --float_support=fpu32
    error: option --float_support=fpu64 is set in "ctype.c", and is incompatible
       with the previously seen option --float_support=fpu32
    error: option --float_support=fpu64 is set in "defs.c", and is incompatible
       with the previously seen option --float_support=fpu32
    error: option --float_support=fpu64 is set in "memccpy.c", and is incompatible
       with the previously seen option --float_support=fpu32
    error: option --float_support=fpu64 is set in "memchr.c", and is incompatible
       with the previously seen option --float_support=fpu32
    error: option --float_support=fpu64 is set in "memory.c", and is incompatible
       with the previously seen option --float_support=fpu32
    error: option --float_support=fpu64 is set in "memset.c", and is incompatible
       with the previously seen option --float_support=fpu32
    error: option --float_support=fpu64 is set in "strchr.c", and is incompatible
       with the previously seen option --float_support=fpu32
    error: option --float_support=fpu64 is set in "strcpy.c", and is incompatible
       with the previously seen option --float_support=fpu32
    error: option --float_support=fpu64 is set in "strlen.c", and is incompatible
       with the previously seen option --float_support=fpu32
    error: option --float_support=fpu64 is set in "write.c", and is incompatible
       with the previously seen option --float_support=fpu32
    error: option --float_support=fpu64 is set in "host_device.c", and is
       incompatible with the previously seen option --float_support=fpu32
    error: option --float_support=fpu64 is set in "errno.c", and is incompatible
       with the previously seen option --float_support=fpu32
    error: option --float_support=fpu64 is set in "wcslen.c", and is incompatible
       with the previously seen option --float_support=fpu32
    error: option --float_support=fpu64 is set in "fflush.c", and is incompatible
       with the previously seen option --float_support=fpu32
    error: option --float_support=fpu64 is set in "fopen.c", and is incompatible
       with the previously seen option --float_support=fpu32
    error: option --float_support=fpu64 is set in "fseek.c", and is incompatible
       with the previously seen option --float_support=fpu32
    error: option --float_support=fpu64 is set in "s_copysign.c", and is
       incompatible with the previously seen option --float_support=fpu32
    error: option --float_support=fpu64 is set in "cpy_tbl.c", and is incompatible
       with the previously seen option --float_support=fpu32
    error: option --float_support=fpu64 is set in "hostclose.c", and is
       incompatible with the previously seen option --float_support=fpu32
    error: option --float_support=fpu64 is set in "hostlseek.c", and is
       incompatible with the previously seen option --float_support=fpu32
    error: option --float_support=fpu64 is set in "hostopen.c", and is incompatible
       with the previously seen option --float_support=fpu32
    error: option --float_support=fpu64 is set in "hostread.c", and is incompatible
       with the previously seen option --float_support=fpu32
    error: option --float_support=fpu64 is set in "hostrename.c", and is
       incompatible with the previously seen option --float_support=fpu32
    error: option --float_support=fpu64 is set in "hostunlink.c", and is
       incompatible with the previously seen option --float_support=fpu32
    error: option --float_support=fpu64 is set in "hostwrite.c", and is
       incompatible with the previously seen option --float_support=fpu32
    error: option --float_support=fpu64 is set in "open.c", and is incompatible
       with the previously seen option --float_support=fpu32
    error: option --float_support=fpu64 is set in "lseek.c", and is incompatible
       with the previously seen option --float_support=fpu32
    error: option --float_support=fpu64 is set in "fclose.c", and is incompatible
       with the previously seen option --float_support=fpu32
    error: option --float_support=fpu64 is set in "getdevice.c", and is
       incompatible with the previously seen option --float_support=fpu32
    error: option --float_support=fpu64 is set in "strcmp.c", and is incompatible
       with the previously seen option --float_support=fpu32
    error: option --float_support=fpu64 is set in "strncpy.c", and is incompatible
       with the previously seen option --float_support=fpu32
    error: option --float_support=fpu64 is set in "remove.c", and is incompatible
       with the previously seen option --float_support=fpu32
    error: option --float_support=fpu64 is set in "close.c", and is incompatible
       with the previously seen option --float_support=fpu32
    error: option --float_support=fpu64 is set in "unlink.c", and is incompatible
       with the previously seen option --float_support=fpu32
     
    >> Compilation failure
     
    >> Compilation failure
     
    >> Compilation failure
    makefile:157: recipe for target 'motorControl386_cpu1.out' failed
    fatal error #10192: Failed linktime optimization
    gmake[1]: *** [motorControl386_cpu1.out] Error 1
    makefile:153: recipe for target 'all' failed
    gmake: *** [all] Error 2
    
    **** Build Finished ****
    

    Thanks for your help

  • Hi,

    Do you have FPU32 selected  as the fpu_support option in your project? Looks like the compiler is picking the RTS library built with fpu64 option and is conflicting with your settings. Is there any specific reason you chose FPU32? The device has FPU64 accelerator which is much faster than FPU32

    Regards,

    Veena

  • I am only using float32_t, never float64. So I thought it made more sense to use FPU32.

    Is that not the case? Should I use FPU64 in all cases on this device?

    If I change to FPU64, it does compile successfully with full optimization selected. I was worried this change would be much slower to execute and take more memory. I could try to profile it.

    thanks.

  • FPU64 includes 32 bit float operations as well and should not take more cycles or memory compared to FPU32 accelerator

    Ideally, the compiler should have picked up the FPU32 based RTS library if the project uses fpu32 option. If you are not willing to change the option, you can use the rts2800_fpu32_eabi.lib library instead of using the index library libc.a

    Regards,

    Veena