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.

warning #10247-D: creating output section "HEAP_CACHE" without a SECTIONS

Other Parts Discussed in Thread: SYSBIOS

In c6678,SYS/BIOS ,in .cfg file , set a heap,name is HEAP_CACHE,  when i build the project ,appear the following warning:

warning #10247-D: creating output section "HEAP_CACHE" without a SECTIONS

how can i solve this question?

the following is the cfg file of  my project :

/*
* Copyright (c) 2012, Texas Instruments Incorporated
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* * Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* */

var MultiProc = xdc.useModule('ti.sdo.utils.MultiProc');
var Timestamp = xdc.useModule('xdc.runtime.Timestamp');
var Memory = xdc.useModule('xdc.runtime.Memory');
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');

/*
* Get the list of names that the build device supports.
* I.e. ["CORE0", "CORE1", "CORE2" ... ]
*/
var nameList = MultiProc.getDeviceProcNames();

/*
* Since this is a single-image example, we don't (at build-time) which
* processor we're building for. We therefore supply 'null'
* as the local procName and allow IPC to set the local procId at runtime.
*/
MultiProc.setConfig(null, nameList);

/*
* The SysStd System provider is a good one to use for debugging
* but does not have the best performance. Use xdc.runtime.SysMin
* for better performance.
*/
var System = xdc.useModule('xdc.runtime.System');
var SysStd = xdc.useModule('xdc.runtime.SysStd');
System.SupportProxy = SysStd;

/* Modules explicitly used in the application */
var MessageQ = xdc.useModule('ti.sdo.ipc.MessageQ');
var Ipc = xdc.useModule('ti.sdo.ipc.Ipc');
var HeapBufMP = xdc.useModule('ti.sdo.ipc.heaps.HeapBufMP');
var MultiProc = xdc.useModule('ti.sdo.utils.MultiProc');

/* BIOS/XDC modules */
var BIOS = xdc.useModule('ti.sysbios.BIOS');
BIOS.heapSize = 134217728;
var Task = xdc.useModule('ti.sysbios.knl.Task');

var tsk0 = Task.create('&tsk0_func');
tsk0.instance.name = "tsk0";

/* Synchronize all processors (this will be done in Ipc_start) */
Ipc.procSync = Ipc.ProcSync_ALL;

/* Shared Memory base address and length */
var SHAREDMEM = 0x0C000000;
var SHAREDMEMSIZE = 0x00200000;

/*
* Need to define the shared region. The IPC modules use this
* to make portable pointers. All processors need to add this
* call with their base address of the shared memory region.
* If the processor cannot access the memory, do not add it.
*/
var SharedRegion = xdc.useModule('ti.sdo.ipc.SharedRegion');
SharedRegion.setEntryMeta(0,
{ base: SHAREDMEM,
len: SHAREDMEMSIZE,
ownerProcId: 0,
isValid: true,
name: "DDR2 RAM",
});
/*
* @(#) ti.sdo.ipc.examples.multicore.evm667x; 1, 0, 0, 0,1; 5-22-2012 16:36:06; /db/vtree/library/trees/ipc/ipc-h32/src/ xlibrary

*/

Program.stack = 10208;
BIOS.heapSection = "HEAP_CACHE";

my project has two cmd files,one is used for RAM,the other is used for ROM.

the following  cmd file is used for ROM,

/*
 *
 * Copyright (C) 2010 Texas Instruments Incorporated - http://www.ti.com/ 
 * 
 * 
 *  Redistribution and use in source and binary forms, with or without 
 *  modification, are permitted provided that the following conditions 
 *  are met:
 *
 *    Redistributions of source code must retain the above copyright 
 *    notice, this list of conditions and the following disclaimer.
 *
 *    Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the 
 *    documentation and/or other materials provided with the   
 *    distribution.
 *
 *    Neither the name of Texas Instruments Incorporated nor the names of
 *    its contributors may be used to endorse or promote products derived
 *    from this software without specific prior written permission.
 *
 *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
 *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 
 *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 *  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 
 *  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
 *  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 
 *  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 *  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 *  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 
 *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 
 *  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 *
*/

