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 #10237-D: split placement (>>) ignored?

Other Parts Discussed in Thread: SYSBIOS

When I build my project I got the following warning message:

 "./configPkg/linker.cmd", line 304: warning #10237-D: split placement (>>)
   ignored for ".internal":  split run placement for this section is not
   permitted

My cfg files is as follows:

switch (Program.platformName) {
    case "ti.sdo.ipc.examples.platforms.evm6670.core0":
        var nameList = ["CORE0", "CORE1", "CORE2", "CORE3"];
        break;
    case "ti.sdo.ipc.examples.platforms.evm6678.core0":
        var nameList = ["CORE0", "CORE1", "CORE2", "CORE3",
                        "CORE4", "CORE5", "CORE6", "CORE7"];
        break;
    case "ti.platforms.evm6678":
        var nameList = ["CORE0", "CORE1", "CORE2", "CORE3",
                        "CORE4", "CORE5", "CORE6", "CORE7"];
        break;
    default:
        throw("Platform " + Program.platformName + " not supported by this example");
        break;
}

var Timestamp = xdc.useModule('xdc.runtime.Timestamp');
var GateMP = xdc.useModule('ti.sdo.ipc.GateMP');
var Settings = xdc.useModule('ti.csl.Settings');
var Hwi = xdc.useModule('ti.sysbios.hal.Hwi');
var Error = xdc.useModule('xdc.runtime.Error');
var CpIntc = xdc.useModule('ti.sysbios.family.c66.tci66xx.CpIntc');
var Cache = xdc.useModule('ti.sysbios.family.c66.Cache')
var Mailbox = xdc.useModule('ti.sysbios.knl.Mailbox')
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer')
var Hyperlink = xdc.useModule('ti.drv.hyplnk.Settings')

/*
 *  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.
 */
var MultiProc = xdc.useModule('ti.sdo.utils.MultiProc');
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;

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   = 0xc000;
var Task        = xdc.useModule('ti.sysbios.knl.Task');
var Semaphore   = xdc.useModule('ti.sysbios.knl.Semaphore');

/*Program.sectMap[".pcie"] = "L2SRAM";*/
Program.sectMap[".internal"] = "L2SRAM";
Program.sectMap[".shared"] = "MSMCSRAM";
Program.sectMap[".pcie"] = "DDR3";
Program.sectMap[".ddr3"] = "DDR3";
Program.sectMap[".hyplnkMapped"] = "DDR3";
Program.sectMap[".cinit"] = "DDR3";

