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.

TMS320F28335: 新建工程,已经添加了ADC_cal并添加了路径,还是会报错

Part Number: TMS320F28335

工程中,已经添加了DSP2833x_ADC_cal.asm文件。

而且在,路径中,也添加了此文件所在的路径。

在编译时,还是报错

Code Composer Studio

Version: 10.4.0.00006

  • 你好,根据报错可能是ADC_cal 以及 DSP28x_usDelay变量没有被定义,请检查一下。

  • 这两个是定义在asm文件中,我上面的图片已经画出来了,添加到工程中了。

    同样的方式,我用CCS11 新建的工程,添加了头文件,编译是没有问题的。

  • CCS7.4 测试,也没有问题,也可以通过编译

  • ADC_cal是定义在DSP2833x_ADC_cal.asm文件中同时在cmd中应该有.adc_cal section。

    DSP28x_usDelay是定义在DSP2833x_usDelay.asm中。

    请检查一下上述文件。

  • cmd文件,是建工程时,CCS自动生成的,应该不可能 有问题,我打开也看了,确定是有.adc_cal     : load = ADC_CAL,   PAGE = 0, TYPE = NOLOAD

    您所说的两个文件,都是存在并添加到工程中的。

    这个问题,只是在CCS10这个版本的软件中存在。以同样的步骤在CCS7与CCS11中新建的工程,都不会有这个问题,我可以更换版本,但这个问题的原因想深究一下。

  • 好的,我在我的电脑上试一下,问题应该是出在DSP2833x_ADC_cal.asm和DSP2833x_usDelay.asm这两个文件。

    方便分享您的工程吗?用您的工程测试一下当然是最好。

  • 你好,我需要咨询下资深工程师,一旦有回复会立即回复您。

  • 你好,该问题和编译器输出格式有关。

    对于 COFF ,编译器会为符号名称添加下划线前缀,而 EABI 则不会。因此,它表明 ADC_cal 和 DSP28x_usDelay 未定义。请参阅此链接中的Removing the COFF Underscore"部分:  C2000 从 COFF 迁移到 EABI

    您可以将输出格式从 EABI 更改为 COFF,或者您仍然可以使用 EABI,但您需要在相应的 .asm 文件中添加以下代码:

    对于 _ADC_cal:                      

    .if __TI_EABI__
    .asg ADC_cal, _ADC_cal
    .endif 

    对于 _DSP28x_usDelay:

    .if __TI_EABI__
    .asg DSP28x_usDelay, _DSP28x_usDelay
    .endif

    两种方式,你的问题都会得到解决。如果您对此有任何疑问,请告诉我们。