aboutsummaryrefslogtreecommitdiff
path: root/link.ld
blob: 9f2e79d0c6916b8a5b04bb0237fee9bbbd645589 (plain)
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
MEMORY {
	FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 0x80000
	RAM (rwx): ORIGIN = 0x20000000, LENGTH = 0x10000
}

SECTIONS {
	.vector_table ORIGIN(FLASH) :
	{
		*(.vector_table .vector_table.*);
	} > FLASH

	.text :
	{
		*(.text .text.*);
	} > FLASH

	.rodata :
	{
		*(.rodata .rodata.*);
	} > FLASH

	.bss : ALIGN(4)
	{
		__bss_start = .;

		*(.bss .bss.*);

		. = ALIGN(4);
		__bss_end = .;
	} > RAM

	.data : ALIGN(4)
	{
		__data_start = .;

		*(.data .data.*);

		. = ALIGN(4);
		__data_end = .;
	} > RAM AT > FLASH

	__data_lma = LOADADDR(.data);

	/DISCARD/ :
	{
		*(.ARM.exidx .ARM.exidx.*);
	}

	/* Start the stack from the end of the RAM */
	__stack_top = ORIGIN(RAM) + LENGTH(RAM);
}