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.

Mismatched ISA revisions

Other Parts Discussed in Thread: MOTORWARE

I'm getting the following linker errors:

error #16008-D: file
"c:/ti/ccsv6/tools/compiler/c2000_6.2.7/lib/rts2800_fpu32.lib<fd_neg.obj>"
specifies ISA revision "C28FPU32", which is not compatible with ISA revision
"C2700" specified in a previous file or on the command line

How do I locate the file that has ISA revision"C2700"?

  • none of the MotorWare projects are set-up with files that would give you this error.

    Which project did you import?

    what have you changed?

    if you want to use the FPU for your own code I recommend starting with a project set-up for the FPU. For example 2d uses FPU. You'll notice the link order here, it's critical as you want to resolve the ROM IQmath tables in our symbols file before you resolve other IQMath functions for the user code.

  • I see this thread is a bit old but I have the exact same problem as the creator of the thread. I have checked the linking order and put it the same as above but have problems with all the FPU32 libraries I use.

    For example:
    error #16008-D: file "../libs/IQmath_fpu32.lib<IQ24sinPU.obj>" specifies ISA revision "C28FPU32", which is not compatible with ISA revision C2700" specified in a previous file or on the command line

    "C:/CCS6/ccsv6/tools/compiler/c2000_6.4.11/lib/rts2800_fpu32.lib<_lock.obj>" specifies ISA revision "C28FPU32", which is not compatible with ISA revision "C2700" specified in a previous file or on the command line

    "../libs/2806xRevB_FastSpinROMSymbols_fpu32.lib<TMS320x2806x_REVB_boot_rom_out__EST_setRsOnLineId_pu_tmp.obj>" specifies ISA revision "C28FPU32", which is not compatible with ISA revision "C2700" specified in a previous file or on the command line

    If i put "#define MATH_TYPE FLOAT_MATH" in IQmathLib.h instead of IQ_MATH I do not get the errors above, but I get errors regarding shifting operations done in the code:

    "C:/ti/motorware/motorware_1_01_00_16/sw/modules/svgen/src/32b/svgen_current.h", line 257: error #31: expression must have integral type

    255: else if (svgencurrent->IgnoreShunt==ignore_ab)
    256: { // repair a and b based on c
    257: Ia = (-Ic)>>1; //Ia = (-Ic)/2;
    258: Ib = Ia; //Ib = Ia;
    259: }

    I used Lab11 for developing my code as this was recommended after a discussion on this forum.
  • Hi Jim,

    Maybe, some .lib don't support FPU32 in your projects, you need to exlude this lib and related functions, and don't use "#define MATH_TYPE FLOAT_MATH" in IQmathLib.h.

    In Lab 11, the "EST_getIdq_pu.lib" was not compiled by FPU32, and the "EST_getIdq_pu(estHandle,&gIdq_pu)" is from "EST_getIdq_pu.lib", so reported the error you met if you used FPU32 in Lab11.

    Best Regards,
    Yanming Luo
  • Thank you!

    You answered me another thread I created as well regarding this issue where I explain my thoughts.
    e2e.ti.com/.../540315