• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/***********************************************************/
2/* Configure memory regions */
3MEMORY
4{
5    IROM (rwx)          : ORIGIN = 0x08000000,   LENGTH = 0x00100000
6    SRAM (rwx)          : ORIGIN = 0x20000000,   LENGTH = 0x0001A000
7    SYSSTACK (rwx)      : ORIGIN = 0x2001A000,   LENGTH = 0x2000
8}
9
10ENTRY(OsResetVector)
11
12SECTIONS
13{
14    .resetzone :
15    {
16        __text_section_start = .;
17	KEEP(*(.reset))
18    } > IROM
19
20    .text :
21    {
22        . = ALIGN(4);
23	__text_start__ = .;
24	*(.text*)
25	*(.rodata*)
26	*(.kernel*)
27	*(.rel*)
28    } > IROM
29
30    .ARM.exidx :
31    {
32        *(.ARM.exidx*  .gnu.linkonce.armexidx.*)
33	. = ALIGN(4);
34    } > IROM
35
36    .data : AT(LOADADDR(.ARM.exidx) + SIZEOF(.ARM.exidx))
37    {
38        __text_end__ = LOADADDR(.data);
39	__data_start__ = .;
40	KEEP(*(VECTOR))
41	*(vtable)
42	*(.data*)
43	. = ALIGN(4);
44	__data_end__ = .;
45    } > SRAM
46
47    .bss :
48    {
49        . = ALIGN(4);
50	__bss_start__ = .;
51	g_bssStart = .;
52	*(.bss*)
53	*(COMMON)
54	. = ALIGN(4);
55	__bss_end__ = .;
56	g_bssEnd = .;
57    } > SRAM
58
59    .osStack :
60    {
61        g_stackStart = .;
62	. = . + 0x2000;
63	g_stackEnd = .;
64    } > SYSSTACK
65
66    .heap (COPY):
67    {
68        __end__ = .;
69	end = __end__;
70	*(.heap*)
71	__HeapLimit = .;
72    } > SYSSTACK
73}
74
75/***********************************************************/
76
77