Merge linker scripts in bootrom to have a single linker script for the bootloader...
[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 = 32K
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 *(.rodata)
31 *(.data)
32 . = ALIGN( 32 / 8 );
33 __bootphase2_end__ = .;
34 } >ram AT>bootphase2
35
36 .bss : {
37 __bss_start__ = .;
38 *(.bss)
39 } >ram
40
41 . = ALIGN( 32 / 8 );
42 __bss_end__ = .;
43 }
Impressum, Datenschutz