/******************************************************************************
 * Linker.cmd -  COMMAND FILE FOR LINKING VIDEO INFRASTRUCTURE DEMO APP
 *               ON C6678
/*****************************************************************************
 * All symbols in the command file are specified in their COFF format (which
 * has an extra _ compared to C).  The following (forward looking) aliases
 * allow linking for EABI (which doesn't add the leading _ in C).  The aliases
 * are defined for both EABI and COFF so the same command file can be used
 * for either.  One of the pair simply doesn't get used.
 *
 * Symbols defined in the same context don't need aliases at all.  This
 * means symbols defined in ASM can be used in ASM without aliases; likewise
 * symbols defined in C can be used in C without aliases.
 ****************************************************************************/
ggvmmbuf                       = _ggvmmbuf;
_lcf_cppi_drv_start            = __lcf_cppi_drv_start;
_lcf_cppi_drv_end              = __lcf_cppi_drv_end;
_lcf_qmss_drv_start            = __lcf_qmss_drv_start;
_lcf_qmss_drv_end              = __lcf_qmss_drv_end;
/*_lcf_pktlib_local_start        = __lcf_pktlib_local_start; */
/*_lcf_pktlib_local_end          = __lcf_pktlib_local_end; */
/*_lcf_pktlib_global_start       = __lcf_pktlib_global_start; */
/*_lcf_pktlib_global_end         = __lcf_pktlib_global_end; */

/*****************************************************************************
 * END of EABI/COFF aliases 
 *****************************************************************************/
/******************************END OF FILE INCLUSION*************************/

/* Default flags */
-c                                         /* ROM autoinitialization module */
-a                                         /* LINK USING C CONVENTIONS      */

-x


/* SPECIFY THE SYSTEM MEMORY MAP */

MEMORY
{      
  /**************************************************************************
   *                 C6678 MEMORY MAP
   *
   * Local L2:  0x0080_0000
   *            0x0087_FFFF  (512K)
   *
   * MSMC SRAM: 0x0C00_0000
   *            0x0C3F_FFFF  (4M)
   *
   * DDR:       0x8000_0000
   *            0x9FFF_FFFF  (512M) 
   *
   *            
   ***************************************************************************/
   /************ Local L2: 0x00800000-0x0087FFFF *************/
  PAGE 0:
    /*LL2               : origin = 0x800000,   length = 0x6B000*/ /* Remeber this is defined in the provided custom C6678 platform */
  /*  DATA_SCRATCH        : origin = 0x86B000,   length = 0x00620   /* Remember to change ggmemmap.h */
    /*MSG_FIFOS           : origin = 0x86B620,   length = 0x00010   /* Remember to change ggmemmap.h */
    /*DATA_GMP0           : origin = 0x86B630,   length = 0x00320   /* Remember to change ggmemmap.h */
    /*DATA_HALHEAP        : origin = 0x86B950,   length = 0x011C0   /* Remember to change ggmemmap.h & ggswcfg.h; */
    /*GMAC_NEU_BUFFERS    : origin = 0x86CB10,   length = 0x00500   /* Remember to change ggmemmap.h */
    /*NEU_SCRATCH         : origin = 0x86D010,   length = 0x00800   /* Remember to change ggmemmap.h */
    /*DATA_CH1            : origin = 0x86D810,   length = 0x00CC0   /* Remember to change ggmemmap.h */
    /*DATA_CH2            : origin = 0x86E4D0,   length = 0x00CC0   /* Remember to change ggmemmap.h */
    /*LL2_HOLE            : origin = 0x86F190,   length = 0x00E70
    /*LL2_CACHE         : origin = 0x870000,   length = 0x10000 /* 64 kb cache */

   /************ MSMC SRAM: 0xC000000-0xC3FFFFF *************/
  PAGE 0:
    /*DIAG_APP            : origin = 0xC000000, length = 0x000100*/
    /*MSMC              : origin = 0xC000000, length = 0x400000*/ /* Remeber this is defined in the provided custom C6678 platform */
  PAGE 2:
    DIAG_APP_VCT        : origin = 0xC000000, length = 0x000100   /* Alias of DIAG_APP to populate diagAppMem data */
    
   /************ External DDR:  0x80000000-0x9FFFFFFF *************/
  PAGE 0:
    /*DDR3               : origin = 0x80000000,length = 0x20000000*/ /* Remeber this is defined in the provided custom C6678 platform */
    HEAP_CACHE          : origin = 0xa0000000,length = 0x8000000  /*128M*/
    SHARED_VPS_MEM(RWX)          : origin = 0xa8000000,length = 0x400000  /*4M*/
    SHARED_PPS_MEM(RWX)          : origin = 0xa8400000,length = 0x800000  /*8M*/
    SHARED_SPS_MEM(RWX)          : origin = 0xa8c00000,length = 0x400000  /*4M*/
    SHARED_SLICEHEADER_MEM(RWX)          : origin = 0xa9000000,length = 0x400000  /*4M*/
    SHARED_GB_MEM(RWX)          : origin = 0xa9400000,length = 0x800000  /*8M*/
    SHARED_PARSER_MEM(RWX)          : origin = 0xa9c00000,length = 0x800000  /*8M*/
    SHARED_DECODE_MEM(RWX)          : origin = 0xaa400000,length = 0x800000  /*8M*/
    SHARED_FILTER_MEM(RWX)          : origin = 0xaac00000,length = 0x800000  /*8M*/
    DDR2                : origin = 0xb0000000,length = 0x20000000  /*512M*/
    DDR                : origin = 0xd0000000,length = 0x20000000  /*512M*/
}

