OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [freertos-6.1.1/] [Demo/] [ColdFire_MCF52221_CodeWarrior/] [lcf/] [MCF52221_INTERNAL_FLASH.lcf] - Blame information for rev 578

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 578 jeremybenn
# Sample Linker Command File for CodeWarrior for ColdFire
2
 
3
KEEP_SECTION {.vectortable}
4
 
5
# Memory ranges
6
 
7
MEMORY {
8
   vectorrom   (RX)  : ORIGIN = 0x00000000, LENGTH = 0x00000400
9
   cfmprotrom  (RX)  : ORIGIN = 0x00000400, LENGTH = 0x00000020
10
   code        (RX)  : ORIGIN = 0x00000500, LENGTH = 0x0001FB00
11
   userram     (RWX) : ORIGIN = 0x20000000, LENGTH = 0x00004000
12
}
13
 
14
SECTIONS {
15
 
16
# Heap and Stack sizes definition
17
        ___heap_size      = 0x4;
18
        ___stack_size     = 0x100;
19
 
20
 
21
 
22
 
23
# MCF52221 Derivative Memory map definitions from linker command files:
24
# __IPSBAR, __RAMBAR, __RAMBAR_SIZE, __FLASHBAR, __FLASHBAR_SIZE linker
25
# symbols must be defined in the linker command file.
26
 
27
# Memory Mapped Registers (IPSBAR= 0x40000000)
28
   ___IPSBAR         = 0x40000000;
29
 
30
# 16 Kbytes Internal SRAM
31
   ___RAMBAR         = 0x20000000;
32
   ___RAMBAR_SIZE    = 0x00004000;
33
 
34
# 128 KByte Internal Flash Memory
35
   ___FLASHBAR       = 0x00000000;
36
   ___FLASHBAR_SIZE  = 0x00020000;
37
 
38
   ___SP_AFTER_RESET = ___RAMBAR + ___RAMBAR_SIZE - 4;
39
 
40
  .userram        : {} > userram
41
  .code     : {} > code
42
 
43
        .vectors :
44
        {
45
                exceptions.c(.vectortable)
46
                . = ALIGN (0x4);
47
        } > vectorrom
48
 
49
        .cfmprotect :
50
        {
51
                *(.cfmconfig)
52
                . = ALIGN (0x4);
53
        } > cfmprotrom
54
 
55
        .text :
56
        {
57
                *(.text)
58
                . = ALIGN (0x4);
59
                *(.rodata)
60
                . = ALIGN (0x4);
61
                ___ROM_AT = .;
62
                ___DATA_ROM = .;
63
        } >> code
64
 
65
        .data : AT(___ROM_AT)
66
        {
67
                ___DATA_RAM = .;
68
                . = ALIGN(0x4);
69
                *(.exception)
70
                . = ALIGN(0x4);
71
                __exception_table_start__ = .;
72
                EXCEPTION
73
                __exception_table_end__ = .;
74
 
75
                ___sinit__ = .;
76
            STATICINIT
77
                __START_DATA = .;
78
 
79
                *(.data)
80
                . = ALIGN (0x4);
81
                __END_DATA = .;
82
 
83
                __START_SDATA = .;
84
                *(.sdata)
85
                . = ALIGN (0x4);
86
                __END_SDATA = .;
87
 
88
                ___DATA_END = .;
89
                __SDA_BASE = .;
90
                . = ALIGN (0x4);
91
        } >> userram
92
 
93
        .bss :
94
        {
95
                ___BSS_START = .;
96
                __START_SBSS = .;
97
                *(.sbss)
98
                . = ALIGN (0x4);
99
                *(SCOMMON)
100
                __END_SBSS = .;
101
 
102
                __START_BSS = .;
103
                *(.bss)
104
                . = ALIGN (0x4);
105
                *(COMMON)
106
                __END_BSS = .;
107
                ___BSS_END = .;
108
 
109
                . = ALIGN(0x4);
110
        } >> userram
111
 
112
        .custom :
113
        {
114
                ___HEAP_START   = .;
115
                ___heap_addr    = ___HEAP_START;
116
                ___HEAP_END             = ___HEAP_START + ___heap_size;
117
                ___SP_END               = ___HEAP_END;
118
                ___SP_INIT              = ___SP_END + ___stack_size;
119
 
120
                . = ALIGN (0x4);
121
        } >> userram
122
 
123
#       ___VECTOR_RAM           = ADDR(.vectorram);
124
 
125
        __SP_INIT               = ___SP_INIT;
126
 
127
        _romp_at = ___ROM_AT + SIZEOF(.data);
128
        .romp : AT(_romp_at)
129
        {
130
                __S_romp = _romp_at;
131
                WRITEW(___ROM_AT);
132
                WRITEW(ADDR(.data));
133
                WRITEW(SIZEOF(.data));
134
                WRITEW(0);
135
                WRITEW(0);
136
                WRITEW(0);
137
        }
138
 
139
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.