blob: ad1eca2fb75fb6a19518902f05525bbc79cf33d8 (
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
|
/* "Preamble" for linker scripts (such as common_rom.inc) */
OUTPUT_FORMAT ("elf32-littlearm", "elf32-bigarm", "elf32-littlearm")
ENTRY(_start)
SEARCH_DIR(.)
/*
* Link against libgcc, libc, and libm
*/
GROUP(libgcc.a libc.a libm.a)
/* These force the linker to search for particular symbols from
* the start of the link process and thus ensure the user's
* overrides are picked up
*/
INCLUDE names.inc
/* STM32 vector table. See stm32_vector_table.S */
EXTERN(__cs3_stm32_vector_table)
/* libcs3 C start function. See cs3.h */
EXTERN(__cs3_start_c)
/* main entry point */
EXTERN(main)
/* Initial stack pointer value. */
EXTERN(__cs3_stack)
PROVIDE(__cs3_stack = __cs3_region_start_ram + __cs3_region_size_ram);
/* Reset vector and chip reset entry point. See start.S */
EXTERN(_start)
PROVIDE(__cs3_reset = _start);
/* Beginning of the heap */
PROVIDE(__cs3_heap_start = _end);
/* End of the heap */
PROVIDE(__cs3_heap_end = __cs3_region_start_ram + __cs3_region_size_ram);
|