/* SPECIFY THE SECTIONS ALLOCATION INTO MEMORY */

SECTIONS
{   
/* Sections in Local L2 */
/*
  .gg_nonshared_bufs > LL2 PAGE 0
  .testCodecIntMem > LL2 PAGE 0
  .far_siuinst: fill = 0x00 >   LL2 PAGE 0

  .boot_config > LL2 PAGE 0 type = NOINIT fill = 0xABCDABCD
*/
  .const_vmmcomp   > MSMC
  {
      _ggvmmbuf = .; /* Not used unless compression is used -- placeholder */
  } PAGE 0
  .const  > MSMC
  {
    *(.const)
  } PAGE 0

  .switch >  MSMC  PAGE 0

  .text >> MSMC PAGE 0

  .cinit  >  MSMC
  {
    __core_cinit = .;
  } PAGE 0

  .cppi               > DDR3 START(__lcf_cppi_drv_start) END(__lcf_cppi_drv_end) PAGE 0 type = NOINIT
  .qmss               > DDR3 START(__lcf_qmss_drv_start) END(__lcf_qmss_drv_end) PAGE 0 type = NOINIT

  /* Fill the GLOB_INIT with fixed random value. Should match to DSIU_NW_GLOB_INIT_STATE_MAGIC1 */
 /* .dsiuNwGlobInit     > DDR  PAGE 0  fill = 0x167eb0e7
*/
  .sysmen          >  HEAP_CACHE  PAGE 0

  .shared_vps_mem   >  SHARED_VPS_MEM PAGE 0
  .shared_pps_mem     >  SHARED_PPS_MEM  PAGE 0
  .shared_sps_mem       >  SHARED_SPS_MEM   PAGE 0
  .shared_sliceheader_mem   >  SHARED_SLICEHEADER_MEM  PAGE 0
  .shared_gb_mem   >  SHARED_GB_MEM  PAGE 0
  .shared_parser_mem   >  SHARED_PARSER_MEM  PAGE 0
  .shared_decode_mem   >  SHARED_DECODE_MEM  PAGE 0
  .shared_filter_mem   >  SHARED_FILTER_MEM  PAGE 0

  .data_input  > DDR2 PAGE 0

  .data_output  > DDR PAGE 0

}
/* nothing past this point */

this cmd file is used for RAM.

/*
 * Do not modify this file; it is automatically generated from the template
 * linkcmd.xdt in the ti.targets.elf package and will be overwritten.
 */

/*
 * put '"'s around paths because, without this, the linker
 * considers '-' as minus operator, not a file name character.
 */


-l"D:\workspace\IPC_test1\Debug\configPkg\package\cfg\message_multicore_pe66.oe66"
-l"C:\ti\ipc_1_24_03_32\packages\ti\sdo\ipc\lib\instrumented_e66\ipc\ipc.lib"
-l"C:\ti\bios_6_33_06_50\packages\ti\sysbios\lib\instrumented_e66\sysbios\sysbios.lib"
-l"C:\ti\xdctools_3_23_04_60\packages\ti\targets\rts6000\lib\ti.targets.rts6000.ae66"
-l"C:\ti\xdctools_3_23_04_60\packages\ti\targets\rts6000\lib\boot.ae66"

