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.

CCS6.0下CMD报错

CCS3.3工程导入CCS6.0以后编译报错如下:

"C:/Users/CGRZ/Desktop/67_GSYC-V0.4 - Conversion (CSL)/TISecondaryBootlnk.cmd", line 67: error #10008-D:
   cannot find file ".\Debug\TISecondaryBoot.obj"

错误指向TISecondaryBootlnk.cmd文件,该文件在CCS3.3下编译正确。该文件是通过AIS扩展GPIO方式从Flash中二次boot的CMD文件。所建工程基于C6722芯片。

请问大神在CCS6.0下需要进行其他设置,还是不适用与CCS6.0?望详解!

  • TISecondaryBoot.c是否有添加?请看一下debug文件里是否已生成了TISecondaryBoot.obj文件?

  • TISecondaryBoot.c文件已添加,没有生成obj文件

  • 以下为CMD内容,错误指向红色字体部分

    /****************************************************************************/
    /* lnk.cmd v##### */
    /* Copyright (c) 1996@%%%% Texas Instruments Incorporated */
    /* Usage: lnk6x <obj files...> -o <out file> -m <map file> lnk.cmd */
    /* cl6x <src files...> -z -o <out file> -m <map file> lnk.cmd */
    /* */
    /* Description: This file is a sample linker command file that can be */
    /* used for linking programs built with the C compiler and */
    /* running the resulting .out file on a C672x */
    /* simulator. Use it as a guideline. You will want to */
    /* change the memory layout to match your specific C6xxx */
    /* target system. You may want to change the allocation */
    /* scheme according to the size of your program. */
    /* */
    /* Notes: (1) You must specify a directory in which rts6x00.lib is */
    /* located. either add a -i"<directory>" line to this */
    /* file or use the system environment variable C_DIR to */
    /* specify a search path for the libraries. */
    /* */
    /* (2) If the run-time library you are using is not named */
    /* rts6200[e].lib, rts6400[e].lib, or rts6700[e].lib, be */
    /* sure to use the correct name here. */
    /* */
    /****************************************************************************/
    -l rts67plus.lib
    -l c672xSystemPatchV2_00_00.lib
    -l dsp67x.lib

    -e int00
    -c
    -x
    -lrts6700.lib

    -heap 0x2000
    -stack 0x4000
    -u _TISecondaryBoot_bootstart


    /* SPECIFY THE SYSTEM MEMORY MAP */

    MEMORY
    {
    IROM_BOOT: o = 00000000h l = 00020000h
    IROM_DSPLIB: o = 00020000h l = 0000C000h
    IROM_FASTRTS: o = 0002C000h l = 00004000h
    IROM_BIOS: o = 00030000h l = 00030000h
    IRAM_BOOT: o = 10000000h l = 00001000h
    IRAM_BIOS: o = 10001000h l = 00000B00h
    IRAM_RESERVED: o = 10001B00h l = 00000100h
    IRAM_STACK: o = 10001C00h l = 00000800h
    IRAM: o = 10002400h l = 0003DC00h
    BOOTSRAM: o = 90000000h l = 10000000h
    SDRAM: o = 80000000h l = 10000000h
    }


    SECTIONS
    {

    /*-------------------------------------------------------------*/
    /* Sample allocation for Compiler generated sections that may */
    /* be defined in application code. */
    /*-------------------------------------------------------------*/
    .TIBootStrap {.+= 4;} load = 0x10000000
    .TIBoot { *(.TIBoot)
    .\Debug\TISecondaryBoot.obj(.switch)} load = 0x10002400, LOAD_SIZE(_TIBOOT_SEC_SIZE), RUN_START(_TIBOOT_SEC_RUN_ADDR)
    .stack > IRAM
    .bss > IRAM
    .cinit > IRAM
    .pinit > IRAM
    .cio > IRAM
    .const > IRAM
    .data > IRAM
    .switch > IRAM
    .sysmem > IRAM
    .text { *(.text)
    } load = IRAM

    appText {
    *(apptext)
    } load = IRAM
    .far > IRAM


    }

    以下为报错截图

    编译信息出现错误部分如下

    <Linking>
    "C:/Users/CGRZ/Desktop/67_GSYC-V0.4 - Conversion (CSL)/TISecondaryBootlnk.cmd", line 67: error #10008-D:
    cannot find file ".\Debug\TISecondaryBoot.obj"
    warning #16002-D: build attribute vendor section TI missing in "C:/Users/CGRZ/Desktop/67_GSYC-V0.4 - Conversion (CSL)/lib/csl_C6722.lib<csl_sysinit.o>": compatibility cannot be determined
    warning #16002-D: build attribute vendor section TI missing in "C:/Users/CGRZ/Desktop/67_GSYC-V0.4 - Conversion (CSL)/lib/csl_C6722.lib<csl_emifClose.o>": compatibility cannot be determined
    warning #16002-D: build attribute vendor section TI missing in "C:/Users/CGRZ/Desktop/67_GSYC-V0.4 - Conversion (CSL)/lib/csl_C6722.lib<csl_emifHwSetup.o>": compatibility cannot be determined
    warning #16002-D: build attribute vendor section TI missing in "C:/Users/CGRZ/Desktop/67_GSYC-V0.4 - Conversion (CSL)/lib/csl_C6722.lib<csl_emifInit.o>": compatibility cannot be determined
    warning #16002-D: build attribute vendor section TI missing in "C:/Users/CGRZ/Desktop/67_GSYC-V0.4 - Conversion (CSL)/lib/csl_C6722.lib<csl_emifOpen.o>": compatibility cannot be determined
    warning #16002-D: build attribute vendor section TI missing in "C:/Users/CGRZ/Desktop/67_GSYC-V0.4 - Conversion (CSL)/lib/csl_C6722.lib<csl_emifGetBaseAddress.o>": compatibility cannot be determined
    warning #16002-D: build attribute vendor section TI missing in "C:/Users/CGRZ/Desktop/67_GSYC-V0.4 - Conversion (CSL)/lib/dsp67x.lib<DSPF_sp_bitrev_cplx.obj>": compatibility cannot be determined
    warning #16002-D: build attribute vendor section TI missing in "C:/Users/CGRZ/Desktop/67_GSYC-V0.4 - Conversion (CSL)/lib/dsp67x.lib<DSPF_sp_cfftr2_dit.obj>": compatibility cannot be determined
    "C:/Users/CGRZ/Desktop/67_GSYC-V0.4 - Conversion (CSL)/TISecondaryBootlnk.cmd", line 67: warning #10068-D: no matching section
    "C:/Users/CGRZ/Desktop/67_GSYC-V0.4 - Conversion (CSL)/TISecondaryBootlnk.cmd", line 81: warning #10068-D: no matching section

    undefined first referenced
    symbol in file
    --------- ----------------
    int00

    error #10234-D: unresolved symbols remain
    warning #10062-D: entry-point symbol "int00" undefined
    warning #10202-D: no suitable entry-point found; setting to 0
    error #10010: errors encountered during linking; "C:/Users/CGRZ/Desktop/67_GSYC-V0.4 - Conversion (CSL)/GSYC_DM-V1.0/../Debug/GSYC_DM-V1.0.out" not built
    gmake: *** [C:/Users/CGRZ/Desktop/67_GSYC-V0.4 - Conversion (CSL)/GSYC_DM-V1.0/../Debug/GSYC_DM-V1.0.out] Error 1
    gmake: Target 'all' not remade because of errors.

    >> Compilation failure
    makefile:156: recipe for target 'C:/Users/CGRZ/Desktop/67_GSYC-V0.4 - Conversion (CSL)/GSYC_DM-V1.0/../Debug/GSYC_DM-V1.0.out' failed

    **** Build Finished ****

    怀疑lib文件问题,lib文件已加载,在ccs6.0下不能使用ccs3.3的lib文件吗?

  • 1. warning见下面的帖子。
    https://e2e.ti.com/support/development_tools/compiler/f/343/t/234921

    2. 下面这个error,你定义的入口地址是int00? 不是_c_int00?

    undefined first referenced
    symbol in file 
    --------- ----------------
    int00

    error #10234-D: unresolved symbols remain
    warning #10062-D: entry-point symbol "int00" undefined

  • int00是CCS3.3下使用的,目前重新建立工程,加载lib的绝对路径,把CMD报错位置改为“..\Debug\SRC\TISecondaryBoot.obj(.switch)}”已经不再报错,目前编译依然有一个错误

    "C:\\Users\\CGRZ\\AppData\\Local\\Temp\\047163", line 21: fatal error #16031:

    object files have incompatible formats ("../SRC/bit_rev.obj" = TI-COFF,
    >> Compilation failure
    makefile:167: recipe for target 'GSYC-100.out' failed
    "./SRC/GSYC-V1.0cfg.obj" = ELF).

    这个错误目前未能解决,望各位指教!


  • 错误提示bit_rev.obj这个是coff格式,GSYC-V1.0cfg.obj是ELF格式,两者不兼容。

    把bit_rev.obj按照ELF的格式重新编译。

  • 是的我已经发现是这个问题了  但是还不知道怎么去修改格式,请问有没有教程

  • 另外想问一下,这两个C文件为什么在编译时出现两种不同的格式,有什么办法解决?

  • bit_rev.obj这个文件是不是哪个库里?要找到原工程文件重新编译,编译时输出格式选ELF。

  • 是个C文件,计算FFT用的

  • /* ======================================================================== */
    /* */
    /* TEXAS INSTRUMENTS, INC. */
    /* */
    /* NAME */
    /* bit_rev */
    /* */
    /* USAGE */
    /* This function has the prototype: */
    /* */
    /* void bit_rev(float *x, int n); */
    /* */
    /* x : Array to be bit-reversed. */
    /* n : Number of complex array elements to bit-reverse. */
    /* */
    /* DESCRIPTION */
    /* This routine bit reverses the floating point array x which */
    /* is considered to be an array of complex numbers with the even */
    /* numbered elements being thr real parts of the complex numbers */
    /* while the odd numbered elements being the imaginary parts of the */
    /* complex numbers. This function is made use of in sp_icfftr2_dif */
    /* to bit-reverse the twiddle factor array generated using */
    /* tw_genr2fft.c. */
    /* ======================================================================== */

    void bit_rev(float* x, int n)
    {
    int i, j, k;
    float rtemp, itemp;

    j = 0;
    for(i=1; i < (n-1); i++)
    {
    k = n >> 1;
    while(k <= j)
    {
    j -= k;
    k >>= 1;
    }
    j += k;
    if(i < j)
    {
    rtemp = x[j*2];
    x[j*2] = x[i*2];
    x[i*2] = rtemp;
    itemp = x[j*2+1];
    x[j*2+1] = x[i*2+1];
    x[i*2+1] = itemp;
    }
    }
    }


    void bitrev_index(short *index, int nx)

    {
    int i, j, k, radix = 2;
    short nbits, nbot, ntop, ndiff, n2, raddiv2;

    nbits = 0;

    i = nx;

    while (i > 1)
    {
    i = i >> 1;
    nbits++;
    }

    raddiv2 = radix >> 1;
    nbot = nbits >> raddiv2;
    nbot = nbot << raddiv2 - 1;
    ndiff = nbits & raddiv2;

    ntop = nbot + ndiff;

    n2 = 1 << ntop;


    index[0] = 0;

    for ( i = 1, j = n2/radix + 1; i < n2 - 1; i++)

    {

    index[i] = j - 1;

    for (k = n2/radix; k*(radix-1) < j; k /= radix)
    j -= k*(radix-1);

    j += k;

    }
    index[n2 - 1] = n2 - 1;
    }

  • 工程属性设置里选了ELF格式吗?
     

  • 该项已设置,上述报错是在该设置下出现的

  • 去掉FFT.c文件就能正确编译吗?

  • 会有其他文件报同样的错误

  • https://wenku.baidu.com/view/08b01e06f02d2af90242a8956bec0975f465a406.html

    参考这个里面提到的方式试试能否解决。我没积分下载,只能看