• Not Answered

Compiler/TMS320C6670: Getting an error message at linker command file. "TMS320C6670"

Part Number: TMS320C6670

Tool/software: TI C/C++ Compiler

Hi Sir,

 I am using TMSC6670 EVM board to port my application, I am able to port one block of code success fully, After adding the 2nd block of code, I am getting error message at linker command file.

 Error message “ "./configPkg/linker.cmd", line 136: error #10099-D: run placement fails for

   object ".far", size 0x39851e (page 0).  Available ranges:

   L2SRAM       size: 0x100000     unused: 0x4ccc5      max hole: 0x4ccb0  

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

 Please help me to resolve the above error, I am eagerly waiting for reply.

 

Thanks & regards,

Anil Kumar  

12 Replies

  • Anil Swamy

    "./configPkg/linker.cmd", line 136: error #10099-D: run placement fails for

       object ".far", size 0x39851e (page 0).  Available ranges:

       L2SRAM       size: 0x100000     unused: 0x4ccc5      max hole: 0x4ccb0  

    Please visit the wiki article about that error message.

    Thanks and regards,

    -George


    TI C/C++ Compiler Forum Moderator
    Please click Verify Answer on the best reply to your question
    The CCS Youtube Channel
     has short how-to videos
    The 
    Compiler Wiki answers most common questions
    Track an issue with SDOWP. Enter your bug id in the Search box.

  • In reply to George Mock:

    Dear George

    Thanks a lot for your reply,

    I have gone through the link which is shred,

    I am using my own liker command file in the project, getting an following error message

     "../linker.cmd", line 26: error: L2SRAM memory range has already been

       specified

    "../linker.cmd", line 26: error: L2SRAM memory range overlaps existing memory

       range L2SRAM

    "../linker.cmd", line 27: error: MSMCSRAM memory range has already been

       specified

    "../linker.cmd", line 27: error: MSMCSRAM memory range overlaps existing memory

    In the debug folder, it generating “linker.cmd” file each time, 

    Please help me how to use my linker command file and resolve above errors.

    I am using TMS6670 platform. 

    I am eagerly waiting for your reply.

      

    Thanks & regards,

    Anil Kumar  

  • In reply to Anil Swamy:

    The usual reason error messages like these ...

    Anil Swamy

     "../linker.cmd", line 26: error: L2SRAM memory range has already been

       specified

    "../linker.cmd", line 26: error: L2SRAM memory range overlaps existing memory

       range L2SRAM

    ... occur is that the linker sees two linker command files.  Each linker command file defines a memory range named L2SRAM.  A memory range can be defined only once.  You need to determine how two linker command files are given to the linker, determine which is the correct one, and remove the other.

    Thanks and regards,

    -George


    TI C/C++ Compiler Forum Moderator
    Please click Verify Answer on the best reply to your question
    The CCS Youtube Channel
     has short how-to videos
    The 
    Compiler Wiki answers most common questions
    Track an issue with SDOWP. Enter your bug id in the Search box.

  • In reply to George Mock:

    Dear George, 

    Thanks a lot for your support, I am able to resolve the above errors. 

    I am having following quarries listed below, 

    1.     I am running my applications in TI TMSC6670 EVM platform, my application needs all the four cores, main is running in core 0, functionalities are distributed remaining cores 1 to 3,

    2.     Linker command files using only 1 MB of L2SRAM memory. Linker command file is attached below. 

    I need linker command file or Example code which access all four core 4 MB of L2 SRAM memory which is shared across all the cores, MSMCSRAM and DDR3 shared across all the cores.

    I very much appreciate please provide example code OR any modification required in any of the files.I am eagerly waiting for your reply.

     

    Thanks & regards,

    Anil Kumar

  • In reply to Anil Swamy:

    Dear George, 

    I am not able to proceed further I am eagerly waiting for your reply, Linker command file

    Thanks & regards,

    Anil Kumar

  • In reply to Anil Swamy:

    Anil Swamy
    I need linker command file or Example code which access all four core 4 MB of L2 SRAM memory which is shared across all the cores, MSMCSRAM and DDR3 shared across all the cores.

    That is a task which requires a fair amount of infrastructure.  The compiler and linker command file are important.  But much more than that is required.  I suggest you start by using the Processor SDK for C667x Processors.

    Thanks and regards,

    -George


    TI C/C++ Compiler Forum Moderator
    Please click Verify Answer on the best reply to your question
    The CCS Youtube Channel
     has short how-to videos
    The 
    Compiler Wiki answers most common questions
    Track an issue with SDOWP. Enter your bug id in the Search box.

  • In reply to George Mock:

    Dear George,

    Thanks a lot for suppport,
    I am not able to access the DDR3 memory in my application, Please provide some inputs how access the DDR3 memory.

    In my application running on TCI6670 EVM board, Application needs 100MB of memory, I am using DDR3, following changes are made at .cfg configuration file.
    Program.sectMap[".far"] = new Program.SectionSpec();
    Program.sectMap[".far"].loadSegment = "DDR3";

    when i am running the code memory is not allocated to the pointers, my application not running proper. Please let me know any modification required in .cfg file to access DDR3 memory.
    I am eagerly waiting for your reply.

    Thanks & regards,
    Anil Kumar
  • In reply to Anil Swamy:

    Anil Swamy
    I am not able to access the DDR3 memory in my application, Please provide some inputs how access the DDR3 memory.

    In order to access the DDR3 memory:

    1) The DDR3 region specified in the SYS/BIOS platform needs to match the base address and size of the DDR3 memory on the board. The ti.platforms.evm6670 platform matches the 512 MB of DDR3 memory fitted to a TMDSEVM6670.

    2) The TMS320C6670 EMIF controller needs to be initialised to access the DDR3 memory on the board.

    The EMIF controller can either be initialised by a bootloader or a GEL file.

    If you set the TMDSEVM6670 Boot Mode Dip Switch Settings for "No boot" and set the Initialization Script to ../../emulation/boards/evmc6670l/gel/evmc6670l.gel for the C66xx CPUs in the Target Configuration then the GEL script should initialise the EMIF controller for the DDR3 memory when starting a debug session:

    [I don't have a TMDSEVM6670 to test the above suggestions]

  • In reply to Chester Gillon:

    Dear George, 

    Thanks a lot for your support, I am able to access the DDR3.

    added the gel file in my application code, My application able to access the DDR3 memory it is working fine.

     

    Thanks & regards,

    Anil Kumar

  • In reply to Anil Swamy:

    Dear George, 

    Thanks a lot for your support,

    I am installed CCS version “ccsv7” I am configured the target configuration file for “TMS320C6670” while running the “Test Connection” I getting following error shown below, please let me any modification required or any software installation required.

    ----[Print the reset-command software log-file]-----------------------------

    This utility has selected a 100- or 510-class product.

    This utility will load the adapter 'jioserdesusb.dll'.

    An error occurred while soft opening the controller.

    -----[An error has occurred and this utility has aborted]--------------------

    This error is generated by TI's USCIF driver or utilities.

    The value is '-600' (0xfffffda8).

    The title is 'SC_ERR_LIB_ANY_LOCATE'. 

    I am very much appreciate please let me know any modification or software installation required, I am eagerly waiting for reply.

    Thanks & regards,

    Anilkumar