Skip to content

Commit a93dc39

Browse files
author
Nathan Seidle
committed
2 parents 4dcbf6a + fee092f commit a93dc39

File tree

13 files changed

+179
-4
lines changed

13 files changed

+179
-4
lines changed

cores/arduino/ard_sup/main.cpp

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,7 @@ extern "C" void _init(void)
1212
{
1313
// Empty definition to resolve linker error within '__libc_init_array'
1414
}
15-
extern "C" void end(void)
16-
{
17-
// Empty definition to satisfy linker error in '_sbrk'
18-
}
15+
void *__dso_handle; // providing the __dso_handle symbol manually. Todo: more research for the *correct* solution
1916

2017
extern "C" int main(void)
2118
{

variants/SparkFun_Artemis/linker_scripts/gcc/ambiq_sbl_app.ld

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,5 +66,13 @@ SECTIONS
6666
_ebss = .;
6767
} > SRAM
6868

69+
.heap (COPY):
70+
{
71+
__end__ = .;
72+
PROVIDE(end = .);
73+
*(.heap*)
74+
__HeapLimit = .;
75+
} > SRAM
76+
6977
.ARM.attributes 0 : { *(.ARM.attributes) }
7078
}

variants/SparkFun_Artemis/linker_scripts/gcc/artemis_sbl_svl_app.ld

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,5 +66,15 @@ SECTIONS
6666
_ebss = .;
6767
} > SRAM
6868

69+
.heap (COPY):
70+
{
71+
__end__ = .;
72+
PROVIDE(end = .);
73+
*(.heap*)
74+
__HeapLimit = .;
75+
} > SRAM
76+
77+
/* TODO: Collision Checking (at link time) */
78+
6979
.ARM.attributes 0 : { *(.ARM.attributes) }
7080
}

variants/SparkFun_BlackBoard_Artemis/linker_scripts/gcc/ambiq_sbl_app.ld

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,5 +66,13 @@ SECTIONS
6666
_ebss = .;
6767
} > SRAM
6868

69+
.heap (COPY):
70+
{
71+
__end__ = .;
72+
PROVIDE(end = .);
73+
*(.heap*)
74+
__HeapLimit = .;
75+
} > SRAM
76+
6977
.ARM.attributes 0 : { *(.ARM.attributes) }
7078
}

variants/SparkFun_BlackBoard_Artemis/linker_scripts/gcc/artemis_sbl_svl_app.ld

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,5 +66,15 @@ SECTIONS
6666
_ebss = .;
6767
} > SRAM
6868

69+
.heap (COPY):
70+
{
71+
__end__ = .;
72+
PROVIDE(end = .);
73+
*(.heap*)
74+
__HeapLimit = .;
75+
} > SRAM
76+
77+
/* TODO: Collision Checking (at link time) */
78+
6979
.ARM.attributes 0 : { *(.ARM.attributes) }
7080
}

variants/SparkFun_BlackBoard_Artemis_Mega/linker_scripts/gcc/ambiq_sbl_app.ld

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,5 +66,13 @@ SECTIONS
6666
_ebss = .;
6767
} > SRAM
6868

69+
.heap (COPY):
70+
{
71+
__end__ = .;
72+
PROVIDE(end = .);
73+
*(.heap*)
74+
__HeapLimit = .;
75+
} > SRAM
76+
6977
.ARM.attributes 0 : { *(.ARM.attributes) }
7078
}

variants/SparkFun_BlackBoard_Artemis_Mega/linker_scripts/gcc/artemis_sbl_svl_app.ld

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,5 +66,15 @@ SECTIONS
6666
_ebss = .;
6767
} > SRAM
6868

69+
.heap (COPY):
70+
{
71+
__end__ = .;
72+
PROVIDE(end = .);
73+
*(.heap*)
74+
__HeapLimit = .;
75+
} > SRAM
76+
77+
/* TODO: Collision Checking (at link time) */
78+
6979
.ARM.attributes 0 : { *(.ARM.attributes) }
7080
}

variants/SparkFun_BlackBoard_Artemis_Nano/linker_scripts/gcc/ambiq_sbl_app.ld

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,5 +66,13 @@ SECTIONS
6666
_ebss = .;
6767
} > SRAM
6868

69+
.heap (COPY):
70+
{
71+
__end__ = .;
72+
PROVIDE(end = .);
73+
*(.heap*)
74+
__HeapLimit = .;
75+
} > SRAM
76+
6977
.ARM.attributes 0 : { *(.ARM.attributes) }
7078
}

