summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc2362
blob: fec6a25c4c1010c82f8b8c96903f14fcb9128efc (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
/**
 * @file
 *
 * @ingroup lpc24xx_linker_lpc2362
 *
 * @brief Memory map.
 */

/**
 * @defgroup lpc24xx_linker_lpc2362 LPC2362 Memory Map
 *
 * @ingroup bsp_linker
 *
 * @brief LPC2362 memory map.
 *
 * <table>
 *   <tr><th>Region Name</th><th>Region Begin</th><th>Region Size</th></tr>
 *   <tr><td>RAM_INT</td><td>0x40000000</td><td>32k</td></tr>
 *   <tr><td>RAM_USB</td><td>0x7fd00000</td><td>8k</td></tr>
 *   <tr><td>RAM_ETH</td><td>0x7fe00000</td><td>16k</td></tr>
 *   <tr><td>ROM_INT</td><td>0x00000000</td><td>128k</td></tr>
 * </table>
 *
 * <table>
 *   <tr><th>Section Name</th><th>Section Runtime Region</th><th>Section Load Region</th></tr>
 *   <tr><td>.start</td><td>ROM_INT</td><td></td></tr>
 *   <tr><td>.text</td><td>ROM_INT</td><td>ROM_INT</td></tr>
 *   <tr><td>.rodata</td><td>ROM_INT</td><td>ROM_INT</td></tr>
 *   <tr><td>.data</td><td>RAM_INT</td><td>ROM_INT</td></tr>
 *   <tr><td>.fast</td><td>RAM_INT</td><td>ROM_INT</td></tr>
 *   <tr><td>.bss</td><td>RAM_INT</td><td></td></tr>
 *   <tr><td>.work</td><td>RAM_INT</td><td></td></tr>
 *   <tr><td>.stack</td><td>RAM_INT</td><td></td></tr>
 * </table>
 */

MEMORY {
	RAM_INT (AIW) : ORIGIN = 0x40000000, LENGTH = 32k
	RAM_USB (AIW) : ORIGIN = 0x7fd00000, LENGTH = 8k
	RAM_ETH (AIW) : ORIGIN = 0x7fe00000, LENGTH = 16k
	ROM_INT (RX)  : ORIGIN = 0x00000000, LENGTH = 128k
}

REGION_ALIAS ("REGION_START", ROM_INT);
REGION_ALIAS ("REGION_VECTOR", RAM_INT);
REGION_ALIAS ("REGION_TEXT", ROM_INT);
REGION_ALIAS ("REGION_TEXT_LOAD", ROM_INT);
REGION_ALIAS ("REGION_RODATA", ROM_INT);
REGION_ALIAS ("REGION_RODATA_LOAD", ROM_INT);
REGION_ALIAS ("REGION_DATA", RAM_INT);
REGION_ALIAS ("REGION_DATA_LOAD", ROM_INT);
REGION_ALIAS ("REGION_FAST_TEXT", RAM_INT);
REGION_ALIAS ("REGION_FAST_TEXT_LOAD", ROM_INT);
REGION_ALIAS ("REGION_FAST_DATA", RAM_INT);
REGION_ALIAS ("REGION_FAST_DATA_LOAD", ROM_INT);
REGION_ALIAS ("REGION_BSS", RAM_INT);
REGION_ALIAS ("REGION_WORK", RAM_INT);
REGION_ALIAS ("REGION_STACK", RAM_INT);

lpc24xx_region_heap_0_begin = ORIGIN (RAM_ETH);
lpc24xx_region_heap_0_size = LENGTH (RAM_ETH);
lpc24xx_region_heap_0_end = lpc24xx_region_heap_0_begin + lpc24xx_region_heap_0_size;

lpc24xx_region_heap_1_begin = ORIGIN (RAM_USB);
lpc24xx_region_heap_1_size = LENGTH (RAM_USB);
lpc24xx_region_heap_1_end = lpc24xx_region_heap_1_begin + lpc24xx_region_heap_1_size;

INCLUDE linkcmds.armv4