summaryrefslogtreecommitdiff
path: root/src/generated.stm32f103c8.ld
diff options
context:
space:
mode:
Diffstat (limited to 'src/generated.stm32f103c8.ld')
-rw-r--r--src/generated.stm32f103c8.ld69
1 files changed, 69 insertions, 0 deletions
diff --git a/src/generated.stm32f103c8.ld b/src/generated.stm32f103c8.ld
new file mode 100644
index 0000000..7b7234a
--- /dev/null
+++ b/src/generated.stm32f103c8.ld
@@ -0,0 +1,69 @@
+EXTERN(vector_table)
+ENTRY(reset_handler)
+MEMORY
+{
+ ram (rwx) : ORIGIN = 0x20000000, LENGTH = 20K
+ rom (rx) : ORIGIN = 0x08000000, LENGTH = 64K
+}
+SECTIONS
+{
+ .text : {
+ *(.vectors)
+ *(.text*)
+ . = ALIGN(4);
+ *(.rodata*)
+ . = ALIGN(4);
+ } >rom
+ .preinit_array : {
+ . = ALIGN(4);
+ __preinit_array_start = .;
+ KEEP (*(.preinit_array))
+ __preinit_array_end = .;
+ } >rom
+ .init_array : {
+ . = ALIGN(4);
+ __init_array_start = .;
+ KEEP (*(SORT(.init_array.*)))
+ KEEP (*(.init_array))
+ __init_array_end = .;
+ } >rom
+ .fini_array : {
+ . = ALIGN(4);
+ __fini_array_start = .;
+ KEEP (*(.fini_array))
+ KEEP (*(SORT(.fini_array.*)))
+ __fini_array_end = .;
+ } >rom
+ .ARM.extab : {
+ *(.ARM.extab*)
+ } >rom
+ .ARM.exidx : {
+ __exidx_start = .;
+ *(.ARM.exidx*)
+ __exidx_end = .;
+ } >rom
+ . = ALIGN(4);
+ _etext = .;
+ .noinit (NOLOAD) : {
+ *(.noinit*)
+ } >ram
+ . = ALIGN(4);
+ .data : {
+ _data = .;
+ *(.data*)
+ *(.ramtext*)
+ . = ALIGN(4);
+ _edata = .;
+ } >ram AT >rom
+ _data_loadaddr = LOADADDR(.data);
+ .bss : {
+ *(.bss*)
+ *(COMMON)
+ . = ALIGN(4);
+ _ebss = .;
+ } >ram
+ /DISCARD/ : { *(.eh_frame) }
+ . = ALIGN(4);
+ end = .;
+}
+PROVIDE(_stack = ORIGIN(ram) + LENGTH(ram));