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 v8进行编译时,遇到重复性定义错误,已解决。又产生新的疑问,望小弟能得到大佬们的帮助

Other Parts Discussed in Thread: TMS320F28335

今天学习了TMS320F28335的ADC模块,用CCS v8编译自己写的代码时出现以下错误。

error #10056: symbol "_ILLEGAL_ISR" redefined: first defined in "./source/DSP2833x_DefaultIsr.obj"; redefined in "./source/DSP2833x_SWPrioritizedDefaultIsr.obj"

error #10056: symbol "_EPWM6_INT_ISR" redefined: first defined in "./source/DSP2833x_DefaultIsr.obj"; redefined in "./source/DSP2833x_SWPrioritizedDefaultIsr.obj"

error #10056: symbol "_DATALOG_ISR" redefined: first defined in "./source/DSP2833x_DefaultIsr.obj"; redefined in "./source/DSP2833x_SWPrioritizedDefaultIsr.obj"

error #10056: symbol "_SPITXINTA_ISR" redefined: first defined in "./source/DSP2833x_DefaultIsr.obj"; redefined in "./source/DSP2833x_SWPrioritizedDefaultIsr.obj"

error #10056: symbol "_SPIRXINTA_ISR" redefined: first defined in "./source/DSP2833x_DefaultIsr.obj"; redefined in "./source/DSP2833x_SWPrioritizedDefaultIsr.obj"

error #10056: symbol "_SEQ1INT_ISR" redefined: first defined in "./source/DSP2833x_DefaultIsr.obj"; redefined in "./source/DSP2833x_SWPrioritizedDefaultIsr.obj"

error #10056: symbol "_ECAP3_INT_ISR" redefined: first defined in "./source/DSP2833x_DefaultIsr.obj"; redefined in "./source/DSP2833x_SWPrioritizedDefaultIsr.obj"

error #10056: symbol "_INT13_ISR" redefined: first defined in "./source/DSP2833x_DefaultIsr.obj"; redefined in "./source/DSP2833x_SWPrioritizedDefaultIsr.obj"

error #10056: symbol "_EPWM4_INT_ISR" redefined: first defined in "./source/DSP2833x_DefaultIsr.obj"; redefined in "./source/DSP2833x_SWPrioritizedDefaultIsr.obj"

error #10056: symbol "_USER5_ISR" redefined: first defined in "./source/DSP2833x_DefaultIsr.obj"; redefined in "./source/DSP2833x_SWPrioritizedDefaultIsr.obj"

error #10056: symbol "_EMPTY_ISR" redefined: first defined in "./source/DSP2833x_DefaultIsr.obj"; redefined in "./source/DSP2833x_SWPrioritizedDefaultIsr.obj"

error #10056: symbol "_EPWM5_TZINT_ISR" redefined: first defined in "./source/DSP2833x_DefaultIsr.obj"; redefined in "./source/DSP2833x_SWPrioritizedDefaultIsr.obj"

error #10056: symbol "_EPWM4_TZINT_ISR" redefined: first defined in "./source/DSP2833x_DefaultIsr.obj"; redefined in "./source/DSP2833x_SWPrioritizedDefaultIsr.obj"

error #10056: symbol "_ECAN0INTA_ISR" redefined: first defined in "./source/DSP2833x_DefaultIsr.obj"; redefined in "./source/DSP2833x_SWPrioritizedDefaultIsr.obj"

error #10056: symbol "_EPWM6_TZINT_ISR" redefined: first defined in "./source/DSP2833x_DefaultIsr.obj"; redefined in "./source/DSP2833x_SWPrioritizedDefaultIsr.obj"

error #10056: symbol "_EMUINT_ISR" redefined: first defined in "./source/DSP2833x_DefaultIsr.obj"; redefined in "./source/DSP2833x_SWPrioritizedDefaultIsr.obj"

error #10056: symbol "_ECAP1_INT_ISR" redefined: first defined in "./source/DSP2833x_DefaultIsr.obj"; redefined in "./source/DSP2833x_SWPrioritizedDefaultIsr.obj"

