AnsweredAssumed Answered

Why is rtlib.bss above __bss_addr = .; in the LCF

Question asked by j... on Jun 29, 2018
Latest reply on Jul 3, 2018 by xiangjun.rong

I have noticed in the DSC LCF and documentation examples, that rtlib.bss and rtlib.bss.lo is above the pointer for the RAM copy routine. See excerpt from demo project below. Also, see this in the documentation at:

Targeting MC56F83xx/DSP5685x Controllers, page 137. There are many more examples in the documents.

 

Why is this?

How does it get copied to RAM?

 

Regards,

J

 

-----------------------------------------------------------------------------------

        .ApplicationData :
        {
              # save space for the pROM data copy
              . = __xRAM_data_start + __data_size;

              # .bss sections
              * (rtlib.bss.lo)       #<<---- rtlib.bss above waterline marker\pointer
              * (rtlib.bss)                 #<<---- rtlib.bss above waterline marker\pointer
              . = ALIGN(4);
              F_Xbss_start_addr = .; #<<---- Marker\Address\Pointer to bss Start
              _START_BSS = .;
              * (.bss.char)         # used if "Emit Separate Char Data Section" enabled
              * (.bss)
              _END_BSS   = .;
              F_Xbss_length = _END_BSS - _START_BSS;

 

              /* Setup the HEAP address */

-----------------------------------------------------------------------------------

Outcomes