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.

TM4C129DNCPDT: #10247-D creating output section ". text" without a SECTIONS specification

Part Number: TM4C129DNCPDT

I have a warning message that persist so I decided to do something about it

#10247-D creating output section ". text" without a SECTIONS specification

In the EK_TM4C1294XL.cmd, the .text is already defined so not sure why the warning is emitted. 

MEMORY
{
FLASH (RX) : origin = 0x00000000, length = 0x00100000
//SRAM (RWX) : origin = 0x20000000, length = 0x00040000
SRAM (RWX) : origin = 0x20000000, length = 0x00028000 //256K-32K-64K = 160K
SRAMFC (RWX) : origin = 0x20028000, length = 0x00008000 //32K
SRAMFD (RWX) : origin = 0x20030000, length = 0x00010000 //64K
}

/* Section allocation in memory */

SECTIONS
{
.text : > FLASH
.const : > FLASH
.cinit : > FLASH
.pinit : > FLASH
.init_array : > FLASH

.data : > SRAM
.bss : > SRAM
.sysmem : > SRAM
.stack : > SRAM
.sramfc : > SRAMFC
.sramfd : > SRAMFD
}

Thank

  • Hi Richard,

      Looking at your command file, I didn't see the .intvecs section. Please refer to the TivaWare command file example as shown below. I don't know if this has something to do with the warning you see. Try to add the .intvecs and see if it makes a difference. 

    #define APP_BASE 0x00000000
    #define RAM_BASE 0x20000000
    
    /* System memory map */
    
    MEMORY
    {
        /* Application stored in and executes from internal flash */
        FLASH (RX) : origin = APP_BASE, length = 0x00100000
        /* Application uses internal RAM for data */
        SRAM (RWX) : origin = 0x20000000, length = 0x00040000
    //    EXSDRAM (RWX) : origin = 0x60000000, length = 0x00800000
    }
    
    /* Section allocation in memory */
    
    SECTIONS
    {
        .intvecs:   > APP_BASE
    
        .text   :   > FLASH
        .const  :   > FLASH
        .cinit  :   > FLASH
        .pinit  :   > FLASH
        .init_array : > FLASH
    
        .vtable :   > RAM_BASE
        .data   :   > SRAM
        .bss    :   > SRAM
        .sysmem :   > SRAM
        .stack  :   > SRAM
    
    
    }
    
    __STACK_TOP = __stack + 512;

    I have some questions and comments:

     - Is the warning you have been seeing since you built the project the first time or this is something that you see lately only?

     - Can you try to first clean the project and then rebuild? Does it make a difference?

     - Can you try to import the project that has this warning issue to a new CCS workspace? Does it make a difference?

  • I have updated the cmd file: 

    #define APP_BASE 0x00000000
    #define RAM_BASE 0x20000000
    
    MEMORY
    {
        FLASH (RX) : origin = APP_BASE, length = 0x00100000
        //SRAM (RWX) : origin = 0x20000000, length = 0x00040000
        SRAM (RWX) : origin =   0x20000000, length = 0x00028000	//256K-32K-64K = 160K
        SRAMFC (RWX) : origin = 0x20028000, length = 0x00008000	//32K
        SRAMFD (RWX) : origin = 0x20030000, length = 0x00010000	//64K
    }
    
    /* Section allocation in memory */
    
    SECTIONS
    {
    	.intvecs:   > APP_BASE
        .text   :   > FLASH
        .const  :   > FLASH
        .cinit  :   > FLASH
        .pinit  :   > FLASH
        .init_array : > FLASH
    
        .vtable :   > RAM_BASE
        .data   :   > SRAM
        .bss    :   > SRAM
        .sysmem :   > SRAM
        .stack  :   > SRAM
        .sramfc :	> SRAMFC
        .sramfd :	> SRAMFD
    }
    
    __STACK_TOP = __stack + 512;

     - Is the warning you have been seeing since you built the project the first time or this is something that you see lately only?

    >>> It seems to happen a few months ago since I moved to the latest CCS10 (10.1.1.00004 ). It's hard to remember from earlier works since summer 2020. 

     - Can you try to first clean the project and then rebuild? Does it make a difference?

    >> No and I still get this warning below

    Description Resource Path Location Type
    #10247-D creating output section ". text" without a SECTIONS specification RFDPPDMKII_3K C/C++ Problem
    
    #1181-D #warning directive: No compiler specific solution for __RESTRICT. __RESTRICT is ignored. .ccsproject /RFDPPDMKII_3K line 118, external location: E:\010_WorkAOT\011MyGit20\106-TM4C_2021\111_RFDPPD_GIT\CMSIS_5-5.3.0\CMSIS\Core\Include\cmsis_compiler.h C/C++ Problem
    

     - Can you try to import the project that has this warning issue to a new CCS workspace? Does it make a difference?

    Not yet....

  • Hi Richard,

      Can you try to import the project into a new workspace and let us know if that changes anything? In the meantime,  I will see if our CCS experts have any ideas?

  • The error message is referring to ". text" and not ".text".  i.e. it has a space between the . and text.  I am not sure what is referring to ". text" but that is the issue.  The linker command file looks fine.

    Is there an assembly file or another .cmd file that has ". text" in it.  I would try searching for ". text" in your project.  And fix that to be .text

    Another option if you are not able to find where it is coming from would be to add this to your cmd file

        . text   :   > FLASH

    Regards,

    John

  • SECTIONS
    {
        .intvecs:   > APP_BASE
        . text   :   > FLASH
        .text   :   > FLASH
        .const  :   > FLASH
        .cinit  :   > FLASH
        .pinit  :   > FLASH
        .init_array : > FLASH
    
        .vtable :   > RAM_BASE
        .data   :   > SRAM
        .bss    :   > SRAM
        .sysmem :   > SRAM
        .stack  :   > SRAM
        .sramfc :	> SRAMFC
        .sramfd :	> SRAMFD
    }

    Description	Resource	Path	Location	Type
    #10010 errors encountered during linking; "RFDPPDMKII_3K.out" not built	RFDPPDMKII_3K		 	C/C++ Problem
    #10026-D expecting output section, GROUP, or UNION instead of "."	EK_TM4C1294XL.cmd	/RFDPPDMKII_3K	line 53	C/C++ Problem
    #10040-D operator expected instead of "."	EK_TM4C1294XL.cmd	/RFDPPDMKII_3K	line 53	C/C++ Problem
    

    I took ". text : > FLASH" out since it generate error

  • Sorry it would need to be ". text" : > FLASH 

    However what you really need to do is find out where the . text is being referenced.  Something specifiying to use . text.  That is as typo somewhere in your application that really should be fixed.'

    Click on the flashlight icon on the toolbar.  Then select the file search tab.  Enter . text in the search box

    john

  • Sorry I forget to mention earlier, I actually did the search in this way and could not find results. of '. text.

  • Try looking in the .map file.  Most projects generate one by default.  It will be in the same folder as the .out file.

    In the .map file you can scroll down to . text and see what object file or library is putting something in . text.

    John

  • .bootVecs
    * 0 00000000 00000008 DSECT
    00000000 00000008 boot.aem4f : boot.oem4f (.bootVecs)
    
    .vecs 0 20000000 00000360 UNINITIALIZED
    20000000 00000360 RFDDAQ_pem4f.oem4f (.vecs)
    
    xdc.meta 0 00000000 000000fe COPY SECTION
    00000000 000000fe RFDDAQ_pem4f.oem4f (xdc.meta)
    
    __llvm_prf_cnts
    * 0 20000000 00000000 UNINITIALIZED
    
    . text 0 00025268 000000c0
    00025268 000000c0 arm_cortexM4lf_math.lib : arm_bitreversal2.o (. text)
    
    MODULE SUMMARY
    
    Module code ro data rw data
    ------ ---- ------- -------
    .\010_StartUp\
    RFD_AppMain.obj 1945 0 11404
    +--+----------------------------+--------+---------+---------+
    Total: 1945 0 11404
    SEGMENT ALLOCATION MAP
    
    run origin  load origin   length   init length attrs members
    ----------  ----------- ---------- ----------- ----- -------
    00000000    00000000    000257f8   000257f8    r-x
      00000000    00000000    0000003c   0000003c    r-- .resetVecs
      00000040    00000040    00020504   00020504    r-x .text
      00020548    00020548    00004d20   00004d20    r-- .const
      00025268    00025268    000000c0   000000c0    r-x . text
      00025328    00025328    000004d0   000004d0    r-- .cinit
    20000000    20000000    00000360   00000000    rw-
      20000000    20000000    00000360   00000000    rw- .vecs
    20000400    20000400    000096d0   00000000    rw-
      20000400    20000400    000089f1   00000000    rw- .bss
      20008df4    20008df4    000008dc   00000000    rw- .data
      200096d0    200096d0    00000400   00000000    rw- .stack
    20028000    20028000    00018000   00000000    rw-
      20028000    20028000    00008000   00000000    rw- .sramfc
      20030000    20030000    00010000   00000000    rw- .sramfd
    
    

    Found it in MAP:  that from CMSIS: arm_cortexM4lf_math.lib : arm_bitreversal2.o 

  • That is an error in the library arm_cortexM4lf_math.lib.  I'll notify the relevant team about this thread.

    Thanks and regards,

    -George

  • Hi Richard,

      Where do you get the arm_cortexM4lf_math.lib? We don't supply the arm_cortexM4lf_math.lib library in our TivaWare. If this is part of the CMSIS library then I think it should come from ARM. You may need to contact them if they can do anything about it. Or is this a library that you build yourself based on some source code. 

  • I did mention this: "Found it in MAP:  that from CMSIS: arm_cortexM4lf_math.lib : arm_bitreversal2.o " :-)

    How to report a bug in CMSIS, is there a link?. So far two bugs found since first using CMSIS math function for FFT use (1st one is MACRO related which is not emitted to CMSIS library and assumed M0 rather than M4, so I put MACRO in the project properties to keep it M4). None has an impact on functional purposes.

    Thank you for helping. 

      

  • Hi,

      Sorry, there is really nothing I can help you here as this is CMSIS library from Arm. I will suggest you contact Arm for support on resolution and guidance. I think you can report your case by going to the Support in the CMSIS website at https://developer.arm.com/tools-and-software/embedded/cmsis