Fix USB, DOS line endings, integrate and reorganize project
[rapper.git] / src / boards / lpc1768 / flash.ld
1 /*
2  * This is the NXP LPC1768 linker file for code running from flash.
3  *
4  * TODO:
5  * - handle the exotic input sections (e.g. glue and veneer, C++ sections)
6  * - add additional Ethernet and USB RAM memory regions (2x16k)
7  * - add boot ROM memory regions
8  *
9  * See also: http://bitbucket.org/jpc/lpc1768/
10  *
11  * Copyright (c) 2010 LoEE - Jakub Piotr Cłapa
12  * This program is released under the new BSD license.
13  */
14 OUTPUT_FORMAT("elf32-littlearm")
15 OUTPUT_ARCH(arm)
16
17 ENTRY(Reset_Handler)
18
19 MEMORY {
20   flash (rx)  : ORIGIN = 0x00000000, LENGTH = 512K
21   ram   (rwx) : ORIGIN = 0x10000000, LENGTH =  32K
22 }
23
24 SECTIONS {
25   . = 0;
26
27   .text : {
28     _stext = .;
29     KEEP(*(.isr_vector))
30     *(.text*)
31     *(.rodata*)
32     . = ALIGN(4);
33     _etext = .;
34   } > flash
35
36   .data : {
37     _sdata = .;
38     *(.data*)
39     _edata = .;
40   } > ram AT > flash
41
42   .bss : {
43     _sbss = .;
44     *(.bss*)
45     . = ALIGN(4);
46     _ebss = .;
47   } > ram
48
49   _sstack = ORIGIN(ram) + LENGTH(ram);
50 }