error #10056: symbol "_EPWM1_TZINT_ISR" redefined: first defined in "./source/DSP2833x_DefaultIsr.obj"; redefined in "./source/DSP2833x_SWPrioritizedDefaultIsr.obj"

error #10056: symbol "_EQEP2_INT_ISR" redefined: first defined in "./source/DSP2833x_DefaultIsr.obj"; redefined in "./source/DSP2833x_SWPrioritizedDefaultIsr.obj"

error #10056: symbol "_USER11_ISR" redefined: first defined in "./source/DSP2833x_DefaultIsr.obj"; redefined in "./source/DSP2833x_SWPrioritizedDefaultIsr.obj"

error #10056: symbol "_EPWM3_TZINT_ISR" redefined: first defined in "./source/DSP2833x_DefaultIsr.obj"; redefined in "./source/DSP2833x_SWPrioritizedDefaultIsr.obj"

error #10056: symbol "_USER4_ISR" redefined: first defined in "./source/DSP2833x_DefaultIsr.obj"; redefined in "./source/DSP2833x_SWPrioritizedDefaultIsr.obj"

error #10056: symbol "_EPWM2_TZINT_ISR" redefined: first defined in "./source/DSP2833x_DefaultIsr.obj"; redefined in "./source/DSP2833x_SWPrioritizedDefaultIsr.obj"

error #10056: symbol "_EPWM2_INT_ISR" redefined: first defined in "./source/DSP2833x_DefaultIsr.obj"; redefined in "./source/DSP2833x_SWPrioritizedDefaultIsr.obj"

error #10056: symbol "_ECAN0INTB_ISR" redefined: first defined in "./source/DSP2833x_DefaultIsr.obj"; redefined in "./source/DSP2833x_SWPrioritizedDefaultIsr.obj"

error #10056: symbol "_TINT0_ISR" redefined: first defined in "./source/DSP2833x_DefaultIsr.obj"; redefined in "./source/DSP2833x_SWPrioritizedDefaultIsr.obj"

error #10056: symbol "_WAKEINT_ISR" redefined: first defined in "./source/DSP2833x_DefaultIsr.obj"; redefined in "./source/DSP2833x_SWPrioritizedDefaultIsr.obj"

error #10056: symbol "_USER10_ISR" redefined: first defined in "./source/DSP2833x_DefaultIsr.obj"; redefined in "./source/DSP2833x_SWPrioritizedDefaultIsr.obj"

error #10056: symbol "_USER7_ISR" redefined: first defined in "./source/DSP2833x_DefaultIsr.obj"; redefined in "./source/DSP2833x_SWPrioritizedDefaultIsr.obj"

error #10056: symbol "_XINT1_ISR" redefined: first defined in "./source/DSP2833x_DefaultIsr.obj"; redefined in "./source/DSP2833x_SWPrioritizedDefaultIsr.obj"

error #10056: symbol "_INT14_ISR" redefined: first defined in "./source/DSP2833x_DefaultIsr.obj"; redefined in "./source/DSP2833x_SWPrioritizedDefaultIsr.obj"

error #10056: symbol "_USER6_ISR" redefined: first defined in "./source/DSP2833x_DefaultIsr.obj"; redefined in "./source/DSP2833x_SWPrioritizedDefaultIsr.obj"

error #10056: symbol "_ECAP4_INT_ISR" redefined: first defined in "./source/DSP2833x_DefaultIsr.obj"; redefined in "./source/DSP2833x_SWPrioritizedDefaultIsr.obj"

error #10056: symbol "_USER12_ISR" redefined: first defined in "./source/DSP2833x_DefaultIsr.obj"; redefined in "./source/DSP2833x_SWPrioritizedDefaultIsr.obj"

error #10056: symbol "_ADCINT_ISR" redefined: first defined in "./source/DSP2833x_DefaultIsr.obj"; redefined in "./source/DSP2833x_SWPrioritizedDefaultIsr.obj"

error #10056: symbol "_USER1_ISR" redefined: first defined in "./source/DSP2833x_DefaultIsr.obj"; redefined in "./source/DSP2833x_SWPrioritizedDefaultIsr.obj"

