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.

CCS4, linker fails to find .obj files

Hello,

 

I have installed CCS4.1.2 and imported the old CCS3.3 project.

Seems to compile OK but linker fails because it cannot find any files mentioned specifically in the linker script file (eg lines 100,101 etc) although these files do exist in the same directory as all the other files it does seem to find (ie does not complain about).

 

Below is the linker file. I tried removing the ‘debug\’ prefix as shown on line 113 for 'NiosCmds.obj' file in the hope that the linker would add the appropriate path for where the obj files are located. This made no difference.

 

I guess the linker called by Eclipse is in a different ‘current directory’ compared to being called by CCS3

 

Hope you can help,

 

John

 

 

Linker file contents:-

 

 

MEMORY

{

                /* These are all byte addresses */

    PAGE 0:

 

        MMR     : origin = 0000000h, length = 00000c0h

        SPRAM   : origin = 00000c0h, length = 0000040h

        VECS    : origin = 0000100h, length = 0000200h

        DARAM0  : origin = 0000300h, length = 0003D00h

        DARAM1  : origin = 0004000h, length = 000c000h

 

        SARAM0  : origin = 0010000h, length = 1ba74h

        SARAM1  : origin = 002ba74h, length = 83340

 

        CE0     : origin = 0040000h, length = 03c0000h

        CE1     : origin = 0400000h, length = 0400000h

        CE2     : origin = 0800000h, length = 0400000h

        CE3     : origin = 0c00000h, length = 03f0000h

 

        PDROM   : origin = 0ff8000h, length = 07f00h

}      

 

 

SECTIONS

{

        vectors                         : {} > VECS         /* interrupt vector table */

 

        .stack                            : {} > DARAM0

        .sysstack      : {} > DARAM0

        .csldata         : {} > DARAM0

        dmaMem                    : {} > DARAM0

 

        .sysmem                      : {} > DARAM1

        .cio                 : {} > DARAM1

        .data                              : {} > DARAM1

                                .switch                  : {} > DARAM1                                                   /* an260107 */

                                .cinit                      : {} > SARAM0

 

        .bss                                : {} > DARAM1

 

 

        .const                            : {} > SARAM0

 

                                /* The following audio sects must be in individual on chip RAM blocks. */

                                audioDMAsamples_sect : {} > DARAM0

 

                                /* This group places the 'mixedSamples' array immediately following the 'mixerSamples' array.

                                   The combined arrays must be a a different DARAM/SARAM block to the 'mixCoeffs' arrays so the

                                   fast mixer can operate at full speed.

                                  */

                                GROUP : {

                                                                mixerSamples_sect

                                                                mixedSamples_sect

                                } > DARAM0

 

                                mixCoeffs_L_sect : {} > SARAM0

                                mixCoeffs_R_sect : {} > SARAM1

 

                                bufs_sect : {} > DARAM0

 

                                .onChipText       : {

                                                                                                debug\ISR_timer.obj                     (onChipText)

                                                                                                debug\ISR_control.obj  (onChipText)

                                                                                               

                                                                                                debug\Audio.obj  (.text)

 

                                                                                  }  > SARAM0

 

                                .DARAM0TEXT : {

                                                                                                debug\ISR_audio.obj                (onChipText)

                                                                                  }  > DARAM1

 

                                cmdText              :               {

                                                                                                cmds.obj                    (.text)

                                                                                }  > SARAM0

 

 

                                .text                      : {} > SARAM0    /* all the rest of the code in SDRAM */

 

}

  • From what I understand CCSv4 does not know where to find   cmds.obj 

    I suggest you add the path to this object file in your project's Linker option:


    Build Properties -> C5500 Linker -> File Search Path, then select the middle right-hand side "+" file icon to add a directory , as per attached screenshot:

     

    Let me know if this helps...