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.

Skipping cinit copy because cinit=0xFFFFFFFF

Other Parts Discussed in Thread: TMS320F28335

I'm having a problem with Code Composer Studio  Version: 4.2.3.00004 and the eZdsp TMS320F28335 platform.  I'm trying to build a rom autinit file but although I see all of the .cinit sections in the *.map file I also see cinit=0xFFFFFFFF which causes the boot to skip the copy.

 

                  00339500    00000023     crc.obj (.cinit)

                  00339523    00000015     cbl.obj (.cinit)

                  0033954b    0000000a     Flash28235_API_V210.lib : Flash28_Globals.obj (.cinit)

                  00339555    0000000a     rts2800_ml.lib : _lock.obj (.cinit)

                  0033955f    0000000a                    : exit.obj (.cinit)

ffffffff   ___cinit__

I am very familiar with TI tools but new to CCSv4 and I haven't figured out how to decouple the compile/link.

Compiler options:

--silicon_version=28 -g --define="_DEBUG"  --include_path="F:/Texas Instruments/ccsv4/tools/compiler/c2000/include" ... --large_memory_model --unified_memory

Linker options:

-z -m"CBL.map" --stack_size=0x100 --heap_size=0x100 --verbose_diagnostics --display_error_number --issue_remarks --warn_sections --reread_libs --rom_model 

All the options look good to me, but I can't get it to work. (___cinit__ is always 0xFFFFFFFF).   I will manually invoke the linker to see if I can avoid this problem, but I would appreciate any hints or solutions.

 

 

 

  • I found a work around, but I still don't understand why my original *.cmd doesn't work.  This is what I had. (which always sets __cinit__=0xFFFFFFFF)

    MEMORY {

    PAGE 0:

       FLASHA      : origin = 0x338000, length = 0x007F80     /* on-chip FLASH */

    loader_FLASHA:{

    crc_info.obj (.flash_loader_info) /* Section with tCRC_info structure including the branch to entry point. */ 

    *.lib(.text) /* Keep library code (which doesn't change) near the start for debug ease. */

            *(.text) /* Executable code. */

    *(.cinit) /* Autointialization initial values for variables in .bss. */

            __init_end=.+1;   /* cinit adds one extra 0 at end of cinit records. */

    *(.econst)

    __loader_end=.; /* Linker defined symbol at the end of used FLASHA. */

    } > FLASHA, PAGE=0

    However, if I change to the following, I get what I expect.  00339d94   ___cinit__
    .text:
    {
    crc_info.obj (.flash_loader_info) /* Section with tCRC_info structure including the branch to entry point. */ 
    *.lib(.text) /* Keep library code (which doesn't change) near the start for debug ease. */
            *(.text) /* Executable code. */
    } > FLASHA,PAGE=0
    .cinit > FLASHA,PAGE=0 /* Autointialization initial values for variables in .bss. */
    .econst> FLASHA,PAGE=0