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.

CCS/TMS320F28335: About CCS7 build trouble for TMS320F28335.

Part Number: TMS320F28335
Other Parts Discussed in Thread: C2000WARE

Tool/software: Code Composer Studio

A customer has complained about the following trouble of CCSv7.

The used example is C2000Ware_1_00_01_00\device_support\f2833x\examples\fpu_hardware. I attached the project zip. Example_2833xFPU_hardware.zip

1) He remade its main() as bellow;

#include <math.h>

double z1;

    z1 = sqrt(2.0);
    z1 = pow(2.0, 1.5);

2) Get error messages while building in the console;

'Example_2833xFPU_hardware.out' failed

error: symbol "_sqrt" redefined: first defined in

   "C:/ti/tirex-content/C2000Ware_1_00_01_00/libraries/math/FPUfastRTS/c28/lib/

 

He says no trouble with CCSv5.5 and wants to use rts2800_ fpu32_fast_supplement.lib to speed up his processing. Please, let us know aboutworkarounds of this trouble.

Best regards,
Kazuo Yamauchi

  • Yamauchi-san,
    Please see the below thread:
    e2e.ti.com/.../569552

    Thank you
    ki
  • Hello Ki-Soo Lee,

    Thanks for your support.

    Regret to say, I couldn’t resolve this trouble by the way you suggested.

    1.  I wonder the two libraries, 1) and 2), can’t be used in combination.

      z1= sqrt(2.0);         …1) rts2800_ fpu32_fast_supplement.lib

      z1=pow(2.0,1.5);      ... 2) rst2800_fpu32.lib

     

    2.  error: symbol "_sqrt" redefined:

    first defined in

       "C:/ti/tirex-content/C2000Ware_1_00_01_00/libraries/math/FPUfastRTS/c28/lib/

       rts2800_fpu32_fast_supplement.lib<sqrt_f32.obj>";    …1)

    redefined in

       "C:/ti/ccsv7/tools/compiler/ti-cgt-c2000_16.9.5.LTS/lib/rts2800_fpu32.lib<e_sqrtf.obj>"    …2)


    3.  Link Order;

    4.  The processing time of sqrt function in fpu32_fast_supplement.lib is faster than fpu32.lib as bellow. So the client wants to use fpu32_fast_supplement.lib. This optimize level is register.

    Test code;

            // Toggle GPIO34

            GpioDataRegs.GPBTOGGLE.bit.GPIO34 = 1;

            z1 = sqrt(2.0);

            GpioDataRegs.GPBTOGGLE.bit.GPIO34 = 1;

            {

                volatile unsigned int cnt;

                for ( cnt =5; cnt>0; cnt-- ) {}

            }

     

    Best regards,
    Kazuo Yamauchi

  • The root of your problem is in the library rts2800_fpu_fast_supplement.lib.  While I cannot confirm it, I am confident this bug is fixed in later versions of that library.  So, if it is not too much trouble, please try to upgrade that library, or the package that supplies it.

    Thanks and regards,

    -George

  • Hello George,
    Thanks for your support.
    In the result, I could resolve this trouble, I asked the customer to rename sqrt function of the rts2800_ fpu32_fast_supplement.lib
    Best regards,
    Kazuo Yamauchi