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.

Compiler/TMS320F28377D: The program size in cla of 28377d

Part Number: TMS320F28377D

Tool/software: TI C/C++ Compiler

hi!

I used 28377d to control motor. firstly i control the motor in cpu, then i move the same program to cla.

But after i compile my project, the program size has huge different, the program size in cpu is 0x333, then the program size in cla is 0x7d8. The same program in cla is much larger then in cpu.

Is't right? How to decrease the size in cla?
regards

shook

  • Hi Shook,

    Which compiler version are you using? And what compiler flags are you using?

    The CLA compiler has gotten much better recently. I suggest updating your compiler version and using a minimum of optimization level -O2

    Regards,
    sal
  • Additionally, the CLA is a floating point engine. If you are performing fixed-point math on the CLA, the code size will blow up and perform poorly.

    sal
  • Hi, sal
    My compiler version is v16.9.1, how to see the compiler flags in ccs7.
    The cpu compiler version is the same as cla ,why the cla's program size is larger the cpu.
    the all cla opcodes is 32 bits(whice said In SPRUHM8E 619 page) , but the cpu opcodes always is 16bits(I don't remember where i see this indication ). is there any reason with this?
    regards
    shook
  • The C28x opcodes are not all 16-bits. The C28x has 16 and 32-bit opcodes.

    This is the nature of the two different CPUs. the CLA is a floating point accelerator which only operates on 32-bit opcodes.

    Are you performing fixed point math? What is your CLA program doing?

    sal
  • My cla program was designed to calculate the parameter of motor control loop and control the motor control flow. But because the program size is too big, So now i only used cla to calculate the parameter of motor control loop.
    I used the float point math,because in the mose case, the parameter type are float.
    thank you
    regards
    shook
  • The F2837x has 0x3000 of LS RAM that can be used for CLA program and data. the 0x7d8 is able to fit in there if you are not using it by the C28x.

    sal