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.

undefined first referenced symbol in file --------- ---------------- _SyncSocRegs ./IDDK_PM_Servo_F2837x.obj error #10234-D: unresolved symbols remain error #10010: errors encountered during linking; "CPU01.out" not built

Other Parts Discussed in Thread: CONTROLSUITE

下面是错误信息:

**** Build of configuration CPU1_RAM for project CPU01 ****

"D:\\ti\\ccsv7\\utils\\bin\\gmake" -k -j 4 all -O
'Building file: ../IDDK_PM_Servo_F2837x.c'
'Invoking: C2000 Compiler'
"D:/ti/ccsv7/tools/compiler/ti-cgt-c2000_16.9.4.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla1 --float_support=fpu32 --tmu_support=tmu0 --vcu_support=vcu2 --include_path="E:/CVTE_SERVOV2/CPU01" --include_path="D:/ti/ccsv7/tools/compiler/ti-cgt-c2000_16.9.4.LTS/include" --include_path="E:/CVTE_SERVOV2/CPU01/F2837xD_headers/include" --include_path="E:/CVTE_SERVOV2/CPU01/F2837xD_common/include" --include_path="E:/CVTE_SERVOV2/CPU01/include/v4.3" --include_path="E:/CVTE_SERVOV2/CPU01/include/IQmath/v160/include" --include_path="E:/CVTE_SERVOV2/CPU01/include/user" --define=CPU1 -g --diag_warning=225 --diag_wrap=off --display_error_number --preproc_with_compile --preproc_dependency="IDDK_PM_Servo_F2837x.d_raw" "../IDDK_PM_Servo_F2837x.c"
'Finished building: ../IDDK_PM_Servo_F2837x.c'
' '
'Building target: CPU01.out'
'Invoking: C2000 Linker'
"D:/ti/ccsv7/tools/compiler/ti-cgt-c2000_16.9.4.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla1 --float_support=fpu32 --tmu_support=tmu0 --vcu_support=vcu2 --define=CPU1 -g --diag_warning=225 --diag_wrap=off --display_error_number -z -m"CPU01.map" --stack_size=0x200 --warn_sections -i"D:/ti/ccsv7/tools/compiler/ti-cgt-c2000_16.9.4.LTS/lib" -i"D:/ti/ccsv7/tools/compiler/ti-cgt-c2000_16.9.4.LTS/include" -i"E:/CVTE_SERVOV2/CPU01/include/VCU/v2_10_00_00/lib" -i"E:/CVTE_SERVOV2/CPU01/include/IQmath/v160/lib" --reread_libs --diag_wrap=off --display_error_number --xml_link_info="CPU01_linkInfo.xml" --rom_model -o "CPU01.out" "./F2837xD_Adc.obj" "./F2837xD_CodeStartBranch.obj" "./F2837xD_DefaultISR.obj" "./F2837xD_EPwm.obj" "./F2837xD_Emif.obj" "./F2837xD_Gpio.obj" "./F2837xD_Ipc_Driver_Util.obj" "./F2837xD_PieCtrl.obj" "./F2837xD_PieVect.obj" "./F2837xD_SysCtrl.obj" "./F2837xD_usDelay.obj" "./IDDK_PM_Servo_F2837x.obj" "../2837x_RAM_lnk_cpu1.cmd" "../include/IQmath/v160/lib/IQmath_fpu32.lib" "../include/VCU/v2_10_00_00/lib/c28x_vcu0_crctables_library.lib" "../include/VCU/v2_10_00_00/lib/c28x_vcu0_crctables_library_fpu32.lib" "../include/VCU/v2_10_00_00/lib/c28x_vcu0_library.lib" "../include/VCU/v2_10_00_00/lib/c28x_vcu0_library_fpu32.lib" "../include/VCU/v2_10_00_00/lib/c28x_vcu2_library.lib" "../include/VCU/v2_10_00_00/lib/c28x_vcu2_library_fpu32.lib" "../include/bissc/Float/lib/PM_bissC_Lib.lib" "../include/endat22/Float/lib/PM_endat22_lib.lib" "../include/resolver/v101/lib/Resolver_Lib_CLA_fixed.lib" "../include/resolver/v101/lib/Resolver_Lib_CLA_float.lib" "../include/resolver/v101/lib/Resolver_Lib_Fixed.lib" "../include/resolver/v101/lib/Resolver_Lib_Float.lib" "../include/resolver/v101/lib/Resolver_Lib_Float_TMU0.lib" -llibc.a -lIQmath_fpu32.lib -lc28x_vcu0_library_fpu32.lib -lrts2800_fpu32.lib
<Linking>
warning #10247-D: creating output section "ramfuncs" without a SECTIONS specification
warning #10247-D: creating output section "SHARERAMGS2" without a SECTIONS specification
warning #10247-D: creating output section "SHARERAMGS3" without a SECTIONS specification
warning #10247-D: creating output section "EmuKeyVar" without a SECTIONS specification
warning #10247-D: creating output section "EmuBModeVar" without a SECTIONS specification
warning #10247-D: creating output section "RomWaitStateRegsFile" without a SECTIONS specification
warning #10247-D: creating output section "RomPrefetchRegsFile" without a SECTIONS specification
warning #10247-D: creating output section "Cla1SoftIntRegsFile" without a SECTIONS specification
warning #10247-D: creating output section "TrigRegsFile" without a SECTIONS specification
warning #10247-D: creating output section "NmiIntruptRegsFile" without a SECTIONS specification
warning #10247-D: creating output section "DcsmCommonRegsFile" without a SECTIONS specification
warning #10247-D: creating output section "DacaRegsFile" without a SECTIONS specification
warning #10247-D: creating output section "DacbRegsFile" without a SECTIONS specification
warning #10247-D: creating output section "DaccRegsFile" without a SECTIONS specification
warning #10247-D: creating output section "CpuTimer1RegsFile" without a SECTIONS specification
warning #10247-D: creating output section "CpuTimer2RegsFile" without a SECTIONS specification
warning #10247-D: creating output section "CpuTimer0RegsFile" without a SECTIONS specification
warning #10247-D: creating output section "XintRegsFile" without a SECTIONS specification
warning #10247-D: creating output section "ScicRegsFile" without a SECTIONS specification
warning #10247-D: creating output section "ScibRegsFile" without a SECTIONS specification
warning #10247-D: creating output section "***" without a SECTIONS specification
warning #10247-D: creating output section "SpiaRegsFile" without a SECTIONS specification
warning #10247-D: creating output section "ScidRegsFile" without a SECTIONS specification
warning #10247-D: creating output section "SpibRegsFile" without a SECTIONS specification
warning #10247-D: creating output section "SciaRegsFile" without a SECTIONS specification
warning #10247-D: creating output section "AdccResultFile" without a SECTIONS specification
warning #10247-D: creating output section "AdcbResultFile" without a SECTIONS specification
warning #10247-D: creating output section "AdcdResultFile" without a SECTIONS specification
warning #10247-D: creating output section "AdcaResultFile" without a SECTIONS specification
warning #10247-D: creating output section "PieCtrlRegsFile" without a SECTIONS specification
warning #10247-D: creating output section "DmaClaSrcSelRegsFile" without a SECTIONS specification
warning #10247-D: creating output section "ECap2RegsFile" without a SECTIONS specification
warning #10247-D: creating output section "ECap5RegsFile" without a SECTIONS specification
warning #10247-D: creating output section "ECap3RegsFile" without a SECTIONS specification
warning #10247-D: creating output section "ECap4RegsFile" without a SECTIONS specification
warning #10247-D: creating output section "Emif1ConfigRegsFile" without a SECTIONS specification
warning #10247-D: creating output section "Emif2ConfigRegsFile" without a SECTIONS specification
warning #10247-D: creating output section "InputXbarRegsFile" without a SECTIONS specification
warning #10247-D: creating output section "XbarRegsFile" without a SECTIONS specification
warning #10247-D: creating output section "Cmpss3RegsFile" without a SECTIONS specification
warning #10247-D: creating output section "Cmpss8RegsFile" without a SECTIONS specification
warning #10247-D: creating output section "Cmpss1RegsFile" without a SECTIONS specification
warning #10247-D: creating output section "Cmpss2RegsFile" without a SECTIONS specification
warning #10247-D: creating output section "Cmpss5RegsFile" without a SECTIONS specification
warning #10247-D: creating output section "Cmpss4RegsFile" without a SECTIONS specification
warning #10247-D: creating output section "Cmpss7RegsFile" without a SECTIONS specification
warning #10247-D: creating output section "Cmpss6RegsFile" without a SECTIONS specification
warning #10247-D: creating output section "DcsmZ1OtpFile" without a SECTIONS specification
warning #10247-D: creating output section "ECap1RegsFile" without a SECTIONS specification
warning #10247-D: creating output section "DcsmZ2OtpFile" without a SECTIONS specification
warning #10247-D: creating output section "ECap6RegsFile" without a SECTIONS specification
warning #10247-D: creating output section "I2cbRegsFile" without a SECTIONS specification
warning #10247-D: creating output section "I2caRegsFile" without a SECTIONS specification
warning #10247-D: creating output section "EQep1RegsFile" without a SECTIONS specification
warning #10247-D: creating output section "EQep2RegsFile" without a SECTIONS specification
warning #10247-D: creating output section "EQep3RegsFile" without a SECTIONS specification
warning #10247-D: creating output section "McbspbRegsFile" without a SECTIONS specification
warning #10247-D: creating output section "McbspaRegsFile" without a SECTIONS specification
warning #10247-D: creating output section "DcsmZ2RegsFile" without a SECTIONS specification
warning #10247-D: creating output section "DcsmZ1RegsFile" without a SECTIONS specification
warning #10247-D: creating output section "IpcRegsFile" without a SECTIONS specification
warning #10247-D: creating output section "Flash0EccRegsFile" without a SECTIONS specification
warning #10247-D: creating output section "WdRegsFile" without a SECTIONS specification
warning #10247-D: creating output section "GpioDataRegsFile" without a SECTIONS specification
warning #10247-D: creating output section "ClkCfgRegsFile" without a SECTIONS specification
warning #10247-D: creating output section "Cla1RegsFile" without a SECTIONS specification
warning #10247-D: creating output section "AccessProtectionRegsFile" without a SECTIONS specification
warning #10247-D: creating output section "OutputXbarRegsFile" without a SECTIONS specification
warning #10247-D: creating output section "MemoryErrorRegsFile" without a SECTIONS specification
warning #10247-D: creating output section "EPwmXbarRegsFile" without a SECTIONS specification
warning #10247-D: creating output section "UppRegsFile" without a SECTIONS specification
warning #10247-D: creating output section "AnalogSubsysRegsFile" without a SECTIONS specification
warning #10247-D: creating output section "Emif2RegsFile" without a SECTIONS specification
warning #10247-D: creating output section "Emif1RegsFile" without a SECTIONS specification
warning #10247-D: creating output section "AdcdRegsFile" without a SECTIONS specification
warning #10247-D: creating output section "AdcaRegsFile" without a SECTIONS specification
warning #10247-D: creating output section "AdcbRegsFile" without a SECTIONS specification
warning #10247-D: creating output section "AdccRegsFile" without a SECTIONS specification
warning #10247-D: creating output section "Sdfm1RegsFile" without a SECTIONS specification
warning #10247-D: creating output section "Sdfm2RegsFile" without a SECTIONS specification
warning #10247-D: creating output section "MemCfgRegsFile" without a SECTIONS specification
warning #10247-D: creating output section "CpuSysRegsFile" without a SECTIONS specification
warning #10247-D: creating output section "DmaRegsFile" without a SECTIONS specification
warning #10247-D: creating output section "EPwm5RegsFile" without a SECTIONS specification
warning #10247-D: creating output section "EPwm4RegsFile" without a SECTIONS specification
warning #10247-D: creating output section "EPwm7RegsFile" without a SECTIONS specification
warning #10247-D: creating output section "EPwm2RegsFile" without a SECTIONS specification
warning #10247-D: creating output section "EPwm1RegsFile" without a SECTIONS specification
warning #10247-D: creating output section "EPwm6RegsFile" without a SECTIONS specification
warning #10247-D: creating output section "EPwm3RegsFile" without a SECTIONS specification
warning #10247-D: creating output section "EPwm11RegsFile" without a SECTIONS specification
warning #10247-D: creating output section "EPwm12RegsFile" without a SECTIONS specification
warning #10247-D: creating output section "EPwm9RegsFile" without a SECTIONS specification
warning #10247-D: creating output section "EPwm10RegsFile" without a SECTIONS specification
warning #10247-D: creating output section "EPwm8RegsFile" without a SECTIONS specification
warning #10247-D: creating output section "DevCfgRegsFile" without a SECTIONS specification
warning #10247-D: creating output section "GpioCtrlRegsFile" without a SECTIONS specification
warning #10247-D: creating output section "Flash0CtrlRegsFile" without a SECTIONS specification
warning #10247-D: creating output section "PieVectTableFile" without a SECTIONS specification

