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.

"error #10234-D: unresolved symbols remain"

Other Parts Discussed in Thread: TMS320F28035, CONTROLSUITE

5810.SinglePhaseInverter.txt
Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
******************************************************************************
TMS320C2000 Linker PC v6.1.0
******************************************************************************
>> Linked Fri Jan 04 15:29:56 2013
OUTPUT FILE NAME: <SinglePhaseInverter.out>
ENTRY POINT SYMBOL: "_c_int00" address: 003f6b5f
MEMORY CONFIGURATION
name origin length used unused attr fill
---------------------- -------- --------- -------- -------- ---- --------
PAGE 0:
RAML0 00008000 00000800 0000010b 000006f5 RWIX
RAML1 00008800 00000400 00000000 00000400 RWIX
OTP 003d7800 00000400 00000000 00000400 RWIX
FLASHH 003e8000 00002000 00000000 00002000 RWIX
FLASHG 003ea000 00002000 00000000 00002000 RWIX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

I am trying to use the IQ math library for TMS320F28035 (fixed point, not fp core) using CCS5, and I keep getting the error: error #10234-D: unresolved symbols remain. I've pasted a snippet of the console window below.

I've included the IQmathLib.h and the PeripheralHeaderIncludes.h file in the main.c, as well as the build settings (see below). Finally, I've also added the IQmath.lib file to the build settings. I've attached the .map file (saved as .txt) for your reference.

Despite this (and I feel some of what I've done is redundant), I can't escape this error.

I've seen this error in many forum posts, but the answers given have not helped. Note that the simple IQmath example project compiles fine.

BR,

-Brian

undefined first referenced                   
  symbol       in file                        
 --------- ----------------                   
 __IQ21    ./SinglePhaseInverterClosedLoop.obj
 __IQ21mpy ./SinglePhaseInverterClosedLoop.obj

error #10234-D: unresolved symbols remain
error #10010: errors encountered during linking; "SinglePhaseInverter.out" not
   built

From Build Settings (C2000 Compiler)

-v28 -ml -mt --cla_support=cla0 -g --include_path="C:/TI/controlSUITE/libs/dsp/SGEN/v101/include" --include_path="C:/TI/controlSUITE/development_kits/~SupportFiles/F2803x_headers" --include_path="C:/TI/controlSUITE/libs/app_libs/solar/v1.0/IQ" --include_path="C:/TI/controlSUITE/libs/math/IQmath/v15b/lib" --include_path="C:/TI/controlSUITE/libs/math/IQmath/v15b/include" --include_path="C:/Documents and Settings/birving/TMS320f28035_files/DSP2803x_common/include" --include_path="C:/Documents and Settings/birving/TMS320f28035_files/compiler/c2000_6.1.0/include" --include_path="C:/Documents and Settings/birving/TMS320f28035_files/xdias_7_21_01_07/packages/ti/xdais" --include_path="C:/Documents and Settings/birving/TMS320f28035_files/DSP2803x_headers/include" --diag_warning=225 --display_error_number --asm_directory="C:/Documents and Settings/birving/workspace_v5_2/SinglePhaseInverter/Debug"

From Build Settings (C2000 Linker)

-v28 -ml -mt --cla_support=cla0 -g --diag_warning=225 --display_error_number --asm_directory="C:/Documents and Settings/birving/workspace_v5_2/SinglePhaseInverter/Debug" -z --stack_size=0x300 -m"SinglePhaseInverter.map" --warn_sections -i"C:/Program Files/controlSUITE/libs/dsp/SGEN/v101/lib" -i"C:/TI/controlSUITE/development_kits/~SupportFiles/F2803x_headers" -i"C:/TI/controlSUITE/libs/app_libs/solar/v1.0/IQ" -i"C:/TI/controlSUITE/libs/math/IQmath/v15b/lib" -i"C:/TI/controlSUITE/libs/math/IQmath/v15b/include" -i"C:/Documents and Settings/birving/TMS320f28035_files/DSP2803x_headers/include" -i"C:/Documents and Settings/birving/TMS320f28035_files/DSP2803x_common/include" -i"C:/Documents and Settings/birving/TMS320f28035_files/compiler/c2000_6.1.0/lib" -i"C:/Documents and Settings/birving/TMS320f28035_files/compiler/c2000_6.1.0/include" --reread_libs --display_error_number --rom_model

  • AAAAnnnnd, it looks like I found my problem: the order in which I include files.

    Working example:

    #include <PeripheralHeaderIncludes.h>
    #include "IQmathLib.h"
    #include "SPLL_1ph.h"             // Needed for PLL

    Non-working example:

    #include "SPLL_1ph.h"             // Needed for PLL

    #include <PeripheralHeaderIncludes.h>
    #include "IQmathLib.h"

    So this boils down to a discussion.

    1) is there a way to avoid having to be careful about specific order?

    2) In my previous post, did I overdo it with all of the includes and libraries?

  • Brian I. said:
    it looks like I found my problem: the order in which I include files

    No, that is not the problem.

    You got a Linker error - so that's long after all #includes and source-code issues have been done and dusted.

    If the problem had been with #includes, you would have got  Compiler errors...

    'Unresolved Symbol' Linker errors mean that you have promised and external symbol definition (eg, in a header file), but have failed to deliver an actual definition to the Linker. Commonly, this is because you have #included the headers in the source code, but not the actual libraries for the Linker.

     See: http://bit.ly/Sg3oRM

     

     

  • But the order of includes is the only thing that I changed, and everything is now working fine (i.e., not only has my unresolved error gone away, but I am able to correctly implement SPLL).

    Admittedly, I need to read (and actually understand) your previous reply, including the link that you posted. But at the moment, things are grand.