error #10056: symbol "_EPWM5_INT_ISR" redefined: first defined in "./source/DSP2833x_DefaultIsr.obj"; redefined in "./source/DSP2833x_SWPrioritizedDefaultIsr.obj"

error #10056: symbol "_NMI_ISR" redefined: first defined in "./source/DSP2833x_DefaultIsr.obj"; redefined in "./source/DSP2833x_SWPrioritizedDefaultIsr.obj"

error #10056: symbol "_SCITXINTB_ISR" redefined: first defined in "./source/DSP2833x_DefaultIsr.obj"; redefined in "./source/DSP2833x_SWPrioritizedDefaultIsr.obj"

error #10056: symbol "_SCIRXINTB_ISR" redefined: first defined in "./source/DSP2833x_DefaultIsr.obj"; redefined in "./source/DSP2833x_SWPrioritizedDefaultIsr.obj"

error #10056: symbol "_ECAN1INTA_ISR" redefined: first defined in "./source/DSP2833x_DefaultIsr.obj"; redefined in "./source/DSP2833x_SWPrioritizedDefaultIsr.obj"

error #10056: symbol "_ECAP2_INT_ISR" redefined: first defined in "./source/DSP2833x_DefaultIsr.obj"; redefined in "./source/DSP2833x_SWPrioritizedDefaultIsr.obj"

error #10056: symbol "_PIE_RESERVED" redefined: first defined in "./source/DSP2833x_DefaultIsr.obj"; redefined in "./source/DSP2833x_SWPrioritizedDefaultIsr.obj"

error #10056: symbol "_I2CINT1A_ISR" redefined: first defined in "./source/DSP2833x_DefaultIsr.obj"; redefined in "./source/DSP2833x_SWPrioritizedDefaultIsr.obj"

error #10056: symbol "_XINT2_ISR" redefined: first defined in "./source/DSP2833x_DefaultIsr.obj"; redefined in "./source/DSP2833x_SWPrioritizedDefaultIsr.obj"

error #10056: symbol "_I2CINT2A_ISR" redefined: first defined in "./source/DSP2833x_DefaultIsr.obj"; redefined in "./source/DSP2833x_SWPrioritizedDefaultIsr.obj"

error #10056: symbol "_RTOSINT_ISR" redefined: first defined in "./source/DSP2833x_DefaultIsr.obj"; redefined in "./source/DSP2833x_SWPrioritizedDefaultIsr.obj"

error #10056: symbol "_EPWM3_INT_ISR" redefined: first defined in "./source/DSP2833x_DefaultIsr.obj"; redefined in "./source/DSP2833x_SWPrioritizedDefaultIsr.obj"

error #10056: symbol "_ECAN1INTB_ISR" redefined: first defined in "./source/DSP2833x_DefaultIsr.obj"; redefined in "./source/DSP2833x_SWPrioritizedDefaultIsr.obj"

error #10056: symbol "_USER9_ISR" redefined: first defined in "./source/DSP2833x_DefaultIsr.obj"; redefined in "./source/DSP2833x_SWPrioritizedDefaultIsr.obj"

error #10056: symbol "_USER3_ISR" redefined: first defined in "./source/DSP2833x_DefaultIsr.obj"; redefined in "./source/DSP2833x_SWPrioritizedDefaultIsr.obj"

error #10056: symbol "_EQEP1_INT_ISR" redefined: first defined in "./source/DSP2833x_DefaultIsr.obj"; redefined in "./source/DSP2833x_SWPrioritizedDefaultIsr.obj"

error #10056: symbol "_USER8_ISR" redefined: first defined in "./source/DSP2833x_DefaultIsr.obj"; redefined in "./source/DSP2833x_SWPrioritizedDefaultIsr.obj"

error #10056: symbol "_EPWM1_INT_ISR" redefined: first defined in "./source/DSP2833x_DefaultIsr.obj"; redefined in "./source/DSP2833x_SWPrioritizedDefaultIsr.obj"

