]> cvs.zerfleddert.de Git - proxmark3-svn/blame - common/ldscript.common
Windows specific instructions regarding the compile environment.
[proxmark3-svn] / common / ldscript.common
CommitLineData
bd20f8f4 1/*
2-----------------------------------------------------------------------------
3 This code is licensed to you under the terms of the GNU GPL, version 2 or,
4 at your option, any later version. See the LICENSE.txt file for the text of
5 the license.
6-----------------------------------------------------------------------------
7 Common linker script
8-----------------------------------------------------------------------------
9*/
10
2bfed17d 11/* AT91SAM7S256 has 256k Flash and 64k RAM */
12MEMORY
13{
14 /* Important note: this memory map has the correct origins for all the flash sections.
15 However, this will confuse the currently deployed flash code which expects logical and and not
16 physical addresses and performs no sanity checks at all. If confronted with physical addresses,
17 it will happily erase everything and brick the device. So for the time being translate these addresses
18 down in the objcopy call while updating all the flash code with proper sanity checks, then come
19 back later and fix the addresses. -- Henryk Plötz <henryk@ploetzli.ch> 2009-08-27 */
20 bootphase1 : ORIGIN = 0x00100000, LENGTH = 0x200 /* Phase 1 bootloader: Copies real bootloader to RAM */
21 bootphase2 : ORIGIN = 0x00100200, LENGTH = 0x2000 - 0x200 /* Main bootloader code, stored in Flash, executed from RAM */
22 fpgaimage : ORIGIN = 0x00102000, LENGTH = 64k - 0x2000 /* Place where the FPGA image will end up */
23 osimage : ORIGIN = 0x00110000, LENGTH = 256K - 64k /* Place where the main OS will end up */
8fcbf652 24 ram : ORIGIN = 0x00200000, LENGTH = 64K - 0x20 /* RAM, minus small common area */
25 commonarea : ORIGIN = 0x00200000 + 64K - 0x20, LENGTH = 0x20 /* Communication between bootloader and main OS */
2bfed17d 26}
27
4271e82d 28/* Export some information that can be used from within the firmware */
29_bootphase1_version_pointer = ORIGIN(bootphase1) + LENGTH(bootphase1) - 0x4;
e3ae0257 30_osimage_entry = ORIGIN(osimage);
8fcbf652 31_bootrom_start = ORIGIN(bootphase1);
32_bootrom_end = ORIGIN(bootphase2) + LENGTH(bootphase2);
4271e82d 33_flash_start = ORIGIN(bootphase1);
e3ae0257 34_flash_end = ORIGIN(osimage) + LENGTH(osimage);
35_stack_end = ORIGIN(ram) + LENGTH(ram) - 8;
Impressum, Datenschutz