Microchip Technology SW006023-2N Data Sheet

Page of 238
Linking Programs
 2012 Microchip Technology Inc.
DS51686E-page 187
17.4.4.16 .SDATA SECTION
This section collects the small initialized data from all of the application’s input files. 
This section is assigned to the data memory region (kseg1_data_mem) with a load 
address located in the program memory region (kseg0_program_mem). Symbols are 
defined to represent the virtual begin (_sdata_begin) and end (_sdata_end) 
addresses of this section.
/*
 * We want the small data sections together, so 
 * single-instruction offsets can access them all, and
 * initialized data all before uninitialized, so
 * we can shorten the on-disk segment size.
 */
.sdata   :
{
  _sdata_begin = . ;
  *(.sdata .sdata.* .gnu.linkonce.s.*)
  _sdata_end = . ;
} > kseg1_data_mem AT> kseg0_program_mem
17.4.4.17 .LIT8 SECTION
This section collects the 8-byte constants which the assembler decides to store in 
memory rather than in the instruction stream from all of the application’s input files. This 
section is assigned to the data memory region (kseg1_data_mem) with a load address 
located in the program memory region (kseg0_program_mem). 
.lit8           :
{
  *(.lit8)
} > kseg1_data_mem AT> kseg0_program_mem
17.4.4.18 .LIT4 SECTION
This section collects the 4-byte constants which the assembler decides to store in 
memory rather than in the instruction stream from all of the application’s input files. This 
section is assigned to the data memory region (kseg1_data_mem) with a load address 
located in the program memory region (kseg0_program_mem). A symbol is defined 
to represent the virtual end address of the initialized data (_data_end).
  .lit4           :
  {
    *(.lit4)
  } > kseg1_data_mem AT> kseg0_program_mem
  _data_end = . ;