error #10056: symbol "_SEQ2INT_ISR" redefined: first defined in "./source/DSP2833x_DefaultIsr.obj"; redefined in "./source/DSP2833x_SWPrioritizedDefaultIsr.obj"

error #10056: symbol "_USER2_ISR" redefined: first defined in "./source/DSP2833x_DefaultIsr.obj"; redefined in "./source/DSP2833x_SWPrioritizedDefaultIsr.obj"

error #10056: symbol "_SCITXINTA_ISR" redefined: first defined in "./source/DSP2833x_DefaultIsr.obj"; redefined in "./source/DSP2833x_SWPrioritizedDefaultIsr.obj"

error #10056: symbol "_SCIRXINTA_ISR" redefined: first defined in "./source/DSP2833x_DefaultIsr.obj"; redefined in "./source/DSP2833x_SWPrioritizedDefaultIsr.obj"

error #10056: symbol "_rsvd_ISR" redefined: first defined in "./source/DSP2833x_DefaultIsr.obj"; redefined in "./source/DSP2833x_SWPrioritizedDefaultIsr.obj"

error #10056: symbol "_PieVectTableInit" redefined: first defined in "./source/DSP2833x_PieVect.obj"; redefined in "./source/DSP2833x_SWPrioritizedPieVect.obj"

error #10056: symbol "_InitPieVectTable" redefined: first defined in "./source/DSP2833x_PieVect.obj"; redefined in "./source/DSP2833x_SWPrioritizedPieVect.obj"

error #10010: errors encountered during linking; "ADC_SOC.out" not built

 

>> Compilation failure

makefile:171: recipe for target 'ADC_SOC.out' failed

gmake[1]: *** [ADC_SOC.out] Error 1

makefile:167: recipe for target 'all' failed

gmake: *** [all] Error 2

 

**** Build Finished ****

 

通过网络得知,这些报错都是因为编译时,出现了重定义错误。

网上的说法是把重复的文件删掉,就可以解决问题了,可是没有具体的解决方法。

 

每个人遇到的问题可能不一样,下面我把我遇到问题的解决方法记录一下。各位大佬勿喷。

通过摸索发现了由于以下的两个文件导致编译出错。

DSP2833x_SWPrioritizedDefaultIsr.c

DSP2833x_SWPrioritizedPieVect.c

 

解决的方法:很简单,把这两个文件删掉或者在CCS工程下右键选择”Exclude from Build”屏蔽掉这两个文件。再次编译,就不会出现报错了。

 

到这,问题似乎解决了。解决一个问题需要原因,

既然问题的产生是因为出现了重定义,那么哪个文件和这两个删掉的文件冲突了呢?

