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.

TMS320F280049C: TMS320F280049 can't use Solar Library

Part Number: TMS320F280049C
Other Parts Discussed in Thread: TMS320F28069, TMS320F280049, C2000WARE

Tool/software:

Hello,

I’m running into two issues after switching from the TMS320F28069 to the TMS320F280049 when using the Solar library:

  1. “identifier ‘int32’ is undefined”
    These errors appear throughout the SPLL_1ph_IQ headers, which use types like int32, int16, etc. I added int32=int32_t to the compiler’s predefined symbols, which seems to solve these errors—but I’m not sure this is the correct or only fix.
  2. TI-COFF object files which are incompatible with the ELF output file. [45]<Linking>
    [46]warning #10373-D: library "/Applications/ti/Solar_lib/IQ/lib/Solar_Lib_IQ.lib" contains TI-COFF object files which are incompatible with the ELF output file.  Ensure you are using the proper library.
    [47]warning #10373-D: library "/Applications/ti/Solar_lib/IQ/lib/Solar_Lib_IQ.lib" contains TI-COFF object files which are incompatible with the ELF output file.  Ensure you are using the proper library.
    [48]Finished building target: "Notch_PLL.out" 
    [49]echo "========= 

I’m not sure how to resolve the second issue. My thought was to pull only the necessary .h and .c files into my project—avoiding the outdated F28069 .lib entirely—so I could bypass the compatibility error. However, I’d prefer to leverage TI’s pre-built library for its optimizations rather than re-implement everything myself.

For reference, I started from the “empty” C2000Ware example for the F280049.

Any guidance would be greatly appreciated.

  • One of our experts will get back to you on this soon

  • Hello,

    Let me answer your Qs in order as well.

    1. “identifier ‘int32’ is undefined”:

    Compiler macro is one way to do it, but it's a little bit hacky and needs to be ported from one project to another, can you define `typedef int32_t int32;` instead? (you can include stdint.h if int32_t isn't already defined).

    2. TI-COFF vs EABI:

    In the newer generation devices we have promoted EABI as the default abi, though TI-COFF is still supported. Looks like the Solar_Lib_IQ.lib is generated using TI-COFF format and therefore caused the incompatibility.

    In CCS20, can you right click the project and go into Properties->Tools-> C2000 Compiler and change the --abi= from eabi to coffabi?

    For future purposes though, I do recommend re-generating the .lib libarary in EABI. If you have the source code, you easily open another CCS (library) project and generate a new lib using EABI.

    Best,

    Sen Wang