summaryrefslogtreecommitdiffstats
path: root/bsps/arm/lpc32xx/start/linkcmds.lpc32xx_phycore
blob: b79447f98d58a7718de5347d374a80585022e5e4 (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
/**
 * @file
 *
 * @ingroup lpc32xx_linker_phycore
 *
 * @brief Memory map.
 */

/**
 * @defgroup lpc32xx_linker_phycore phyCORE-LPC3250 Memory Map
 *
 * @ingroup bsp_linker
 *
 * @brief phyCORE-LPC3250 memory map.
 *
 * <table>
 *   <tr><th>Region Name</th><th>Region Begin</th><th>Region Size</th></tr>
 *   <tr><td>RAM_INT</td><td>0x08000000</td><td>256k</td></tr>
 *   <tr><td>RAM_MMU</td><td>0x80000000</td><td>16k</td></tr>
 *   <tr><td>RAM_EXT</td><td>0x80004000</td><td>64M - 16k</td></tr>
 *   <tr><td>ROM_EXT</td><td>0xe0000000</td><td>2M</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>RAM_EXT</td><td></td></tr>
 *   <tr><td>.vector</td><td>RAM_INT</td><td></td></tr>
 *   <tr><td>.text</td><td>RAM_EXT</td><td>RAM_EXT</td></tr>
 *   <tr><td>.rodata</td><td>RAM_EXT</td><td>RAM_EXT</td></tr>
 *   <tr><td>.data</td><td>RAM_EXT</td><td>RAM_EXT</td></tr>
 *   <tr><td>.fast</td><td>RAM_EXT</td><td>RAM_EXT</td></tr>
 *   <tr><td>.bss</td><td>RAM_EXT</td><td></td></tr>
 *   <tr><td>.work</td><td>RAM_EXT</td><td></td></tr>
 *   <tr><td>.stack</td><td>RAM_INT</td><td></td></tr>
 * </table>
 */

MEMORY {
	RAM_INT : ORIGIN = 0x08000000, LENGTH = 256k
	RAM_MMU : ORIGIN = 0x80000000, LENGTH = 16k /* SDRAM on DYCS0 */
	RAM_EXT : ORIGIN = 0x80004000, LENGTH = 64M - 16k /* SDRAM on DYCS0 */
	ROM_EXT : ORIGIN = 0xe0000000, LENGTH = 2M /* NOR flash on CS0 */
}

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

bsp_stack_abt_size = DEFINED (bsp_stack_abt_size) ? bsp_stack_abt_size : 1024;

bsp_section_rwbarrier_align = DEFINED (bsp_section_rwbarrier_align) ? bsp_section_rwbarrier_align : 1M;

INCLUDE linkcmds.lpc32xx