variants/SparkFun_BlackBoard_Artemis_Nano/linker_scripts/gcc/artemis_sbl_svl_app.ld

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,5 +66,15 @@ SECTIONS
6666
_ebss = .;
6767
} > SRAM
6868

69+
.heap (COPY):
70+
{
71+
__end__ = .;
72+
PROVIDE(end = .);
73+
*(.heap*)
74+
__HeapLimit = .;
75+
} > SRAM
76+
77+
/* TODO: Collision Checking (at link time) */
78+
6979
.ARM.attributes 0 : { *(.ARM.attributes) }
7080
}

variants/SparkFun_Edge/linker_scripts/gcc/ambiq_sbl_app.ld

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,5 +66,13 @@ SECTIONS
6666
_ebss = .;
6767
} > SRAM
6868

69+
.heap (COPY):
70+
{
71+
__end__ = .;
72+
PROVIDE(end = .);
73+
*(.heap*)
74+
__HeapLimit = .;
75+
} > SRAM
76+
6977
.ARM.attributes 0 : { *(.ARM.attributes) }
7078
}
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
/******************************************************************************
2+
*
3+
* blank_slate.ld - Linker script for applications using startup_gnu.c
4+
*
5+
*****************************************************************************/
6+
ENTRY(Reset_Handler)
7+
8+
MEMORY
9+
{
10+
FLASH (rx) : ORIGIN = 0x00010000, LENGTH = 960K /*Modified from 0xC000 to work with SparkFun ABL*/
11+
SRAM (rwx) : ORIGIN = 0x10000000, LENGTH = 384K
12+
}
13+
14+
SECTIONS
15+
{
16+
.text :
17+
{
18+
. = ALIGN(4);
19+
KEEP(*(.isr_vector))
20+
KEEP(*(.patch))
21+
*(.text)
22+
*(.text*)
23+
24+
. = ALIGN(4);
25+
__init_array_start = .;
26+
KEEP(*(.init_array)) /* C++ constructors */
27+
KEEP(*(.ctors)) /* and vtable init */
28+
__init_array_end = .;
29+
30+
*(.rodata)
31+
*(.rodata*)
32+
. = ALIGN(4);
33+
_etext = .;
34+
} > FLASH
35+
36+
/* User stack section initialized by startup code. */
37+
.stack (NOLOAD):
38+
{
39+
. = ALIGN(8);
40+
*(.stack)
41+
*(.stack*)
42+
. = ALIGN(8);
43+
} > SRAM
44+
45+
.data :
46+
{
47+
. = ALIGN(4);
48+
_sdata = .;
49+
*(.data)
50+
*(.data*)
51+
. = ALIGN(4);
52+
_edata = .;
53+
} > SRAM AT>FLASH
54+
55+
/* used by startup to initialize data */
56+
_init_data = LOADADDR(.data);
57+
58+
.bss :
59+
{
60+
. = ALIGN(4);
61+
_sbss = .;
62+
*(.bss)
63+
*(.bss*)
64+
*(COMMON)
65+
. = ALIGN(4);
66+
_ebss = .;
67+
} > SRAM
68+
69+
.heap (COPY):
70+
{
71+
__end__ = .;
72+
PROVIDE(end = .);
73+
*(.heap*)
74+
__HeapLimit = .;
75+
} > SRAM
76+
77+
/* TODO: Collision Checking (at link time) */
78+
79+
.ARM.attributes 0 : { *(.ARM.attributes) }
80+
}

variants/SparkFun_Edge_V2/linker_scripts/gcc/ambiq_sbl_app.ld

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,5 +66,13 @@ SECTIONS
6666
_ebss = .;
6767
} > SRAM
6868

69+
.heap (COPY):
70+
{
71+
__end__ = .;
72+
PROVIDE(end = .);
73+
*(.heap*)
74+
__HeapLimit = .;
75+
} > SRAM
76+
6977
.ARM.attributes 0 : { *(.ARM.attributes) }
7078
}

variants/SparkFun_Edge_V2/linker_scripts/gcc/artemis_sbl_svl_app.ld

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,5 +66,15 @@ SECTIONS
6666
_ebss = .;
6767
} > SRAM
6868

69+
.heap (COPY):
70+
{
71+
__end__ = .;
72+
PROVIDE(end = .);
73+
*(.heap*)
74+
__HeapLimit = .;
75+
} > SRAM
76+
77+
/* TODO: Collision Checking (at link time) */
78+
6979
.ARM.attributes 0 : { *(.ARM.attributes) }
7080
}

0 commit comments

Comments
 (0)