]> cvs.zerfleddert.de Git - proxmark3-svn/blob - bootrom/ldscript-flash
Pushed standard AT91 defines into main code
[proxmark3-svn] / bootrom / ldscript-flash
1 INCLUDE ../common/ldscript.common
2
3 ENTRY(flashstart)
4 SECTIONS
5 {
6 . = 0;
7
8 .bootphase1 : {
9 *(.startup)
10 *(.bootphase1)
11
12 /* It seems to be impossible to flush align a section at the
13 end of a memory segment. Instead, we'll put the version_information
14 wherever the linker wants it, and then put a pointer to the start
15 of the version information at the end of the section.
16 -- Henryk Plötz <henryk@ploetzli.ch> 2009-08-28 */
17
18 _version_information_start = ABSOLUTE(.);
19 *(.version_information);
20
21 /* Why doesn't this work even though _bootphase1_version_pointer = 0x1001fc?
22 . = _bootphase1_version_pointer - ORIGIN(bootphase1); */
23 /* This works, apparently it fools the linker into accepting an absolute address */
24 . = _bootphase1_version_pointer - ORIGIN(bootphase1) + ORIGIN(bootphase1);
25 LONG(_version_information_start)
26 } >bootphase1
27
28 __bootphase2_src_start__ = ORIGIN(bootphase2);
29 .bootphase2 : {
30 __bootphase2_start__ = .;
31 *(.startphase2)
32 *(.text)
33 *(.eh_frame)
34 *(.glue_7)
35 *(.glue_7t)
36 *(.rodata)
37 *(.data)
38 . = ALIGN( 32 / 8 );
39 __bootphase2_end__ = .;
40 } >ram AT>bootphase2
41
42 .bss : {
43 __bss_start__ = .;
44 *(.bss)
45 } >ram
46
47 . = ALIGN( 32 / 8 );
48 __bss_end__ = .;
49
50 .commonarea (NOLOAD) : {
51 *(.commonarea)
52 } >commonarea
53 }
Impressum, Datenschutz