Statistics
| Branch: | Tag: | Revision:

amiro-os / os / hal / ports / STM32F405xG.ld @ 1fa17188

History | View | Annotate | Download (3.141 KB)

1
/*
2
AMiRo-OS is an operating system designed for the Autonomous Mini Robot (AMiRo) platform.
3
Copyright (C) 2016..2018  Thomas Schöpping et al.
4

    
5
This program is free software: you can redistribute it and/or modify
6
it under the terms of the GNU General Public License as published by
7
the Free Software Foundation, either version 3 of the License, or
8
(at your option) any later version.
9

    
10
This program is distributed in the hope that it will be useful,
11
but WITHOUT ANY WARRANTY; without even the implied warranty of
12
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
GNU General Public License for more details.
14

    
15
You should have received a copy of the GNU General Public License
16
along with this program.  If not, see <http://www.gnu.org/licenses/>.
17
*/
18

    
19
/*
20
 * STM32F405xG memory setup.
21
 * Note: Use of ram1 and ram2 is mutually exclusive with use of ram0.
22
 */
23
MEMORY
24
{
25
    flash0  : org = 0x08008000, len = 1M-32k
26
    flash1  : org = 0x00000000, len = 0
27
    flash2  : org = 0x00000000, len = 0
28
    flash3  : org = 0x00000000, len = 0
29
    flash4  : org = 0x00000000, len = 0
30
    flash5  : org = 0x00000000, len = 0
31
    flash6  : org = 0x00000000, len = 0
32
    flash7  : org = 0x00000000, len = 0
33
    ram0    : org = 0x20000000, len = 128k      /* SRAM1 + SRAM2 */
34
    ram1    : org = 0x20000000, len = 112k      /* SRAM1 */
35
    ram2    : org = 0x2001C000, len = 16k       /* SRAM2 */
36
    ram3    : org = 0x00000000, len = 0
37
    ram4    : org = 0x10000000, len = 64k       /* CCM SRAM */
38
    ram5    : org = 0x40024000, len = 4k        /* BCKP SRAM */
39
    ram6    : org = 0x00000000, len = 0
40
    ram7    : org = 0x00000000, len = 0
41
}
42

    
43
/* For each data/text section two region are defined, a virtual region
44
   and a load region (_LMA suffix).*/
45

    
46
/* Flash region to be used for exception vectors.*/
47
REGION_ALIAS("VECTORS_FLASH", flash0);
48
REGION_ALIAS("VECTORS_FLASH_LMA", flash0);
49

    
50
/* Flash region to be used for constructors and destructors.*/
51
REGION_ALIAS("XTORS_FLASH", flash0);
52
REGION_ALIAS("XTORS_FLASH_LMA", flash0);
53

    
54
/* Flash region to be used for code text.*/
55
REGION_ALIAS("TEXT_FLASH", flash0);
56
REGION_ALIAS("TEXT_FLASH_LMA", flash0);
57

    
58
/* Flash region to be used for read only data.*/
59
REGION_ALIAS("RODATA_FLASH", flash0);
60
REGION_ALIAS("RODATA_FLASH_LMA", flash0);
61

    
62
/* Flash region to be used for various.*/
63
REGION_ALIAS("VARIOUS_FLASH", flash0);
64
REGION_ALIAS("VARIOUS_FLASH_LMA", flash0);
65

    
66
/* Flash region to be used for RAM(n) initialization data.*/
67
REGION_ALIAS("RAM_INIT_FLASH_LMA", flash0);
68

    
69
/* RAM region to be used for Main stack. This stack accommodates the processing
70
   of all exceptions and interrupts.*/
71
REGION_ALIAS("MAIN_STACK_RAM", ram0);
72

    
73
/* RAM region to be used for the process stack. This is the stack used by
74
   the main() function.*/
75
REGION_ALIAS("PROCESS_STACK_RAM", ram0);
76

    
77
/* RAM region to be used for data segment.*/
78
REGION_ALIAS("DATA_RAM", ram0);
79
REGION_ALIAS("DATA_RAM_LMA", flash0);
80

    
81
/* RAM region to be used for BSS segment.*/
82
REGION_ALIAS("BSS_RAM", ram0);
83

    
84
/* RAM region to be used for the default heap.*/
85
REGION_ALIAS("HEAP_RAM", ram0);
86

    
87
/* Generic rules inclusion.*/
88
INCLUDE rules.ld