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.

New CCS install set up question

Other Parts Discussed in Thread: AM3358

Details:

Windows 7 Professional

Code Composer Studio  Version: 5.2.1.00018

AM335x Starter Kit

C:\ti\AM335X_StarterWare_02_00_00_07

C:\cygwin

C:\tools\CodeSourcery\Sourcery_G++Lite

C:\tools\CodeSourcery\Sourcery_CodeBench_for_ARM_EABI

==============================================================================

Problem:

**** Build of configuration Debug for project adcVoltMeasure ****

C:\ti\ccsv5\utils\bin\gmake -k -j 4 -s all

'Building target: ../../../../../../../binary/armv7a/cgt_ccs/am335x/evmskAM335x/adc/adcVoltMeasure.out'

'Invoking: ARM Linker'

<Linking>

"../AM3358.cmd", line 24: error: DDR0 memory range overlaps existing memory

range DDR_MEM

error: errors encountered during linking;

>> Compilation failure

==============================================================================

Question:

I have tried to follow the setup insructions under "Setting Up The Tool Chain" under

http://processors.wiki.ti.com/index.php/StarterWare_Getting_Started_02.00.XX.XX#Host_platform_Requirements

but I think I have missed something.  "Cygwin" does not seam to be being called. PATH=??? (not sure where I should point it)

 

Any pointers would be greatly appreciated,

Scott 

 

 

 

 

 

 

  • Hi Scott,

    Can you share your "AM3358.cmd" file? It seems that the DDR0 and DDR_MEM are overlapping due to improper range.


    Regards

    Radhesh

  • Hi Radhesh,

    I'm using the code from the "example" unmodified as below.  I made the assumption (maybe wrong) that it would just work...

    Best Regards,

    Scott

    /****************************************************************************/

    /*  AM3358.cmd                                                              */

    /*  Copyright (c) 2012  Texas Instruments Incorporated                      */

    /*  Author: Rafael de Souza                                                 */

    /*                                                                          */

    /*    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 an AM3358.            */

    /*                 Use it as a guideline.  You will want to                 */

    /*                 change the memory layout to match your specific          */

    /*                 target system.  You may want to change the allocation    */

    /*                 scheme according to the size of your program.            */

    /*                                                                          */

    /****************************************************************************/

    MEMORY

    {

    #ifndef M3_CORE     /* A8 memory map */

        SRAM:     o = 0x402F0400  l = 0x0000FC00  /* 64kB internal SRAM */

        L3OCMC0:  o = 0x40300000  l = 0x00010000  /* 64kB L3 OCMC SRAM */

        M3SHUMEM: o = 0x44D00000  l = 0x00004000  /* 16kB M3 Shared Unified Code Space */

        M3SHDMEM: o = 0x44D80000  l = 0x00002000  /* 8kB M3 Shared Data Memory */

        DDR0:     o = 0x80000000  l = 0x40000000  /* 1GB external DDR Bank 0 */

    #else               /* M3 memory map */

        M3UMEM:   o = 0x00000000  l = 0x00004000  /* 16kB M3 Local Unified Code Space */

        M3DMEM:   o = 0x00080000  l = 0x00002000  /* 8kB M3 Local Data Memory */

        M3SHUMEM: o = 0x20000000  l = 0x00004000  /* 16kB M3 Shared Unified Code Space */

        M3SHDMEM: o = 0x20080000  l = 0x00002000  /* 8kB M3 Shared Data Memory */

    #endif    

    }

    SECTIONS

    {

    #ifndef M3_CORE     /* A8 memory map */

        .text          >  L3OCMC0

        .stack         >  L3OCMC0

        .bss           >  L3OCMC0

        .cio           >  L3OCMC0

        .const         >  L3OCMC0

        .data          >  L3OCMC0

        .switch        >  L3OCMC0

        .sysmem        >  L3OCMC0

        .far           >  L3OCMC0

        .args          >  L3OCMC0

        .ppinfo        >  L3OCMC0

        .ppdata        >  L3OCMC0

      

        /* TI-ABI or COFF sections */

        .pinit         >  L3OCMC0

        .cinit         >  L3OCMC0

      

        /* EABI sections */

        .binit         >  L3OCMC0

        .init_array    >  L3OCMC0

        .neardata      >  L3OCMC0

        .fardata       >  L3OCMC0

        .rodata        >  L3OCMC0

        .c6xabi.exidx  >  L3OCMC0

        .c6xabi.extab  >  L3OCMC0

    #else               /* M3 memory map */

        .text          >  M3UMEM

        .stack         >  M3DMEM

        .bss           >  M3DMEM

        .cio           >  M3DMEM

        .const         >  M3UMEM

        .data          >  M3DMEM

        .switch        >  M3DMEM

        .sysmem        >  M3DMEM

        .far           >  M3DMEM

        .args          >  M3DMEM

        .ppinfo        >  M3DMEM

        .ppdata        >  M3DMEM

      

        /* TI-ABI or COFF sections */

        .pinit         >  M3UMEM

        .cinit         >  M3UMEM

      

        /* EABI sections */

        .binit         >  M3UMEM

        .init_array    >  M3UMEM

        .neardata      >  M3DMEM

        .fardata       >  M3DMEM

        .rodata        >  M3UMEM

        .c6xabi.exidx  >  M3UMEM

        .c6xabi.extab  >  M3UMEM

    #endif    

    }

  • Hi Scott,

    I am not sure how much this would help, can you try commenting out DDR0 because it is not getting mapped to any of the sections in your command file, but looks like already DDR_MEM is used somewhere in your SDK/package and is conflicting resulting in linking error. You can search for DDR_MEM in your s/w and see why conflict occurs.

    Regards

    Radhesh