小弟迫切想知道答案,希望各位大佬能花一点点时间帮忙解决一下,万分感谢!!!

 

 

  • 因为DSP281x_SWPrioritizedDefaultIsr.c 和DSP2833X_DefultIsr.c都是中断函数外壳,所以同时在一个文件中就会出现重复定义的错误:error: xxx——ISR is defined multiple times
  • 感谢您的解答。我通过您给出的方法屏蔽了DSP2833X_DefultIsr.c和DSP2833x_PieVect.c文件,重新释放了DSP281x_SWPrioritizedDefaultIsr.c 和DSP2833x_SWPrioritizedPieVect.c文件进行编译,然后出现的错误是
    Description Resource Path Location Type
    #10010 null: errors encountered during linking; "ADC_SOC.out" not built ADC_SOC C/C++ Problem
    <a href="processors.wiki.ti.com/.../10234"> null: unresolved symbols remain ADC_SOC C/C++ Problem
    gmake: *** [all] Error 2 ADC_SOC C/C++ Problem
    gmake[1]: *** [ADC_SOC.out] Error 1 ADC_SOC C/C++ Problem
    unresolved symbol _DINTCH1_ISR, first referenced in ./source/DSP2833x_SWPrioritizedPieVect.obj ADC_SOC C/C++ Problem
    unresolved symbol _DINTCH2_ISR, first referenced in ./source/DSP2833x_SWPrioritizedPieVect.obj ADC_SOC C/C++ Problem
    unresolved symbol _DINTCH3_ISR, first referenced in ./source/DSP2833x_SWPrioritizedPieVect.obj ADC_SOC C/C++ Problem
    unresolved symbol _DINTCH4_ISR, first referenced in ./source/DSP2833x_SWPrioritizedPieVect.obj ADC_SOC C/C++ Problem
    unresolved symbol _DINTCH5_ISR, first referenced in ./source/DSP2833x_SWPrioritizedPieVect.obj ADC_SOC C/C++ Problem
    unresolved symbol _DINTCH6_ISR, first referenced in ./source/DSP2833x_SWPrioritizedPieVect.obj ADC_SOC C/C++ Problem
    unresolved symbol _ECAP5_INT_ISR, first referenced in ./source/DSP2833x_SWPrioritizedPieVect.obj ADC_SOC C/C++ Problem
    unresolved symbol _ECAP6_INT_ISR, first referenced in ./source/DSP2833x_SWPrioritizedPieVect.obj ADC_SOC C/C++ Problem
    unresolved symbol _LUF_ISR, first referenced in ./source/DSP2833x_SWPrioritizedPieVect.obj ADC_SOC C/C++ Problem
    unresolved symbol _LVF_ISR, first referenced in ./source/DSP2833x_SWPrioritizedPieVect.obj ADC_SOC C/C++ Problem
    unresolved symbol _MRINTA_ISR, first referenced in ./source/DSP2833x_SWPrioritizedPieVect.obj ADC_SOC C/C++ Problem
    unresolved symbol _MRINTB_ISR, first referenced in ./source/DSP2833x_SWPrioritizedPieVect.obj ADC_SOC C/C++ Problem
    unresolved symbol _MXINTA_ISR, first referenced in ./source/DSP2833x_SWPrioritizedPieVect.obj ADC_SOC C/C++ Problem
    unresolved symbol _MXINTB_ISR, first referenced in ./source/DSP2833x_SWPrioritizedPieVect.obj ADC_SOC C/C++ Problem
    unresolved symbol _SCIRXINTC_ISR, first referenced in ./source/DSP2833x_SWPrioritizedPieVect.obj ADC_SOC C/C++ Problem
    unresolved symbol _SCITXINTC_ISR, first referenced in ./source/DSP2833x_SWPrioritizedPieVect.obj ADC_SOC C/C++ Problem
    unresolved symbol _XINT3_ISR, first referenced in ./source/DSP2833x_SWPrioritizedPieVect.obj ADC_SOC C/C++ Problem
    unresolved symbol _XINT4_ISR, first referenced in ./source/DSP2833x_SWPrioritizedPieVect.obj ADC_SOC C/C++ Problem
    unresolved symbol _XINT5_ISR, first referenced in ./source/DSP2833x_SWPrioritizedPieVect.obj ADC_SOC C/C++ Problem
    unresolved symbol _XINT6_ISR, first referenced in ./source/DSP2833x_SWPrioritizedPieVect.obj ADC_SOC C/C++ Problem
    unresolved symbol _XINT7_ISR, first referenced in ./source/DSP2833x_SWPrioritizedPieVect.obj ADC_SOC C/C++ Problem

    上面的错误好像是说,未解析字段_DINTCH 1_ISR,第一次引用于....
    疑问就是修改DSP281x_SWPrioritizedDefaultIsr.c 文件的哪个地方可以取代DSP2833X_DefultIsr.c文件。
    另外一个小问题就是文件后缀为xxx.obj到底是什么文件,起什么作用?(我记得前学51单片机的时候.obj文件是二进制文件,专门给cpu看的)
    谢谢了!!!
  • 应该是没有链接DSP2833x_SWPrioritizedPieVect的相关文件

    processors.wiki.ti.com/.../10234

    DSP281x_SWPrioritizedDefaultIsr.c 和DSP2833X_DefultIsr.c都是中断函数外壳,不能同时使用,您可以在工程内查找并进行替换,另外对应的PIEVect.c也要更换