undefined first referenced
symbol in file
--------- ----------------
_SyncSocRegs ./IDDK_PM_Servo_F2837x.obj

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

>> Compilation failure
makefile:179: recipe for target 'CPU01.out' failed
makefile:175: recipe for target 'all' failed
gmake[1]: *** [CPU01.out] Error 1
gmake: *** [all] Error 2

**** Build Finished ****

根据上面错误提示,

SyncSocRegs.SYNCSELECT.bit.EPWM4SYNCIN = 0; //EPwm1SyncOut
SyncSocRegs.SYNCSELECT.bit.EPWM10SYNCIN = 0; //EPwm1Sync Out

SyncSocRegs这个符号是在头文件F2837xD_sysctrl.h,已经包含了这个头文件了,为啥还会报错呢?

  • 请问用的是最新controlsuite中的例程吗?

    删掉工程中的IDDK_Servo_2837x_FLASH_lnk_cpu1.cmd文件再编译试下!

  • <Linking>
    warning #16002-D: build attribute vendor section TI missing in "C:\ti\workspace_v5_2\bldc_a\DSP281x_common\Lib\IQmath.lib<IQ20div.obj>": compatibility cannot be determined

    warning #16002-D: build attribute vendor section TI missing in "C:\ti\workspace_v5_2\bldc_a\DSP281x_common\Lib\IQmath.lib<IQ20int.obj>": compatibility cannot be determined
    >> Compilation failure
    warning #16002-D: build attribute vendor section TI missing in "C:\ti\workspace_v5_2\bldc_a\DSP281x_common\Lib\IQmath.lib<IQmathTables.obj>": compatibility cannot be determined
    warning #10247-D: creating output section "reset_vec" without a SECTIONS specification

    undefined first referenced
    symbol in file
    --------- ----------------
    _Capt ./DSP281x_headers/source/main.obj
    _SPEED_CAP_handle ./DSP281x_headers/source/main.obj
    _SPEED_COUNT ./DSP281x_headers/source/main.obj
    _Sdc_Set ./DSP281x_headers/source/main.obj
    _T2_PR ./DSP281x_common/source/DSP281x_Ev.obj
    __FtoIQ ./DSP281x_headers/source/main.obj
    _duty ./DSP281x_headers/source/main.obj
    _i ./DSP281x_headers/source/main.obj
    _pi_Sdc ./DSP281x_headers/source/main.obj
    _pid_spd ./DSP281x_headers/source/main.obj

    error #10234-D: unresolved symbols remain
    error #10010: errors encountered during linking; "bldc_a.out" not built
    gmake: *** [bldc_a.out] Error 1
    gmake: Target `all' not remade because of errors.

    **** Build Finished ****

    老师您好,我的也出现了这种情况,我用的是TI网站上下载的F2812的例程,在这个例程的基础上改的,
    struct PIS
    {
    float pi_ref_reg;//电机的给定速度
    _iq pi_fdb_reg;//电机的反馈速度
    _iq S_reg;//经过速度PI调节后的速度值
    _iq S_OutMax;
    _iq S_Outmin;//速度范围
    };
    extern volatile struct PIS pi_Sdc;/*速度PI调节器的输入输出值*/

    struct PID
    {
    _iq Kp;
    _iq Ki;
    _iq Kd;
    _iq OutMax;
    _iq Outmin;
    };
    extern volatile struct PID pid_spd;/*速度PI调节器的参数*/

    //速度计算结构体
    struct SPEED_CAP
    {
    float EventPeriod;//捕获的时间间隔
    float SpeedScaler;//转换到标幺值的预定标
    Uint32 BaseRpm;//转速基值
    Uint32 SpeedRpm;//转速实际值
    _iq Speed;//转速标幺值
    };
    extern volatile struct SPEED_CAP SPEED_CAP_handle;

    extern Uint16 SPEED_REF;
    extern _iq S_Inte;
    extern Uint16 SPEED_COUNT;
    extern float Sdc_Set;
    //extern Uint16 Capt;//霍尔信号的状态
    extern Uint16 T2_PR;//通用定时器T2的周期寄存器值
    extern Uint16 i;//捕获中断的记数点
    extern Uint32 duty;//占空比
    extern int m;
    #endif
    在上面报错的变量和结构体都已经在DSP28_GlobalVariable.h中定义了,而且DSP28_GlobalVariable.h也在已经声明了,怎么还会出现这种错误?
    还麻烦老师指导。谢谢老师