AVR32795: Using the GNU Linker Scripts on AVR UC3 ... - Atmel
AVR32795: Using the GNU Linker Scripts on AVR UC3 ... - Atmel
AVR32795: Using the GNU Linker Scripts on AVR UC3 ... - Atmel
- TAGS
- linker
- scripts
- atmel
- www.atmel.com
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
32158A-<strong>AVR</strong>-01/11<br />
PROVIDE(_data_sdram_lma = ABSOLUTE(LOADADDR(.data_sdram)));<br />
.bss_sdram :<br />
{<br />
PROVIDE(__bss_sdram_start = .);<br />
*(.bss_sdram)<br />
PROVIDE(_bss_sdram_end = .);<br />
} >SDRAM AT>SDRAM :SDRAM<br />
<str<strong>on</strong>g><strong>AVR</strong>32795</str<strong>on</strong>g><br />
NOTE Because <str<strong>on</strong>g>the</str<strong>on</strong>g> program header SDRAM was defined as PT_NULL, <str<strong>on</strong>g>the</str<strong>on</strong>g> .bss_sdram secti<strong>on</strong><br />
w<strong>on</strong>’t be loaded to target (which is ok because <str<strong>on</strong>g>the</str<strong>on</strong>g> .bss secti<strong>on</strong> is supposed to hold<br />
uninitialized data). And so <str<strong>on</strong>g>the</str<strong>on</strong>g> AT>SDRAM is unnecessary and ignored. This secti<strong>on</strong> will<br />
just be zeroed out in <str<strong>on</strong>g>the</str<strong>on</strong>g> startup routine.<br />
NOTE Definiti<strong>on</strong>s:<br />
Will be used by <str<strong>on</strong>g>the</str<strong>on</strong>g> startup routine for data init<br />
Will be used by <str<strong>on</strong>g>the</str<strong>on</strong>g> startup routine for zero init<br />
Assign a secti<strong>on</strong> to a previously defined segment<br />
(cf PHDRS{})<br />
Specify <str<strong>on</strong>g>the</str<strong>on</strong>g> memory regi<strong>on</strong> SDRAM for <str<strong>on</strong>g>the</str<strong>on</strong>g> secti<strong>on</strong>’s LMA<br />
Assign this secti<strong>on</strong>’s VMA to <str<strong>on</strong>g>the</str<strong>on</strong>g> regi<strong>on</strong> of memory SDRAM<br />
(defined in MEMORY{ })<br />
_data_sdram: VMA address of <str<strong>on</strong>g>the</str<strong>on</strong>g> start of <str<strong>on</strong>g>the</str<strong>on</strong>g> .data_sdram secti<strong>on</strong><br />
_data_sdram: VMA address of <str<strong>on</strong>g>the</str<strong>on</strong>g> end of <str<strong>on</strong>g>the</str<strong>on</strong>g> .data_sdram secti<strong>on</strong><br />
_data_sdram_lma: LMA start address of <str<strong>on</strong>g>the</str<strong>on</strong>g> .data_sdram secti<strong>on</strong><br />
>SDRAM AT>FLASH :SDRAM_AT_FLASH<br />
>SDRAM: VMA of .data_sdram in external SDRAM<br />
AT>FLASH: LMA of .data_sdram (in flash)<br />
:SDRAM_AT_FLASH: specified as loadable in PHDRS{} (for <str<strong>on</strong>g>the</str<strong>on</strong>g> data init value)<br />
13