06.02.2013 Views

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

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

11 Table of C<strong>on</strong>tents<br />

32158A-<strong>AVR</strong>-01/11<br />

<str<strong>on</strong>g><strong>AVR</strong>32795</str<strong>on</strong>g><br />

Features............................................................................................... 1<br />

1 Introducti<strong>on</strong>...................................................................................... 1<br />

2 Memory map..................................................................................... 2<br />

3 Basic linker script c<strong>on</strong>cepts ........................................................... 3<br />

3.1 Secti<strong>on</strong>s............................................................................................................... 3<br />

3.2 Secti<strong>on</strong> properties ............................................................................................... 3<br />

3.3 VMA and LMA ..................................................................................................... 3<br />

3.4 Symbols............................................................................................................... 3<br />

3.5 Well-known secti<strong>on</strong>s............................................................................................ 3<br />

4 Default versus specific linker script............................................... 5<br />

5 <str<strong>on</strong>g>GNU</str<strong>on</strong>g> linker script walkthrough ....................................................... 6<br />

5.1 MEMORY command ........................................................................................... 6<br />

5.2 PHDRS command ............................................................................................... 6<br />

5.3 SECTIONS command ......................................................................................... 7<br />

5.3.1 Symbol assignment ................................................................................................... 7<br />

5.3.2 Output secti<strong>on</strong> descripti<strong>on</strong> ......................................................................................... 8<br />

6 Examples ........................................................................................ 10<br />

6.1 C<strong>on</strong>trolling <str<strong>on</strong>g>the</str<strong>on</strong>g> locati<strong>on</strong> of functi<strong>on</strong>s and variables in <str<strong>on</strong>g>the</str<strong>on</strong>g> flash ......................... 10<br />

6.1.1 Process flow ............................................................................................................ 10<br />

6.1.2 Related examples in <str<strong>on</strong>g>the</str<strong>on</strong>g> software framework.......................................................... 11<br />

6.2 C<strong>on</strong>trolling <str<strong>on</strong>g>the</str<strong>on</strong>g> locati<strong>on</strong> of functi<strong>on</strong>s in internal RAM......................................... 11<br />

6.2.1 Process flow ............................................................................................................ 11<br />

6.2.2 Related examples.................................................................................................... 11<br />

6.3 C<strong>on</strong>trolling <str<strong>on</strong>g>the</str<strong>on</strong>g> locati<strong>on</strong> of variables and <str<strong>on</strong>g>the</str<strong>on</strong>g> heap in external SDRAM ............ 12<br />

6.3.1 Process flow ............................................................................................................ 12<br />

6.3.2 Details (documentati<strong>on</strong> and source code) ............................................................... 15<br />

7 Specific linker script examples..................................................... 16<br />

8 Frequently asked questi<strong>on</strong>s.......................................................... 17<br />

9 References...................................................................................... 20<br />

10 Support ......................................................................................... 20<br />

11 Table of C<strong>on</strong>tents......................................................................... 21<br />

21

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!