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/TMS320F280041: TMS320F280041 could not resolve index library "IQmath.lib" to a compatible library

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

Tool/software: Code Composer Studio

Hello! I have a trouble with installing the IQmath library in project for TMS320F280041 MCU. I set the search path in linker settings "C:\ti\c2000\C2000Ware_3_02_00_00\libraries\math\IQmath\c28\lib", and in compiler settings "C:\ti\c2000\C2000Ware_3_02_00_00\libraries\math\IQmath\c28\include". I have include header "#include "IQmathLib.h". But in result of compilation CCS give me message "warning #10204-D: could not resolve index library "IQmath.lib" to a compatible library". Help me please!!!

  • You added fixed point library, but I think you enabled FPU in the compiler option.
    If you want to use FPU, you have to include floating-point libraries. This means that IQmath_fpu32.lib should be included instead of IQmath.lib.

    Also you need to set MATH_TYPE in the iQmathLib.h file for using IQ math. Because F28004x supports FPU, the default MATH_TYPE is FLOAT_MATH. In other words, all IQ math libraries will work as floating point calculation in FLOAT_MATH type.

    #define FLOAT_MATH 1
    #define IQ_MATH 0

    Regards,
    Steve

  • Steve, thank you for answer. I have change library to "IQmath_fpu32.lib". When I try to compute y= _IQmpy(x, x), it working correctly. But when I try to use _IQsqrt function, CCS write me a messages:

    warning #10247-D: creating output section "IQmath" without a SECTIONS specification
    warning #10247-D: creating output section "IQmathTables" without a SECTIONS specification

    And if I try to start debugger, it crash because can not write some parts of Flash. I can not find IQmathTables addresses for TMS320F280041 in any TI documents and examples...

  • Hi Roman,

    Sorry but, I gave the wrong advice. You have to change MATH_TYPE from IQ_MATH to FLOAT_MATH in IQmathLib.h as following.
    #define   MATH_TYPE      FLOAT_MATH

    Then _IQsqrt() will be interpreted as sqrt() that use TMU, not IQ math table.

    Regards,
    Steve

  • Steve, I did it, and IQ functions now work. But all IQ values now become float!

    My task is to port a big project with integer-value IQ-s from TMS320F28035 to TMS320F280041, and so I need integer-value IQmath library. Is it possible to install integer-value IQmath library to TMS320F280041 project? And if it possible, how to do this?

    The old project is a control system of uninterruptable power supply, and it has many assembly modules, which use integer-value IQ. It is a great work to rewrite all modules to float and debug it.

  • Roman,

    You can also use fixed-point IQ format in the following way.
    1) Set MATH_TYPE as  IQ_MATH in IQmathLib.h

    2) Replace cmd file with "28004x_iqmath_flash_lnk.cmd' for FLASH mode or "28004x_iqmath_rum_lnk.cmd' for RAM mode in the C2000Ware directory (device_support\f28004x\common\cmd).

    Regards,
    Steve

  • Steve, thank you for help. I used IQ tables addresses from this .cmd file and my project working correctly now.