Statistics
| Branch: | Tag: | Revision:

amiro-os / os / hal / ports / rules_code.ld @ 5b0a8e7b

History | View | Annotate | Download (2.039 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
ENTRY(Reset_Handler)
20

    
21
SECTIONS
22
{
23
    .vectors : ALIGN(16)
24
    {
25
        KEEP(*(.vectors))
26
    } > VECTORS_FLASH AT > VECTORS_FLASH_LMA
27

    
28
    .xtors : ALIGN(4)
29
    {
30
        __init_array_start = .;
31
        KEEP(*(SORT(.init_array.*)))
32
        KEEP(*(.init_array))
33
        __init_array_end = .;
34
        __fini_array_start = .;
35
        KEEP(*(.fini_array))
36
        KEEP(*(SORT(.fini_array.*)))
37
        __fini_array_end = .;
38
    } > XTORS_FLASH AT > XTORS_FLASH_LMA
39

    
40
    .text ALIGN(16) : ALIGN(16)
41
    {
42
        *(.text)
43
        *(.text.*)
44
        *(.glue_7t)
45
        *(.glue_7)
46
        *(.gcc*)
47
    } > TEXT_FLASH AT > TEXT_FLASH_LMA
48

    
49
    .rodata : ALIGN(4)
50
    {
51
        . = ALIGN(4);
52
        __rodata_base__ = .;
53
        *(.rodata)
54
        *(.rodata.*)
55
        . = ALIGN(4);
56
        __rodata_end__ = .;
57
    } > RODATA_FLASH AT > RODATA_FLASH_LMA
58

    
59
    .ARM.extab :
60
    {
61
        *(.ARM.extab* .gnu.linkonce.armextab.*)
62
    } > VARIOUS_FLASH AT > VARIOUS_FLASH_LMA
63

    
64
    .ARM.exidx : {
65
        __exidx_start = .;
66
        *(.ARM.exidx* .gnu.linkonce.armexidx.*)
67
        __exidx_end = .;
68
     } > VARIOUS_FLASH AT > VARIOUS_FLASH_LMA
69

    
70
    .eh_frame_hdr :
71
    {
72
        *(.eh_frame_hdr)
73
    } > VARIOUS_FLASH AT > VARIOUS_FLASH_LMA
74

    
75
    .eh_frame : ONLY_IF_RO
76
    {
77
        *(.eh_frame)
78
    } > VARIOUS_FLASH AT > VARIOUS_FLASH_LMA
79
}
80