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.

TMS320C6657:TMS320C6657+把核0核1的全局数据定义在不同的DDR内存段中

Part Number: TMS320C6657

我现在使用的TMS320C6657的开发板,使用sys/bios,双核,单镜像程序,我是在程序中通过DNUM来区分核0 和 核1运行的代码段的,但是我现在遇到一个问题,就是我没找到方法把核0核1的全局数据定义在不同的DDR内存段中,我知道可以先用平台把DDR内存分成不同的段,但是我不知道怎么把这些数据分配在不同段?数据包括全局变量和任务里申明的局部变量

  • Dear Customer,

    Chinese language is a beautiful language. I really did not have a chance to learn it.

    Would you please post your query in English ?

    Thanks in advance,

    Regards

    Shankari G

  • The development board I am currently using, TMS320C6657, uses sys/bios, dual core, and single mirror programs. I use DNUM in the program to distinguish the code segments running on Core 0 and Core 1. However, I am currently facing a problem where I have not found a way to define the global data of Core 0 and Core 1 in different DDR memory segments. I know that the DDR memory can be divided into different segments using the platform, but I don't know how to allocate this data in different segments? The data includes global variables and local variables declared in the task

  • Hi

    We have to use the linker.cmd to define our memory map and its sections.

    For example:- 

    /******************************************************************************
     * Copyright (c) 2010-2011 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 command file
     *
     */
    
    -c
    -heap  0x41000
    -stack 0xa000
    
    /* Memory Map 1 - the default */
    MEMORY
    {
        L1PSRAM (RWX)  : org = 0x0E00000, len = 0x7FFF
        L1DSRAM (RWX)  : org = 0x0F00000, len = 0x7FFF 
    
        L2SRAM (RWX)   : org = 0x0800000, len = 0x080000
        MSMCSRAM (RWX) : org = 0xc000000, len = 0x100000
        DDR3 (RWX)     : org = 0x80000000,len = 0x20000000
    }
    
    
    SECTIONS
    {
        .csl_vect   >       MSMCSRAM
        .text       >       MSMCSRAM
        GROUP (NEAR_DP)
        {
        .neardata
        .rodata
        .bss
        } load > MSMCSRAM
        .stack      >       MSMCSRAM
        .cinit      >       MSMCSRAM
        .cio        >       MSMCSRAM
        .const      >       MSMCSRAM
        .data       >       MSMCSRAM
        .switch     >       MSMCSRAM
        .sysmem     >       MSMCSRAM
        .far        >       MSMCSRAM
        .testMem    >       MSMCSRAM
        .fardata    >       MSMCSRAM
        platform_lib > 		MSMCSRAM
    }
    
    

    --

    Once you build your program, a "*.map" will be created, in which we will be able to see the memory configuration, section allocation map and global symbols etc...

    For example:-

    ******************************************************************************
                   TMS320C6x Linker PC v8.3.5                      
    ******************************************************************************
    >> Linked Wed Mar 27 16:34:04 2024
    
    OUTPUT FILE NAME:   <platform_test_evmc6657l.out>
    ENTRY POINT SYMBOL: "_c_int00"  address: 0c051b20
    
    
    MEMORY CONFIGURATION
    
             name            origin    length      used     unused   attr    fill
    ----------------------  --------  ---------  --------  --------  ----  --------
      L2SRAM                00800000   00080000  00000000  00080000  RW X
      L1PSRAM               00e00000   00007fff  00000000  00007fff  RW X
      L1DSRAM               00f00000   00007fff  00000000  00007fff  RW X
      MSMCSRAM              0c000000   00100000  0005eafa  000a1506  RW X
      DDR3                  80000000   20000000  00000000  20000000  RW X
    
    
    SEGMENT ALLOCATION MAP
    
    run origin  load origin   length   init length attrs members
    ----------  ----------- ---------- ----------- ----- -------
    0c000000    0c000000    00041000   00000000    rw-
      0c000000    0c000000    00041000   00000000    rw- .sysmem
    0c041000    0c041000    00011560   00011560    r-x
      0c041000    0c041000    00011560   00011560    r-x .text
    0c052560    0c052560    0000a000   00000000    rw-
      0c052560    0c052560    0000a000   00000000    rw- .stack
    0c05c560    0c05c560    00001026   00001026    r--
      0c05c560    0c05c560    00001026   00001026    r-- .const
    0c05d588    0c05d588    000013a0   00000000    rw-
      0c05d588    0c05d588    00000da0   00000000    rw- platform_lib
      0c05e328    0c05e328    00000350   00000000    rw- .fardata
      0c05e678    0c05e678    00000190   00000000    rw- .far
      0c05e808    0c05e808    00000120   00000000    rw- .cio
    0c05e928    0c05e928    00000048   00000048    r--
      0c05e928    0c05e928    00000048   00000048    r-- .switch
    0c05e970    0c05e970    0000000c   00000000    rw-
      0c05e970    0c05e970    00000008   00000000    rw- .neardata
      0c05e978    0c05e978    00000004   00000000    rw- .bss
    0c05e980    0c05e980    00000180   00000180    r--
      0c05e980    0c05e980    00000180   00000180    r-- .cinit
    
    
    SECTION ALLOCATION MAP
    
     output                                  attributes/
    section   page    origin      length       input sections
    --------  ----  ----------  ----------   ----------------
    .sysmem    0    0c000000    00041000     UNINITIALIZED
                      0c000000    00000008     rts6600_elf.lib : memory.c.obj (.sysmem)
                      0c000008    00040ff8     --HOLE--
    
    .text      0    0c041000    00011560     
                      0c041000    000025a0     platform_test.obj (.text)
                      0c0435a0    00001fe0     rts6600_elf.lib : _printfi.c.obj (.text:__TI_printfi)
                      0c045580    00001f60     ti.platform.evm6657l.ae66 : platform.obj (.text)
                      0c0474e0    000019e0                               : evmc6657.obj (.text)
                      0c048ec0    00001180                               : evmc665x_nand.obj (.text)
                      0c04a040    00000d20                               : evmc665x_i2c_eeprom.obj (.text)
                      0c04ad60    00000700                               : evmc665x_uart.obj (.text)
                      0c04b460    00000640     rts6600_elf.lib : _printfi.c.obj (.text:_pconv_a)
                      0c04baa0    00000600                     : divd.c.obj (.text:__c6xabi_divd)
                      0c04c0a0    00000600     ti.platform.evm6657l.ae66 : evmc665x_spi.obj (.text)
                      0c04c6a0    00000520                               : evmc665x_nor.obj (.text)
                      0c04cbc0    000004a0                               : evmc665x_fpga.obj (.text)
                      0c04d060    00000440     rts6600_elf.lib : _printfi.c.obj (.text:_pconv_g)
                      0c04d4a0    000003c0                     : memory.c.obj (.text:free)
                      0c04d860    000003a0                     : strtol.c.obj (.text:strtol)
                      0c04dc00    00000320                     : fgets.c.obj (.text:_dofgets)
                      0c04df20    000002e0                     : fputs.c.obj (.text:fputs)
                      0c04e200    000002c0                     : _printfi.c.obj (.text:fcvt)
                      0c04e4c0    000002a0                     : _printfi.c.obj (.text:_pconv_e)
                      0c04e760    00000240                     : imath64.c.obj (.text:__c6xabi_divull)
                      0c04e9a0    00000220                     : open.c.obj (.text:open)
                      0c04ebc0    000001c0                     : imath40.c.obj (.text:__c6xabi_divul)
                      0c04ed80    000001c0                     : _printfi.c.obj (.text:_ltostr)
                      0c04ef40    000001c0                     : fopen.c.obj (.text:_openfile)
                      0c04f100    000001c0                     : fputc.c.obj (.text:fputc)
                      0c04f2c0    000001c0                     : ldexp.c.obj (.text:ldexp)
                      0c04f480    000001c0                     : memory.c.obj (.text:malloc)
                      0c04f640    000001c0                     : setvbuf.c.obj (.text:setvbuf)
                      0c04f800    000001a0                     : hostrename.c.obj (.text:HOSTrename)
                      0c04f9a0    000001a0                     : frexp.c.obj (.text:frexp)
                      0c04fb40    00000160                     : _bufread.c.obj (.text:__TI_buff_read)
                      0c04fca0    00000160     ti.platform.evm6657l.ae66 : evmc665x_phy.obj (.text)
                      0c04fe00    00000140     rts6600_elf.lib : fopen.c.obj (.text:fopen)
                      0c04ff40    00000120                     : _printfi.c.obj (.text:_pconv_f)
                      0c050060    00000120                     : getdevice.c.obj (.text:getdevice)
                      0c050180    00000100                     : fclose.c.obj (.text:__TI_closefile)
                      0c050280    00000100                     : copy_decompress_rle.c.obj (.text:__TI_decompress_rle_core)
                      0c050380    00000100                     : _printfi.c.obj (.text:_mcpy)
                      0c050480    00000100                     : atoi.c.obj (.text:atoi)
                      0c050580    00000100                     : fseek.c.obj (.text:fseek)
                      0c050680    000000e0                     : hostlseek.c.obj (.text:HOSTlseek)
                      0c050760    000000e0                     : hostopen.c.obj (.text:HOSTopen)
                      0c050840    000000e0                     : hostwrite.c.obj (.text:HOSTwrite)
                      0c050920    000000e0                     : _ltoa.c.obj (.text:__TI_ltoa)
                      0c050a00    000000e0                     : _io_perm.c.obj (.text:__TI_wrt_ok)
                      0c050ae0    000000e0                     : close.c.obj (.text:close)
                      0c050bc0    000000e0                     : exit.c.obj (.text:exit)
                      0c050ca0    000000e0                     : memset.c.obj (.text:memset)
                      0c050d80    000000e0                     : printf.c.obj (.text:printf)
                      0c050e60    000000c0                     : hostread.c.obj (.text:HOSTread)
                      0c050f20    000000c0                     : hostunlink.c.obj (.text:HOSTunlink)
                      0c050fe0    000000c0                     : autoinit.c.obj (.text:__TI_auto_init_nobinit_nopinit:__TI_auto_init_nobinit_nopinit)
                      0c0510a0    000000c0                     : fflush.c.obj (.text:__TI_doflush)
                      0c051160    000000c0                     : divu.asm.obj (.text:__divu)
                      0c051220    000000c0                     : memory.c.obj (.text:minsert)
                      0c0512e0    000000c0                     : memory.c.obj (.text:mremove)
                      0c0513a0    000000c0                     : strtok.c.obj (.text:strtok)
                      0c051460    000000c0                     : tls.c.obj (.text:tls:init:__TI_tls_init)
                      0c051520    000000a0                     : hostclose.c.obj (.text:HOSTclose)
                      0c0515c0    000000a0                     : fopen.c.obj (.text:__TI_cleanup)
                      0c051660    000000a0                     : _io_perm.c.obj (.text:__TI_rd_ok)
                      0c051700    000000a0                     : remu.asm.obj (.text:__remu)
                      0c0517a0    000000a0                     : _printfi.c.obj (.text:_ecpy)
                      0c051840    000000a0                     : getdevice.c.obj (.text:finddevice)
                      0c0518e0    000000a0                     : memcpy64.asm.obj (.text:memcpy)
                      0c051980    000000a0                     : strspn.c.obj (.text:strspn)
                      0c051a20    00000080                     : trgmsg.c.obj (.text:__TI_readmsg)
                      0c051aa0    00000080                     : llshift.c.obj (.text:__c6xabi_llshl)
                      0c051b20    00000080                     : boot.c.obj (.text:_c_int00)
                      0c051ba0    00000080                     : fclose.c.obj (.text:fclose)
                      0c051c20    00000080                     : strncpy.c.obj (.text:strncpy)
                      0c051ca0    00000080     ti.platform.evm6657l.ae66 : evm665x_i2c.obj (.text)
                      0c051d20    00000080     rts6600_elf.lib : unlink.c.obj (.text:unlink)
                      0c051da0    00000060                     : frcmpyd_div.c.obj (.text:__TI_frcmpyd_div)
                      0c051e00    00000060                     : trgmsg.c.obj (.text:__TI_writemsg)
                      0c051e60    00000060                     : llshift.c.obj (.text:__c6xabi_llshru)
                      0c051ec0    00000060                     : imath64.c.obj (.text:_subcull)
                      0c051f20    00000060                     : lseek.c.obj (.text:lseek)
                      0c051f80    00000060                     : memccpy.c.obj (.text:memccpy)
                      0c051fe0    00000060                     : memcmp.c.obj (.text:memcmp)
                      0c052040    00000060                     : read.c.obj (.text:read)
                      0c0520a0    00000060                     : strcmp.c.obj (.text:strcmp)
                      0c052100    00000060                     : strcspn.c.obj (.text:strcspn)
                      0c052160    00000060                     : write.c.obj (.text:write)
                      0c0521c0    00000040                     : isinf.c.obj (.text:__c6xabi_isinf)
                      0c052200    00000040                     : _printfi.c.obj (.text:__c6xabi_isnan)
                      0c052240    00000040                     : args_main.c.obj (.text:_args_main)
                      0c052280    00000040                     : vsprintf.c.obj (.text:_outs)
                      0c0522c0    00000040                     : strlen.c.obj (.text:strlen)
                      0c052300    00000040                     : vsprintf.c.obj (.text:vsprintf)
                      0c052340    00000040                     : wcslen.c.obj (.text:wcslen)
                      0c052380    00000020                     : errno.c.obj (.text:__c6xabi_errno_addr)
                      0c0523a0    00000020                     : push.asm.obj (.text:__pop_rts)
                      0c0523c0    00000020                     : push.asm.obj (.text:__push_rts)
                      0c0523e0    00000020                     : _lock.c.obj (.text:_nop)
                      0c052400    00000020                     : printf.c.obj (.text:_outc)
                      0c052420    00000020                     : vsprintf.c.obj (.text:_outc)
                      0c052440    00000020                     : printf.c.obj (.text:_outs)
                      0c052460    00000020                     : signbit.c.obj (.text:_signbit)
                      0c052480    00000020                     : startup.c.obj (.text:_system_post_cinit)
                      0c0524a0    00000020                     : pre_init.c.obj (.text:_system_pre_init)
                      0c0524c0    00000020                     : exit.c.obj (.text:abort)
                      0c0524e0    00000020     ti.csl.ae66 : csl_tsc.oe66 (.text:cslsys_section:tsc)
                      0c052500    00000020     rts6600_elf.lib : copy_decompress_none.c.obj (.text:decompress:none:__TI_decompress_none)
                      0c052520    00000020                     : copy_decompress_rle.c.obj (.text:decompress:rle24:__TI_decompress_rle24)
                      0c052540    00000020                     : fgets.c.obj (.text:fgets)
    
    .stack     0    0c052560    0000a000     UNINITIALIZED
                      0c052560    00000008     rts6600_elf.lib : boot.c.obj (.stack)
                      0c052568    00009ff8     --HOLE--
    
    .const     0    0c05c560    00001026     
                      0c05c560    00000e34     platform_test.obj (.const:.string)
                      0c05d394    00000004     --HOLE-- [fill = 0]
                      0c05d398    00000101     rts6600_elf.lib : ctype.c.obj (.const:.string:_ctypes_)
                      0c05d499    00000003     --HOLE-- [fill = 0]
                      0c05d49c    00000058     ti.platform.evm6657l.ae66 : platform.obj (.const:.string)
                      0c05d4f4    00000004     --HOLE-- [fill = 0]
                      0c05d4f8    00000028                               : evmc665x_nand.obj (.const:.string:$P$T0$1)
                      0c05d520    00000028                               : evmc665x_nand.obj (.const:.string:$P$T1$2)
                      0c05d548    00000024     rts6600_elf.lib : _printfi.c.obj (.const:.string)
                      0c05d56c    00000004     --HOLE-- [fill = 0]
                      0c05d570    0000000c     platform_test.obj (.const:.string:$P$T1$2)
                      0c05d57c    00000004     --HOLE-- [fill = 0]
                      0c05d580    00000006     platform_test.obj (.const:.string:$P$T0$1)
    
    platform_lib 
    *          0    0c05d588    00000da0     UNINITIALIZED
                      0c05d588    00000840     ti.platform.evm6657l.ae66 : evmc665x_nand.obj (platform_lib)
                      0c05ddc8    00000458                               : platform.obj (platform_lib:uninit)
                      0c05e220    00000108                               : platform.obj (platform_lib:init)
    
    .far       0    0c05e678    00000190     UNINITIALIZED
                      0c05e678    00000140     (.common:__TI_tmpnams)
                      0c05e7b8    00000044     (.common:gI2cBlock)
                      0c05e7fc    00000004     --HOLE--
                      0c05e800    00000008     (.common:parmbuf)
    
    .cio       0    0c05e808    00000120     UNINITIALIZED
                      0c05e808    00000120     rts6600_elf.lib : trgmsg.c.obj (.cio)
    
    .neardata 
    *          0    0c05e970    00000008     UNINITIALIZED
                      0c05e970    00000008     ti.platform.evm6657l.ae66 : platform.obj (.neardata)
    
    .rodata    0    0c05e978    00000000     UNINITIALIZED
    
    .bss       0    0c05e978    00000004     UNINITIALIZED
                      0c05e978    00000004     ti.platform.evm6657l.ae66 : evmc665x_spi.obj (.bss)
    
    .cinit     0    0c05e980    00000180     
                      0c05e980    0000009b     (.cinit.platform_lib.load) [load image, compression = rle]
                      0c05ea1b    00000094     (.cinit..fardata.load) [load image, compression = rle]
                      0c05eaaf    0000000b     (.cinit..far.load) [load image, compression = rle]
                      0c05eaba    00000009     (.cinit..bss.load) [load image, compression = rle]
                      0c05eac3    00000009     (.cinit..neardata.load) [load image, compression = rle]
                      0c05eacc    00000008     (__TI_handler_table)
                      0c05ead4    00000004     --HOLE-- [fill = 0]
                      0c05ead8    00000028     (__TI_cinit_table)
    
    .switch    0    0c05e928    00000048     
                      0c05e928    00000038     rts6600_elf.lib : _printfi.c.obj (.switch:__TI_printfi)
                      0c05e960    00000010     ti.platform.evm6657l.ae66 : evmc665x_nand.obj (.switch:NandCorrect4bitECC)
    
    .fardata   0    0c05e328    00000350     UNINITIALIZED
                      0c05e328    000001e0     rts6600_elf.lib : defs.c.obj (.fardata:_ftable)
                      0c05e508    000000a0                     : write.c.obj (.fardata:_stream)
                      0c05e5a8    00000078                     : write.c.obj (.fardata:_device)
                      0c05e620    00000026     platform_test.obj (.fardata:input_file_name)
                      0c05e646    00000002     --HOLE--
                      0c05e648    0000000c     rts6600_elf.lib : exit.c.obj (.fardata)
                      0c05e654    00000008                     : memory.c.obj (.fardata)
                      0c05e65c    00000004                     : _lock.c.obj (.fardata:_lock)
                      0c05e660    00000004                     : _lock.c.obj (.fardata:_unlock)
                      0c05e664    00000004                     : defs.c.obj (.fardata)
                      0c05e668    00000004                     : errno.c.obj (.fardata)
                      0c05e66c    00000004                     : fopen.c.obj (.fardata)
                      0c05e670    00000004                     : open.c.obj (.fardata)
                      0c05e674    00000004                     : strtok.c.obj (.fardata)
    
    MODULE SUMMARY
    
           Module                       code    ro data   rw data
           ------                       ----    -------   -------
        .\src\
           platform_test.obj            9632    3654      38     
        +--+----------------------------+-------+---------+---------+
           Total:                       9632    3654      38     
                                                                 
        C:/ti/pdk_c665x_2_0_16/packages/ti/csl/lib/c6657/c66/release/ti.csl.ae66
           csl_tsc.oe66                 32      0         0      
        +--+----------------------------+-------+---------+---------+
           Total:                       32      0         0      
                                                                 
        C:/ti/pdk_c665x_2_0_16/packages/ti/platform/evmc6657l/platform_lib/lib/debug/ti.platform.evm6657l.ae66
           platform.obj                 8032    88        1384   
           evmc665x_nand.obj            4480    96        2112   
           evmc6657.obj                 6624    0         0      
           evmc665x_i2c_eeprom.obj      3360    0         68     
           evmc665x_uart.obj            1792    0         0      
           evmc665x_spi.obj             1536    0         4      
           evmc665x_nor.obj             1312    0         0      
           evmc665x_fpga.obj            1184    0         0      
           evmc665x_phy.obj             352     0         0      
           evm665x_i2c.obj              128     0         0      
        +--+----------------------------+-------+---------+---------+
           Total:                       28800   184       3568   
                                                                 
        C:\ti\ccs930\ccs\tools\compiler\ti-cgt-c6000_8.3.5\lib\rts6600_elf.lib
           _printfi.c.obj               13440   92        0      
           memory.c.obj                 1792    0         8      
           divd.c.obj                   1536    0         0      
           fopen.c.obj                  928     0         4      
           strtol.c.obj                 928     0         0      
           fgets.c.obj                  832     0         0      
           defs.c.obj                   0       0         804    
           fputs.c.obj                  736     0         0      
           imath64.c.obj                672     0         0      
           open.c.obj                   544     0         4      
           trgmsg.c.obj                 224     0         288    
           fputc.c.obj                  448     0         0      
           getdevice.c.obj              448     0         0      
           imath40.c.obj                448     0         0      
           ldexp.c.obj                  448     0         0      
           setvbuf.c.obj                448     0         0      
           frexp.c.obj                  416     0         0      
           hostrename.c.obj             416     0         0      
           _io_perm.c.obj               384     0         0      
           fclose.c.obj                 384     0         0      
           write.c.obj                  96      0         280    
           _bufread.c.obj               352     0         0      
           copy_decompress_rle.c.obj    288     0         0      
           printf.c.obj                 288     0         0      
           exit.c.obj                   256     0         12     
           ctype.c.obj                  0       257       0      
           atoi.c.obj                   256     0         0      
           fseek.c.obj                  256     0         0      
           hostopen.c.obj               224     0         8      
           _ltoa.c.obj                  224     0         0      
           close.c.obj                  224     0         0      
           hostlseek.c.obj              224     0         0      
           hostwrite.c.obj              224     0         0      
           llshift.c.obj                224     0         0      
           memset.c.obj                 224     0         0      
           strtok.c.obj                 192     0         4      
           autoinit.c.obj               192     0         0      
           divu.asm.obj                 192     0         0      
           fflush.c.obj                 192     0         0      
           hostread.c.obj               192     0         0      
           hostunlink.c.obj             192     0         0      
           tls.c.obj                    192     0         0      
           hostclose.c.obj              160     0         0      
           memcpy64.asm.obj             160     0         0      
           remu.asm.obj                 160     0         0      
           strspn.c.obj                 160     0         0      
           vsprintf.c.obj               160     0         0      
           boot.c.obj                   128     0         0      
           strncpy.c.obj                128     0         0      
           unlink.c.obj                 128     0         0      
           frcmpyd_div.c.obj            96      0         0      
           lseek.c.obj                  96      0         0      
           memccpy.c.obj                96      0         0      
           memcmp.c.obj                 96      0         0      
           read.c.obj                   96      0         0      
           strcmp.c.obj                 96      0         0      
           strcspn.c.obj                96      0         0      
           args_main.c.obj              64      0         0      
           isinf.c.obj                  64      0         0      
           push.asm.obj                 64      0         0      
           strlen.c.obj                 64      0         0      
           wcslen.c.obj                 64      0         0      
           _lock.c.obj                  32      0         8      
           errno.c.obj                  32      0         4      
           copy_decompress_none.c.obj   32      0         0      
           pre_init.c.obj               32      0         0      
           signbit.c.obj                32      0         0      
           startup.c.obj                32      0         0      
        +--+----------------------------+-------+---------+---------+
           Total:                       32544   349       1424   
                                                                 
           Heap:                        0       0         266240 
           Stack:                       0       0         40960  
           Linker Generated:            0       380       0      
        +--+----------------------------+-------+---------+---------+
           Grand Total:                 71008   4567      312230 
    
    
    LINKER GENERATED COPY TABLES
    
    __TI_cinit_table @ 0c05ead8 records: 5, size/record: 8, table size: 40
    	platform_lib: load addr=0c05e980, load size=0000009b bytes, run addr=0c05d588, run size=00000da0 bytes, compression=rle
    	.fardata: load addr=0c05ea1b, load size=00000094 bytes, run addr=0c05e328, run size=00000350 bytes, compression=rle
    	.far: load addr=0c05eaaf, load size=0000000b bytes, run addr=0c05e678, run size=00000190 bytes, compression=rle
    	.bss: load addr=0c05eaba, load size=00000009 bytes, run addr=0c05e978, run size=00000004 bytes, compression=rle
    	.neardata: load addr=0c05eac3, load size=00000009 bytes, run addr=0c05e970, run size=00000008 bytes, compression=rle
    
    
    LINKER GENERATED HANDLER TABLE
    
    __TI_handler_table @ 0c05eacc records: 2, size/record: 4, table size: 8
    	index: 0, handler: __TI_decompress_rle24
    	index: 1, handler: __TI_decompress_none
    
    
    GLOBAL SYMBOLS: SORTED ALPHABETICALLY BY Name 
    
    address   name                            
    -------   ----                            
    0c0524c0  C$$EXIT                         
    0c051e58  C$$IO$$                         
    0c0524e0  CSL_tscEnable                   
    0c0524e8  CSL_tscRead                     
    0c047480  Convert_CoreLocal2GlobalAddr    
    0c0487a0  CorePllcGetHwSetup              
    0c048538  CorePllcHwSetup                 
    0c048a98  DDR3Init                        
    0c051520  HOSTclose                       
    0c050680  HOSTlseek                       
    0c050760  HOSTopen                        
    0c050e60  HOSTread                        
    0c04f800  HOSTrename                      
    0c050f20  HOSTunlink                      
    0c050840  HOSTwrite                       
    0c049f10  NandGetDetails                  
    0c0494b4  NandReadSpareArea               
    0c0498cc  NandWriteDataBytes              
    0c049c0c  NandWriteSpareArea              
    0c041c24  Osal_platformFree               
    0c041c0c  Osal_platformMalloc             
    0c041c44  Osal_platformSpiCsEnter         
    0c041c64  Osal_platformSpiCsExit          
    0c048888  PowerUpDomains                  
    0c0488c8  SetDDR3PllConfig                
    0c04ad60  UartInit                        
    0c04b3c8  UartIsDataReady                 
    0c04b408  UartIsDataReady_B               
    0c04b1a0  UartReadBaudRate                
    0c04b20c  UartReadBaudRate_B              
    0c04b280  UartReadData                    
    0c04b2b0  UartReadData_B                  
    0c04b0b4  UartSetBaudRate                 
    0c04b128  UartSetBaudRate_B               
    0c04b2e4  UartWriteData                   
    0c04b348  UartWriteData_B                 
    0c05e808  __CIOBUF_                       
    0c05ead8  __TI_CINIT_Base                 
    0c05eb00  __TI_CINIT_Limit                
    0c05eacc  __TI_Handler_Table_Base         
    0c05ead4  __TI_Handler_Table_Limit        
    0c05c560  __TI_STACK_END                  
    0000a000  __TI_STACK_SIZE                 
    0c05e970  __TI_STATIC_BASE                
    00041000  __TI_SYSMEM_SIZE                
    UNDEFED   __TI_TLS_INIT_Base              
    UNDEFED   __TI_TLS_INIT_Limit             
    0c050fe0  __TI_auto_init_nobinit_nopinit  
    0c04fb40  __TI_buff_read                  
    0c0515c0  __TI_cleanup                    
    0c05e648  __TI_cleanup_ptr                
    0c050180  __TI_closefile                  
    0c052500  __TI_decompress_none            
    0c052520  __TI_decompress_rle24           
    0c0510a0  __TI_doflush                    
    0c05e64c  __TI_dtors_ptr                  
    0c05e650  __TI_enable_exit_profile_output 
    0c051da0  __TI_frcmpyd_div                
    0c05e664  __TI_ft_end                     
    0c050920  __TI_ltoa                       
    ffffffff  __TI_pprof_out_hndl             
    0c0435a0  __TI_printfi                    
    ffffffff  __TI_prof_data_size             
    ffffffff  __TI_prof_data_start            
    0c051660  __TI_rd_ok                      
    0c051a20  __TI_readmsg                    
    0c051460  __TI_tls_init                   
    0c05e678  __TI_tmpnams                    
    0c051e00  __TI_writemsg                   
    0c050a00  __TI_wrt_ok                     
    ffffffff  __binit__                       
    0c04baa0  __c6xabi_divd                   
    0c051160  __c6xabi_divu                   
    0c04ebc0  __c6xabi_divul                  
    0c04e760  __c6xabi_divull                 
    0c052380  __c6xabi_errno_addr             
    0c0521c0  __c6xabi_isinf                  
    0c051aa0  __c6xabi_llshl                  
    0c051e60  __c6xabi_llshru                 
    0c0523a0  __c6xabi_pop_rts                
    0c0523c0  __c6xabi_push_rts               
    0c051700  __c6xabi_remu                   
    ffffffff  __c_args__                      
    0c051160  __divu                          
    0c05e668  __errno                         
    0c0523a0  __pop_rts                       
    0c0523c0  __push_rts                      
    0c051700  __remu                          
    0c052240  _args_main                      
    0c051b20  _c_int00                        
    0c05d398  _ctypes_                        
    0c05e5a8  _device                         
    0c05e328  _ftable                         
    0c05e65c  _lock                           
    0c0523e0  _nop                            
    0c052460  _signbit                        
    0c052560  _stack                          
    0c05e508  _stream                         
    0c051ec0  _subcull                        
    0c000000  _sys_memory                     
    0c052480  _system_post_cinit              
    0c0524a0  _system_pre_init                
    0c05e660  _unlock                         
    0c0524c0  abort                           
    0c050480  atoi                            
    ffffffff  binit                           
    0c050ae0  close                           
    0c04fd80  configSerdes                    
    0c05e320  emac_port_mode                  
    0c05e668  errno                           
    0c051ca0  evmI2CInit                      
    0c050bc0  exit                            
    0c051ba0  fclose                          
    0c052540  fgets                           
    0c051840  finddevice                      
    0c04fe00  fopen                           
    0c04cc4c  fpgaControlUserLEDs             
    0c04ce10  fpgaDisableEepromWriteProtect   
    0c04ccf8  fpgaDisableNandWriteProtect     
    0c04cd88  fpgaDisableNorWriteProtect      
    0c04ce54  fpgaEnableEepromWriteProtect    
    0c04cd40  fpgaEnableNandWriteProtect      
    0c04cdcc  fpgaEnableNorWriteProtect       
    0c04cee4  fpgaGetAMCDetect                
    0c04ce98  fpgaGetUserSwitch               
    0c04cfd0  fpgaReadConfigurationRegister   
    0c04cf28  fpgaWriteConfigurationRegister  
    0c04f100  fputc                           
    0c04df20  fputs                           
    0c04d4a0  free                            
    0c04f9a0  frexp                           
    0c04f9a0  frexpl                          
    0c050580  fseek                           
    0c05e2ac  gDeviceEeprom0                  
    0c05e2e4  gDeviceEeprom1                  
    0c05e23c  gDeviceNand                     
    0c05de20  gDeviceNandBBlist               
    0c05e274  gDeviceNor                      
    0c05e7b8  gI2cBlock                       
    0c04cbc0  getBoardVersion                 
    0c04cc04  getFpgaDevID                    
    0c050060  getdevice                       
    0c04aa10  i2cEepromMacRead                
    0c04a798  i2cEepromMacWrite               
    0c04a330  i2cEepromRead                   
    0c04a520  i2cEepromWrite                  
    0c04a084  i2cEepromWriteBlock             
    0c04a648  i2cEepromWriteByteAddr          
    0c05e620  input_file_name                 
    0c04f2c0  ldexp                           
    0c04f2c0  ldexpl                          
    0c051f20  lseek                           
    0c0431d4  main                            
    0c04f480  malloc                          
    0c051f80  memccpy                         
    0c051fe0  memcmp                          
    0c0518e0  memcpy                          
    0c050ca0  memset                          
    0c049d40  nandFlashBlockErase             
    0c04a024  nandInit                        
    0c04caa0  nor_erase                       
    0c04c720  nor_get_details                 
    0c04c7b0  nor_init                        
    0c04c838  nor_read                        
    0c04c8c8  nor_write                       
    0c04e9a0  open                            
    0c05e800  parmbuf                         
    0c046d6c  platform_blocknpage_to_offset   
    0c046288  platform_delay                  
    0c0462f8  platform_delaycycles            
    0c046800  platform_device_close           
    0c0473ac  platform_device_erase_block     
    0c046934  platform_device_mark_block_bad  
    0c046688  platform_device_open            
    0c046af4  platform_device_read            
    0c046894  platform_device_read_spare_data 
    0c046e4c  platform_device_write           
    0c046a54  platform_device_write_spare_data
    0c05e970  platform_errno                  
    0c04634c  platform_external_memory_test   
    0c046224  platform_fpgaReadConfigReg      
    0c0461f8  platform_fpgaWriteConfigReg     
    0c045f88  platform_get_coreid             
    0c045f94  platform_get_emac_info          
    0c0460c8  platform_get_emac_start_evt_id  
    0c045a78  platform_get_info               
    0c04602c  platform_get_macaddr            
    0c0460d0  platform_get_phy_addr           
    0c0460f4  platform_get_switch_state       
    0c045d78  platform_init                   
    0c05e974  platform_init_return_code       
    0c0463c8  platform_internal_memory_test   
    0c046244  platform_led                    
    0c046c54  platform_offset_to_blocknpage   
    0c046104  platform_phy_link_status        
    0c0461e0  platform_uart_init              
    0c046118  platform_uart_read              
    0c0461a4  platform_uart_set_baudrate      
    0c046184  platform_uart_write             
    0c046550  platform_write                  
    0c046520  platform_write_configure        
    0c050d80  printf                          
    0c0483e0  prog_pll1_values                
    0c04f100  putc                            
    0c052040  read                            
    0c0495b4  readNandPage                    
    0c051d20  remove                          
    0c04f2c0  scalbn                          
    0c04f2c0  scalbnl                         
    0c045960  serial_num_isvalid              
    0c04f640  setvbuf                         
    0c04c0d0  spi_claim                       
    0c04c3f4  spi_cmd                         
    0c04c454  spi_cmd_read                    
    0c04c4b4  spi_cmd_write                   
    0c04c514  spi_read_word                   
    0c04c288  spi_release                     
    0c04c5e8  spi_write_word                  
    0c04c2a0  spi_xfer                        
    0c0520a0  strcmp                          
    0c052100  strcspn                         
    0c0522c0  strlen                          
    0c051c20  strncpy                         
    0c051980  strspn                          
    0c0513a0  strtok                          
    0c04d860  strtol                          
    0c051d20  unlink                          
    0c052300  vsprintf                        
    0c052340  wcslen                          
    0c052160  write                           
    0c049934  writeNandPage                   
    0c043178  write_boot_magic_number         
    0c048a4c  xmc_setup                       
    
    
    GLOBAL SYMBOLS: SORTED BY Symbol Address 
    
    address   name                            
    -------   ----                            
    0000a000  __TI_STACK_SIZE                 
    00041000  __TI_SYSMEM_SIZE                
    0c000000  _sys_memory                     
    0c041c0c  Osal_platformMalloc             
    0c041c24  Osal_platformFree               
    0c041c44  Osal_platformSpiCsEnter         
    0c041c64  Osal_platformSpiCsExit          
    0c043178  write_boot_magic_number         
    0c0431d4  main                            
    0c0435a0  __TI_printfi                    
    0c045960  serial_num_isvalid              
    0c045a78  platform_get_info               
    0c045d78  platform_init                   
    0c045f88  platform_get_coreid             
    0c045f94  platform_get_emac_info          
    0c04602c  platform_get_macaddr            
    0c0460c8  platform_get_emac_start_evt_id  
    0c0460d0  platform_get_phy_addr           
    0c0460f4  platform_get_switch_state       
    0c046104  platform_phy_link_status        
    0c046118  platform_uart_read              
    0c046184  platform_uart_write             
    0c0461a4  platform_uart_set_baudrate      
    0c0461e0  platform_uart_init              
    0c0461f8  platform_fpgaWriteConfigReg     
    0c046224  platform_fpgaReadConfigReg      
    0c046244  platform_led                    
    0c046288  platform_delay                  
    0c0462f8  platform_delaycycles            
    0c04634c  platform_external_memory_test   
    0c0463c8  platform_internal_memory_test   
    0c046520  platform_write_configure        
    0c046550  platform_write                  
    0c046688  platform_device_open            
    0c046800  platform_device_close           
    0c046894  platform_device_read_spare_data 
    0c046934  platform_device_mark_block_bad  
    0c046a54  platform_device_write_spare_data
    0c046af4  platform_device_read            
    0c046c54  platform_offset_to_blocknpage   
    0c046d6c  platform_blocknpage_to_offset   
    0c046e4c  platform_device_write           
    0c0473ac  platform_device_erase_block     
    0c047480  Convert_CoreLocal2GlobalAddr    
    0c0483e0  prog_pll1_values                
    0c048538  CorePllcHwSetup                 
    0c0487a0  CorePllcGetHwSetup              
    0c048888  PowerUpDomains                  
    0c0488c8  SetDDR3PllConfig                
    0c048a4c  xmc_setup                       
    0c048a98  DDR3Init                        
    0c0494b4  NandReadSpareArea               
    0c0495b4  readNandPage                    
    0c0498cc  NandWriteDataBytes              
    0c049934  writeNandPage                   
    0c049c0c  NandWriteSpareArea              
    0c049d40  nandFlashBlockErase             
    0c049f10  NandGetDetails                  
    0c04a024  nandInit                        
    0c04a084  i2cEepromWriteBlock             
    0c04a330  i2cEepromRead                   
    0c04a520  i2cEepromWrite                  
    0c04a648  i2cEepromWriteByteAddr          
    0c04a798  i2cEepromMacWrite               
    0c04aa10  i2cEepromMacRead                
    0c04ad60  UartInit                        
    0c04b0b4  UartSetBaudRate                 
    0c04b128  UartSetBaudRate_B               
    0c04b1a0  UartReadBaudRate                
    0c04b20c  UartReadBaudRate_B              
    0c04b280  UartReadData                    
    0c04b2b0  UartReadData_B                  
    0c04b2e4  UartWriteData                   
    0c04b348  UartWriteData_B                 
    0c04b3c8  UartIsDataReady                 
    0c04b408  UartIsDataReady_B               
    0c04baa0  __c6xabi_divd                   
    0c04c0d0  spi_claim                       
    0c04c288  spi_release                     
    0c04c2a0  spi_xfer                        
    0c04c3f4  spi_cmd                         
    0c04c454  spi_cmd_read                    
    0c04c4b4  spi_cmd_write                   
    0c04c514  spi_read_word                   
    0c04c5e8  spi_write_word                  
    0c04c720  nor_get_details                 
    0c04c7b0  nor_init                        
    0c04c838  nor_read                        
    0c04c8c8  nor_write                       
    0c04caa0  nor_erase                       
    0c04cbc0  getBoardVersion                 
    0c04cc04  getFpgaDevID                    
    0c04cc4c  fpgaControlUserLEDs             
    0c04ccf8  fpgaDisableNandWriteProtect     
    0c04cd40  fpgaEnableNandWriteProtect      
    0c04cd88  fpgaDisableNorWriteProtect      
    0c04cdcc  fpgaEnableNorWriteProtect       
    0c04ce10  fpgaDisableEepromWriteProtect   
    0c04ce54  fpgaEnableEepromWriteProtect    
    0c04ce98  fpgaGetUserSwitch               
    0c04cee4  fpgaGetAMCDetect                
    0c04cf28  fpgaWriteConfigurationRegister  
    0c04cfd0  fpgaReadConfigurationRegister   
    0c04d4a0  free                            
    0c04d860  strtol                          
    0c04df20  fputs                           
    0c04e760  __c6xabi_divull                 
    0c04e9a0  open                            
    0c04ebc0  __c6xabi_divul                  
    0c04f100  fputc                           
    0c04f100  putc                            
    0c04f2c0  ldexp                           
    0c04f2c0  ldexpl                          
    0c04f2c0  scalbn                          
    0c04f2c0  scalbnl                         
    0c04f480  malloc                          
    0c04f640  setvbuf                         
    0c04f800  HOSTrename                      
    0c04f9a0  frexp                           
    0c04f9a0  frexpl                          
    0c04fb40  __TI_buff_read                  
    0c04fd80  configSerdes                    
    0c04fe00  fopen                           
    0c050060  getdevice                       
    0c050180  __TI_closefile                  
    0c050480  atoi                            
    0c050580  fseek                           
    0c050680  HOSTlseek                       
    0c050760  HOSTopen                        
    0c050840  HOSTwrite                       
    0c050920  __TI_ltoa                       
    0c050a00  __TI_wrt_ok                     
    0c050ae0  close                           
    0c050bc0  exit                            
    0c050ca0  memset                          
    0c050d80  printf                          
    0c050e60  HOSTread                        
    0c050f20  HOSTunlink                      
    0c050fe0  __TI_auto_init_nobinit_nopinit  
    0c0510a0  __TI_doflush                    
    0c051160  __c6xabi_divu                   
    0c051160  __divu                          
    0c0513a0  strtok                          
    0c051460  __TI_tls_init                   
    0c051520  HOSTclose                       
    0c0515c0  __TI_cleanup                    
    0c051660  __TI_rd_ok                      
    0c051700  __c6xabi_remu                   
    0c051700  __remu                          
    0c051840  finddevice                      
    0c0518e0  memcpy                          
    0c051980  strspn                          
    0c051a20  __TI_readmsg                    
    0c051aa0  __c6xabi_llshl                  
    0c051b20  _c_int00                        
    0c051ba0  fclose                          
    0c051c20  strncpy                         
    0c051ca0  evmI2CInit                      
    0c051d20  remove                          
    0c051d20  unlink                          
    0c051da0  __TI_frcmpyd_div                
    0c051e00  __TI_writemsg                   
    0c051e58  C$$IO$$                         
    0c051e60  __c6xabi_llshru                 
    0c051ec0  _subcull                        
    0c051f20  lseek                           
    0c051f80  memccpy                         
    0c051fe0  memcmp                          
    0c052040  read                            
    0c0520a0  strcmp                          
    0c052100  strcspn                         
    0c052160  write                           
    0c0521c0  __c6xabi_isinf                  
    0c052240  _args_main                      
    0c0522c0  strlen                          
    0c052300  vsprintf                        
    0c052340  wcslen                          
    0c052380  __c6xabi_errno_addr             
    0c0523a0  __c6xabi_pop_rts                
    0c0523a0  __pop_rts                       
    0c0523c0  __c6xabi_push_rts               
    0c0523c0  __push_rts                      
    0c0523e0  _nop                            
    0c052460  _signbit                        
    0c052480  _system_post_cinit              
    0c0524a0  _system_pre_init                
    0c0524c0  C$$EXIT                         
    0c0524c0  abort                           
    0c0524e0  CSL_tscEnable                   
    0c0524e8  CSL_tscRead                     
    0c052500  __TI_decompress_none            
    0c052520  __TI_decompress_rle24           
    0c052540  fgets                           
    0c052560  _stack                          
    0c05c560  __TI_STACK_END                  
    0c05d398  _ctypes_                        
    0c05de20  gDeviceNandBBlist               
    0c05e23c  gDeviceNand                     
    0c05e274  gDeviceNor                      
    0c05e2ac  gDeviceEeprom0                  
    0c05e2e4  gDeviceEeprom1                  
    0c05e320  emac_port_mode                  
    0c05e328  _ftable                         
    0c05e508  _stream                         
    0c05e5a8  _device                         
    0c05e620  input_file_name                 
    0c05e648  __TI_cleanup_ptr                
    0c05e64c  __TI_dtors_ptr                  
    0c05e650  __TI_enable_exit_profile_output 
    0c05e65c  _lock                           
    0c05e660  _unlock                         
    0c05e664  __TI_ft_end                     
    0c05e668  __errno                         
    0c05e668  errno                           
    0c05e678  __TI_tmpnams                    
    0c05e7b8  gI2cBlock                       
    0c05e800  parmbuf                         
    0c05e808  __CIOBUF_                       
    0c05e970  __TI_STATIC_BASE                
    0c05e970  platform_errno                  
    0c05e974  platform_init_return_code       
    0c05eacc  __TI_Handler_Table_Base         
    0c05ead4  __TI_Handler_Table_Limit        
    0c05ead8  __TI_CINIT_Base                 
    0c05eb00  __TI_CINIT_Limit                
    ffffffff  __TI_pprof_out_hndl             
    ffffffff  __TI_prof_data_size             
    ffffffff  __TI_prof_data_start            
    ffffffff  __binit__                       
    ffffffff  __c_args__                      
    ffffffff  binit                           
    UNDEFED   __TI_TLS_INIT_Base              
    UNDEFED   __TI_TLS_INIT_Limit             
    
    [233 symbols]
    

    I hope this helps!

    Regards

    Shankari G

  • The data is defined in L2SRAM or MSMC, but now I need to define it in DDR, such as a single mirror program with the same global variable testA. How to define this in different DDR memory segments

  • Hi,

    You can change the sections and re-direct to the memory according to your needs.

    DDR3 is the one you have to refer to and focus on

    --

    For more details refer to the following docs.

    https://www.ti.com/lit/ug/spru187u/spru187u.pdf

    https://www.ti.com/lit/ug/spru186w/spru186w.pdf

    --

    Regards

    Shankari G