]> git.zerfleddert.de Git - proxmark3-svn/blob - bootrom/ldscript-flash
The older gnuarm in the windows toolchain seems to need the glue_7t section
[proxmark3-svn] / bootrom / ldscript-flash
1 MEMORY
2 {
3 /* AT91SAM7S256 has 256k Flash and 64k RAM */
4 /* Important note: the correct ORIGIN for bootphase1 is 0x00100000 and for bootphase2 is 0x00100200
5 However, this will confuse the currently deployed flash code which expects logical and and not
6 physical addresses and performs no sanity checks at all. If confronted with physical addresses,
7 it will happily erase everything and brick the device. So for the time being pretend these addresses
8 to start at 0x0 while updating all the flash code with proper sanity checks, then come back later and
9 fix the addresses. -- Henryk Plötz <henryk@ploetzli.ch> 2009-08-27 */
10 bootphase1 : ORIGIN = 0x00000000, LENGTH = 0x200 /* Phase 1 bootloader: Copies real bootloader to RAM */
11 bootphase2 : ORIGIN = 0x00000200, LENGTH = 0x2000 - 0x200 /* Main bootloader code, stored in Flash, executed from RAM */
12 ram : ORIGIN = 0x00200000, LENGTH = 64K
13 }
14
15
16 SECTIONS
17 {
18 . = 0;
19
20 bootphase1 : {
21 *(.startup)
22 *(.bootphase1)
23 } >bootphase1
24
25 bootphase2 : {
26 __bootphase2_start__ = .;
27 *(.startphase2)
28 *(.text)
29 *(.glue_7)
30 *(.glue_7t)
31 *(.rodata)
32 *(.data)
33 . = ALIGN( 32 / 8 );
34 __bootphase2_end__ = .;
35 } >ram AT>bootphase2
36
37 .bss : {
38 __bss_start__ = .;
39 *(.bss)
40 } >ram
41
42 . = ALIGN( 32 / 8 );
43 __bss_end__ = .;
44 }
Impressum, Datenschutz