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/TMS320F28035: How to include IQmath library

Part Number: TMS320F28035
Other Parts Discussed in Thread: CONTROLSUITE, C2000WARE

Tool/software: Code Composer Studio

Hey there,

I am using Code Composer Studio Version 8.0.0.00016 to program a TMS320F28035 microcontroller.
I want to use the IQmath library (especially _IQdiv).
Therefore I included the Headerfile IQmathLib.h and IQmath.lib in file search path as shwon in the attached picture.

But if I try to compile my project, I get the following warning:

>> Compilation failure

makefile:165: recipe for target xxx.out' failed

undefined first referenced

symbol in file

--------- ----------------

FD$$MPY ./yyy.obj

FD$$TOL ./yyy.obj

FS$$ADD ./yyy.obj

FS$$DIV ./yyy.obj

FS$$MPY ./yyy.obj

FS$$TOFD ./yyy.obj

FS$$TOL ./yyy.obj

FS$$TOU ./yyy.obj

FS$$TOUL ./yyy.obj

L$$TOFS ./yyy.obj

LL$$AND ../lib/commros_28xx_c_full.lib<commros.obj>

LL$$CMP ../lib/commros_28xx_c_full.lib<Datalogger.obj>

LL$$OR ../lib/commros_28xx_c_full.lib<commros.obj>

U$$TOFS ./yyy.obj

UL$$TOFS ./zzz.obj

_memset ./zzz.obj

error: unresolved symbols remain

error: errors encountered during linking;

"xxx.out" not built

gmake: *** [xxx.out] Error 1

gmake: Target 'all' not remade because of errors.

**** Build Finished ****

Can you help me here, please?

Thanks in advance,
Sarah

  • Sarah,

    I tried building the 28035_IQsampleC project in ControlSUITE but it pops an error

    "Product 'XDAIS' v0.0 is not currently installed and no compatible version is available. Please install this product or a compatible version."

    So I used C2000Ware (which is what you should be using, not ControlSUITE), and the same project, located at C2000Ware_1_00_06_00\libraries\math\IQmath\c28\examples\C\2803x builds without error.

    I mention this because you would start with this and check that it builds properly, and then use it as reference for your own project where you are trying to include IQMath.

    Thanks,
    Sira
  • Hey Sira,

    I found the 28035_IQsampleC project in controlSUITE, but it wasn't possible to import it in ccs.
    When I selected the search-directory in the Import GUI, ccs discovered no projects.
    And I don't have C2000Ware...

    Referring to www.ti.com/.../controlsuite under "Features" IQMath library is part of controlSUITE.
    In the related thread (https://e2e.ti.com/support/microcontrollers/c2000/f/171/t/225128) somebody had exactly the same problem, I have, and he solved it by adding the IQMath.lib-File in the "File Search Path".
    This one is what I have done, too, as you can see in my last post. Therefore I used the instructions under e2e.ti.com/.../612994 . But it didn't help.

    Browsing the internet I found out, that I maybe missed some settings in "include options".
    But I have no idea, how to set everything correctly...
    I am a little bit desperate.

    I attached a picture of my current "include options".

    Something that attracted my attention is, that there are some warnings. I attached a picture of them, too. The same paths are also greyed out in the include folder of my project.

    If I go to the disguised path in my file explorer outside ccs, I can't find the following folders written down in the warnngs. There is just a file called ".project" and two different folders.

    I have no more idea, which setting to set or correct...

    Can you please help me here?

    Thanks in advance,
    Sarah

  • Sarah,

    I think basically you are doing the right things i.e.

    1. you have IQmathlib.h included in the project (I am assuming this is the case)
    2. you have IQmath.lib included in the project (either through explicit inclusion or through project build options)

    So the one thing that you could check is your linker cmd file. Are you using a cmd file that's based off the cmd file in the IQmath lib example?

    Thanks,
    Sira
  • Hey Sira,

    Thanks for help.

    I checked the linker file an found no relevant difference to the example.

    But I found out the problem myself: The warning warning entry point symbol _c_int00 undefined was the root,
    which causes all the following problems.
    Referring to processors.wiki.ti.com/.../C28x_Code_Generation_Tips_and_Tricks the rts library defines the _c_int00 bootstrap routine.
    I think, this is somehow needed to include the IQmath.lib correctly.

    So what I had to do, was including the rts2800_ml.lib.
    After that my settings in File search path look like:


    Now I am able to build my project.
    One more time: Thank you for help!

    Sarah :)