/* 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       = 0x00100000;

var jobSHAREDMEM           = 0x0C100000;
var jobSHAREDMEMSIZE       = 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.numEntries = 3;
SharedRegion.setEntryMeta(0,
    { base: SHAREDMEM,
      len:  SHAREDMEMSIZE,
      ownerProcId: 0,
      isValid: true,
      createHeap: true,
      name: "Shared 0",
    });
SharedRegion.setEntryMeta(1,
    { base: jobSHAREDMEM,
      len:  jobSHAREDMEMSIZE,
      ownerProcId: 0,
      isValid: true,
      createHeap: true,
      name: "Job Shared",
    });

I also attached the generatd linker.cmd. Could anyone tell me what is wrong and how I can resolve the warning?

Dongning

 

7608.TI_E2E_20120420_Split.zip

 

  • Dongning,
    it's a known bug. The directive that allocates .internal specifies that the section can be split if needed, and the linker warns that the content of the section does not allow splitting. In reality, it's not very often that the linker would even try to split a section withing one memory segment.
    However, if you still want to get rid of the warning before the bug is fixed, you can do following:
    1) comment out or remove the Program.sectMap entry for ".internal".
    2) use Program.sectionsTemplate parameter to specify a template file that you will add to the project:
         Program.sectionsTemplate = "../myLink.xdt";
         The relative path might need one more "../" to work correctly.
    3) create a file myLink.xdt in your project and add the following lines to it:
    .internal > L2SRAM
    `args[1]`
    The first line allocates .internal to L2SRAM as a non-splittable section (that's what '<' means) and the second line adds the rest of the content for the SECTIONS directive. The second line uses backquotes, it won't work with standard single quotes.

  • Hi Sasha,

    Thank you very much for your reply.

    Using Program.sectionsTemplate fixed the problem.

    The 2nd line in your reply has a typo. It should be `$args[1]` instead of `args[1]`.

     

    Dongning

     

    • Shasha,

    Is this the same errors or should I open another post? If it is the same discussion, can you elaborate on what the warnings mean and when you think it will be fixed in CCS?

    This is the configuration line in my .cfg:

    Program.sectMap[".srioSharedMem"] = "MSMCSRAM";

    Here is the code:

    #ifdef __cplusplus

    #pragma DATA_ALIGN (128)

    #pragma DATA_SECTION(".srioSharedMem")

    TrackerCfgStruct glTrackercfg;

    #pragma DATA_ALIGN (128)

    #pragma DATA_SECTION(".srioSharedMem")

    unsigned int glAssocationStartFlag;

    #pragma DATA_ALIGN (128)

    #pragma DATA_SECTION(".srioSharedMem")

    unsigned int glSolverStartFlag;

    #else

    Here are the warnings:

    "./configPkg/linker.cmd", line 283: warning #10237-D: split placement (>>) ignored for ".srioSharedMem": split run placement for this section is not permitted

    warning #10281-D: Section ".srioSharedMem" requires a STATIC_BASE relative relocation, but is located at 0x0c039c00, which is probably out of range of the STATIC_BASE. STATIC_BASE is located at 0x00867a00. Might be required to correct placement of ".srioSharedMem" so it lies within 0x8000 of the STATIC_BASE.

    warning #10281-D: Section ".srioSharedMem" requires a STATIC_BASE relative relocation, but is located at 0x0c039c00, which is probably out of range of the STATIC_BASE. STATIC_BASE is located at 0x00867a00. Might be required to correct placement of ".srioSharedMem" so it lies within 0x8000 of the STATIC_BASE.

    "C:/Users/brandy/Workspace/TI_Libraries/pdk_C6678_1_0_0_21/packages/ti/csl/csl_cacheAux.h", line 668: warning #17003-D: relocation from function "associationTask" to symbol "glAssocationStartFlag" overflowed; the 26-bit relocated address 0x2df7bb2 is too large to encode in the 15-bit unsigned field (type = 'R_C6000_SBR_U15_W' (13), file = "C:/Users/brandy/Workspace/PXMTracking/trunk/bin/pxm_tracking/MHTAssocate_MT.obj", offset = 0x00000160, section = ".text")

    "C:/Users/brandy/Workspace/TI_Libraries/pdk_C6678_1_0_0_21/packages/ti/csl/csl_cacheAux.h", line 668: warning #17003-D: relocation from function "associationTask" to symbol "glAssocationStartFlag" overflowed; the 26-bit relocated address 0x2df7bb2 is too large to encode in the 15-bit unsigned field (type = 'R_C6000_SBR_U15_W' (13), file = "C:/Users/brandy/Workspace/PXMTracking/trunk/bin/pxm_tracking/MHTAssociate_MT.obj", offset = 0x0000016c, section = ".text")

    "C:/Users/brandy/Workspace/TI_Libraries/pdk_C6678_1_0_0_21/packages/ti/csl/csl_cacheAux.h", line 668: warning #17003-D: relocation from function "associationTask" to symbol "glAssocationStartFlag" overflowed; the 26-bit relocated address 0x2df7bb2 is too large to encode in the 15-bit unsigned field (type = 'R_C6000_SBR_U15_W' (13), file = "C:/Users/brandy/Workspace/PXMTracking/trunk/bin/pxm_tracking/MHTAssociate_MT.obj", offset = 0x00000174, section = ".text")

    "C:/Users/brandy/Workspace/TI_Libraries/pdk_C6678_1_0_0_21/packages/ti/csl/csl_cacheAux.h", line 668: warning #17003-D: relocation from function "associationTask" to symbol "glAssocationStartFlag" overflowed; the 26-bit relocated address 0x2df7bb2 is too large to encode in the 15-bit unsigned field (type = 'R_C6000_SBR_U15_W' (13), file ="C:/Users/brandy/Workspace/PXMTracking/trunk/bin/pxm_tracking/MHTAssociate_MT.obj", offset = 0x000001b4, section = ".text")

    "C:/Users/brandy/Workspace/TI_Libraries/pdk_C6678_1_0_0_21/packages/ti/csl/csl_cacheAux.h", line 668: warning #17003-D: relocation from function "associationTask" to symbol "glAssocationStartFlag" overflowed; the 26-bit relocated address 0x2df7bb2 is too large to encode in the 15-bit unsigned field (type = 'R_C6000_SBR_U15_W' (13), file ="C:/Users/brandy/Workspace/PXMTracking/trunk/bin/pxm_tracking/MHTAssociate_MT.obj", offset = 0x000001c4, section = ".text")

    "C:/Users/brandy/Workspace/TI_Libraries/pdk_C6678_1_0_0_21/packages/ti/csl/csl_cacheAux.h", line 668: warning #17003-D: relocation from function "associationTask" to symbol "glAssocationStartFlag" overflowed; the 26-bit relocated address 0x2df7bb2 is too large to encode in the 15-bit unsigned field (type = 'R_C6000_SBR_U15_W' (13), file = "C:/Users/brandy/Workspace/PXMTracking/trunk/bin/pxm_tracking/MHTAssociate_MT.obj", offset = 0x000001cc, section = ".text")

    "C:/Users/brandy/Workspace/TI_Libraries/pdk_C6678_1_0_0_21/packages/ti/csl/csl_cacheAux.h", line 668: warning #17003-D: relocation from function "Execute" to symbol "glAssocationStartFlag" overflowed; the 26-bit relocated address 0x2df7bb2 is too large to encode in the 15-bit unsigned field (type = 'R_C6000_SBR_U15_W' (13), file ="C:/Users/brandy/Workspace/PXMTracking/trunk/bin/pxm_tracking/MHTAssociate_MT.obj", offset = 0x0000046c, section = ".text")

    "C:/Users/brandy/Workspace/TI_Libraries/pdk_C6678_1_0_0_21/packages/ti/csl/csl_cacheAux.h", line 668: warning #17003-D: relocation from function "Execute" to symbol "glAssocationStartFlag" overflowed; the 26-bit relocated address 0x2df7bb2 is too large to encode in the 15-bit unsigned field (type = 'R_C6000_SBR_U15_W' (13), file ="C:/Users/brandy/Workspace/PXMTracking/trunk/bin/pxm_tracking/MHTAssociate_MT.obj", offset = 0x00000478, section = ".text")

    "C:/Users/brandy/Workspace/TI_Libraries/pdk_C6678_1_0_0_21/packages/ti/csl/csl_cacheAux.h", line 668: warning #17003-D: relocation from function "Execute" to symbol "glAssocationStartFlag" overflowed; the 26-bit relocated address 0x2df7bb2 is too large to encode in the 15-bit unsigned field (type = 'R_C6000_SBR_U15_W' (13), file = "C:/Users/brandy/Workspace/PXMTracking/trunk/bin/pxm_tracking/MHTAssociate_MT.obj", offset = 0x00000484, section = ".text")

    "C:/Users/brandy/Workspace/TI_Libraries/pdk_C6678_1_0_0_21/packages/ti/csl/csl_cacheAux.h", line 668: warning #17003-D:relocation from function "Execute" to symbol "glAssocationStartFlag" overflowed; the 26-bit relocated address 0x2df7bb2 is too large to encode in the 15-bit unsigned field (type = 'R_C6000_SBR_U15_W' (13), file = "C:/Users/brandy/Workspace/PXMTracking/trunk/bin/pxm_tracking/MHTAssociate_MT.obj", offset = 0x0000048c, section = ".text")

    "C:/Users/brandy/Workspace/TI_Libraries/pdk_C6678_1_0_0_21/packages/ti/csl/csl_cacheAux.h", line 668: warning #17003-D: relocation from function "Execute" to symbol "glAssocationStartFlag" overflowed; the 26-bit relocated address 0x2df7bb2 is too large to encode in the 15-bit unsigned field (type = 'R_C6000_SBR_U15_W' (13), file = "C:/Users/brandy/Workspace/PXMTracking/trunk/bin/pxm_tracking/MHTAssociate_MT.obj", offset = 0x00000498, section = ".text")

    "C:/Users/brandy/Workspace/TI_Libraries/pdk_C6678_1_0_0_21/packages/ti/csl/csl_cacheAux.h", line 668: warning #17003-D: relocation from function "Execute" to symbol "glAssocationStartFlag" overflowed; the 26-bit relocated address 0x2df7bb2 is too large to encode in the 15-bit unsigned field (type = 'R_C6000_SBR_U15_W' (13), file = "C:/Users/brandy/Workspace/PXMTracking/trunk/bin/pxm_tracking/MHTAssociate_MT.obj", offset = 0x000004a0, section = ".text")

    warning #10015-D: output file "../../bin/pxm_tracking/PXMTracking.out" cannot be loaded and run on a target system

    'Finished building target: ../../bin/pxm_tracking/PXMTracking.out'

    Thanks,
    brandy

     

  • Brandy,
    the first warning is the same one as in the previous posts. However, other warnings are much more serious and are not related to the first one. I suspect that you are missing some kind of 'far' directive in your declarations. You'll get a better answer to that question in the tools forum.

  • Hi Sasha,

    Sorry to reply again, but I just started to track this down a bit more.  It looks like this is becuase of my cache invalidate and cache write back calls to these variables.  I am using the CSL calls.  I think this means it might be related to BIOS.  here is an example of the calls that it gets upset on:

    while ((CSL_semAcquireDirect (CONFIG_HW_SEM)) == 0);

    {

    CACHE_invL1d((void *) &cfg, sizeof(TrackerCfgStruct), CACHE_WAIT);

    memcpy(cfg, &DEFAULT_TRACKER_CFG, sizeof(TrackerCfgStruct));

    CACHE_wbL1d((void *)&cfg, sizeof(TrackerCfgStruct), CACHE_WAIT);

    }CSL_semReleaseSemaphore (CONFIG_HW_SEM);

    Thanks,
    brandy

     

  • Also, I am trying to compile in C++.  The code above is in a class.