--retain="*(xdc.meta)"


--args 0x0
-heap  0x0
-stack 0x27e0

MEMORY
{
    LL2 (RWX) : org = 0x800000, len = 0x80000
    MSMC (RWX) : org = 0xc000000, len = 0x400000
    DDR3 : org = 0x80000000, len = 0x20000000
}

/*
 * Linker command file contributions from all loaded packages:
 */

/* Content from xdc.services.global (null): */

/* Content from xdc (null): */

/* Content from xdc.corevers (null): */

/* Content from xdc.shelf (null): */

/* Content from xdc.services.spec (null): */

/* Content from xdc.services.intern.xsr (null): */

/* Content from xdc.services.intern.gen (null): */

/* Content from xdc.services.intern.cmd (null): */

/* Content from xdc.bld (null): */

/* Content from ti.targets (null): */

/* Content from ti.targets.elf (null): */

/* Content from xdc.rov (null): */

/* Content from xdc.runtime (null): */

/* Content from ti.targets.rts6000 (null): */

/* Content from ti.sysbios.interfaces (null): */

/* Content from ti.sysbios.family (null): */

/* Content from xdc.runtime.knl (null): */

/* Content from ti.sdo.ipc.family (null): */

/* Content from ti.sdo.ipc.interfaces (null): */

/* Content from ti.sysbios (null): */

/* Content from ti.sysbios.hal (null): */

/* Content from ti.sysbios.knl (null): */

/* Content from ti.sysbios.gates (null): */

/* Content from ti.sdo.utils (null): */

/* Content from ti.sysbios.heaps (null): */

/* Content from ti.sysbios.syncs (null): */

/* Content from xdc.services.getset (null): */

/* Content from ti.sysbios.xdcruntime (null): */

/* Content from ti.sysbios.family.c66 (null): */

/* Content from ti.sysbios.family.c64p (null): */

/* Content from ti.sysbios.family.c62 (null): */

/* Content from ti.sysbios.timers.timer64 (null): */

/* Content from ti.sysbios.family.c64p.tci6488 (null): */

/* Content from ti.sysbios.utils (null): */

/* Content from ti.catalog.c6000 (null): */

/* Content from ti.catalog (null): */

/* Content from ti.catalog.peripherals.hdvicp2 (null): */

/* Content from xdc.platform (null): */

/* Content from xdc.cfg (null): */

/* Content from ti.sdo.ipc.examples.platforms.evm6678.core0 (null): */

/* Content from ti.sdo.ipc.heaps (null): */

/* Content from ti.sdo.ipc (ti/sdo/ipc/linkcmd.xdt): */

SECTIONS
{
    ti.sdo.ipc.SharedRegion_0:  { . += 0x200000;} run > 0xc000000, type = NOLOAD
}


/* Content from ti.sdo.ipc.family.c647x (null): */

/* Content from ti.sdo.ipc.notifyDrivers (null): */

/* Content from ti.sdo.ipc.transports (null): */

/* Content from ti.sdo.ipc.nsremote (null): */

/* Content from ti.sdo.ipc.gates (null): */

/* Content from configPkg (null): */


/*
 * symbolic aliases for static instance objects
 */
xdc_runtime_Startup__EXECFXN__C = 1;
xdc_runtime_Startup__RESETFXN__C = 1;
TSK_idle = ti_sysbios_knl_Task_Object__table__V + 68;

SECTIONS
{
    .ti.decompress: load > MSMC
    GROUP: load > LL2
    {
        .bss:
        .neardata:
        .rodata:
    }
    .pinit: load >> LL2
    .init_array: load > LL2
    .const: load >> LL2
    .data: load >> LL2
    .far: load >> LL2
    .fardata: load >> LL2
    .stack: load > LL2
    .args: load > LL2 align = 0x4, fill = 0 {_argsize = 0x0; }
    .cio: load >> LL2
    .ti.handler_table: load > LL2
    .vecs: load >> MSMC
    xdc.meta: load >> LL2, type = COPY

}