diff --git a/examples/lm3s/Makefile.include b/examples/lm3s/Makefile.include
index 0eafe7d3..1e899887 100644
--- a/examples/lm3s/Makefile.include
+++ b/examples/lm3s/Makefile.include
@@ -29,7 +29,7 @@ OBJDUMP = $(PREFIX)-objdump
TOOLCHAIN_DIR = ../../../..
CFLAGS += -O0 -g3 -Wall -Wextra -I$(TOOLCHAIN_DIR)/include -fno-common \
-mcpu=cortex-m3 -mthumb -MD
-LDSCRIPT = $(BINARY).ld
+LDSCRIPT ?= $(BINARY).ld
LDFLAGS += -L$(TOOLCHAIN_DIR)/lib -L$(TOOLCHAIN_DIR)/lib/lm3s \
-T$(LDSCRIPT) -nostartfiles -Wl,--gc-sections
OBJS += $(BINARY).o
diff --git a/examples/lm3s/lm3s3748-evb/miniblink/miniblink.ld b/examples/lm3s/lm3s3748-evb/lm3s3748-evb.ld
similarity index 100%
rename from examples/lm3s/lm3s3748-evb/miniblink/miniblink.ld
rename to examples/lm3s/lm3s3748-evb/lm3s3748-evb.ld
diff --git a/examples/lm3s/lm3s3748-evb/miniblink/Makefile b/examples/lm3s/lm3s3748-evb/miniblink/Makefile
index 110e69eb..3229fe63 100644
--- a/examples/lm3s/lm3s3748-evb/miniblink/Makefile
+++ b/examples/lm3s/lm3s3748-evb/miniblink/Makefile
@@ -19,5 +19,7 @@
BINARY = miniblink
+LDSCRIPT = ../lm3s3748-evb.ld
+
include ../../Makefile.include
diff --git a/examples/lpc13xx/Makefile.include b/examples/lpc13xx/Makefile.include
index 948d6c45..db805008 100644
--- a/examples/lpc13xx/Makefile.include
+++ b/examples/lpc13xx/Makefile.include
@@ -29,7 +29,7 @@ OBJDUMP = $(PREFIX)-objdump
TOOLCHAIN_DIR = ../../../..
CFLAGS += -Os -g -Wall -Wextra -I$(TOOLCHAIN_DIR)/include -fno-common \
-mcpu=cortex-m3 -mthumb -MD
-LDSCRIPT = $(BINARY).ld
+LDSCRIPT ?= $(BINARY).ld
LDFLAGS += -L$(TOOLCHAIN_DIR)/lib -L$(TOOLCHAIN_DIR)/lib/lpc13xx \
-T$(LDSCRIPT) -nostartfiles -Wl,--gc-sections
OBJS += $(BINARY).o
diff --git a/examples/lpc13xx/lpc-p1343/miniblink/miniblink.ld b/examples/lpc13xx/lpc-p1343/lpc-p1343.ld
similarity index 100%
rename from examples/lpc13xx/lpc-p1343/miniblink/miniblink.ld
rename to examples/lpc13xx/lpc-p1343/lpc-p1343.ld
diff --git a/examples/lpc13xx/lpc-p1343/miniblink/Makefile b/examples/lpc13xx/lpc-p1343/miniblink/Makefile
index 110e69eb..e372e456 100644
--- a/examples/lpc13xx/lpc-p1343/miniblink/Makefile
+++ b/examples/lpc13xx/lpc-p1343/miniblink/Makefile
@@ -19,5 +19,7 @@
BINARY = miniblink
+LDSCRIPT = ../lpc-p1343.ld
+
include ../../Makefile.include
diff --git a/examples/stm32/f1/Makefile.include b/examples/stm32/f1/Makefile.include
index b7046d0b..7d59ddfe 100644
--- a/examples/stm32/f1/Makefile.include
+++ b/examples/stm32/f1/Makefile.include
@@ -30,7 +30,7 @@ GDB = $(PREFIX)-gdb
TOOLCHAIN_DIR = ../../../../..
CFLAGS += -Os -g -Wall -Wextra -I$(TOOLCHAIN_DIR)/include \
-fno-common -mcpu=cortex-m3 -mthumb -msoft-float -MD -DSTM32F1
-LDSCRIPT = $(BINARY).ld
+LDSCRIPT ?= $(BINARY).ld
LDFLAGS += -lc -lnosys -L$(TOOLCHAIN_DIR)/lib -L$(TOOLCHAIN_DIR)/lib/stm32/f1 \
-T$(LDSCRIPT) -nostartfiles -Wl,--gc-sections \
-mthumb -march=armv7 -mfix-cortex-m3-ldrd -msoft-float
diff --git a/examples/stm32/f1/lisa-m/fancyblink/Makefile b/examples/stm32/f1/lisa-m/fancyblink/Makefile
index 1baec4de..52f5d952 100644
--- a/examples/stm32/f1/lisa-m/fancyblink/Makefile
+++ b/examples/stm32/f1/lisa-m/fancyblink/Makefile
@@ -19,5 +19,7 @@
BINARY = fancyblink
+LDSCRIPT = ../lisa-m.ld
+
include ../../Makefile.include
diff --git a/examples/stm32/f1/mb525/pwmleds/pwmleds.ld b/examples/stm32/f1/lisa-m/lisa-m.ld
similarity index 89%
rename from examples/stm32/f1/mb525/pwmleds/pwmleds.ld
rename to examples/stm32/f1/lisa-m/lisa-m.ld
index 3409b98d..726d34a2 100644
--- a/examples/stm32/f1/mb525/pwmleds/pwmleds.ld
+++ b/examples/stm32/f1/lisa-m/lisa-m.ld
@@ -17,7 +17,8 @@
* along with this program. If not, see .
*/
-/* Linker script for Olimex STM32-H103 (STM32F103RBT6, 128K flash, 20K RAM). */
+/* Linker script for Lisa-M (STM32F103RBT6, 128K flash, 20K RAM). */
+/* TODO: Chip name and sizes correct? */
/* Define memory regions. */
MEMORY
diff --git a/examples/stm32/f1/lisa-m/usb_cdcacm/Makefile b/examples/stm32/f1/lisa-m/usb_cdcacm/Makefile
index 38179e35..a913f737 100644
--- a/examples/stm32/f1/lisa-m/usb_cdcacm/Makefile
+++ b/examples/stm32/f1/lisa-m/usb_cdcacm/Makefile
@@ -19,5 +19,7 @@
BINARY = cdcacm
+LDSCRIPT = ../lisa-m.ld
+
include ../../Makefile.include
diff --git a/examples/stm32/f1/lisa-m/usb_cdcacm/cdcacm.ld b/examples/stm32/f1/lisa-m/usb_cdcacm/cdcacm.ld
deleted file mode 100644
index d0df9e64..00000000
--- a/examples/stm32/f1/lisa-m/usb_cdcacm/cdcacm.ld
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * This file is part of the libopencm3 project.
- *
- * Copyright (C) 2010 Thomas Otto
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-/* Linker script for Olimex STM32-H103 (STM32F103RBT6, 128K flash, 20K RAM). */
-
-/* Define memory regions. */
-MEMORY
-{
- rom (rx) : ORIGIN = 0x08000000, LENGTH = 128K
- ram (rwx) : ORIGIN = 0x20000000, LENGTH = 20K
-}
-
-/* Include the common ld script. */
-INCLUDE libopencm3_stm32f1.ld
-
diff --git a/examples/stm32/f1/lisa-m/usb_dfu/Makefile b/examples/stm32/f1/lisa-m/usb_dfu/Makefile
index 48e2d6bd..88ca7e56 100644
--- a/examples/stm32/f1/lisa-m/usb_dfu/Makefile
+++ b/examples/stm32/f1/lisa-m/usb_dfu/Makefile
@@ -19,5 +19,7 @@
BINARY = usbdfu
+LDSCRIPT = ../lisa-m.ld
+
include ../../Makefile.include
diff --git a/examples/stm32/f1/lisa-m/usb_dfu/usbdfu.ld b/examples/stm32/f1/lisa-m/usb_dfu/usbdfu.ld
deleted file mode 100644
index 6a01797d..00000000
--- a/examples/stm32/f1/lisa-m/usb_dfu/usbdfu.ld
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * This file is part of the libopencm3 project.
- *
- * Copyright (C) 2010 Thomas Otto
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-/* Define memory regions. */
-MEMORY
-{
- rom (rx) : ORIGIN = 0x08000000, LENGTH = 8K
- ram (rwx) : ORIGIN = 0x20000000, LENGTH = 4K
-}
-
-/* Include the common ld script. */
-INCLUDE libopencm3_stm32f1.ld
-
diff --git a/examples/stm32/f1/lisa-m/usb_hid/Makefile b/examples/stm32/f1/lisa-m/usb_hid/Makefile
index d831e9e7..15d33915 100644
--- a/examples/stm32/f1/lisa-m/usb_hid/Makefile
+++ b/examples/stm32/f1/lisa-m/usb_hid/Makefile
@@ -19,5 +19,7 @@
BINARY = usbhid
+LDSCRIPT = ../lisa-m.ld
+
include ../../Makefile.include
diff --git a/examples/stm32/f1/lisa-m/usb_hid/usbhid.ld b/examples/stm32/f1/lisa-m/usb_hid/usbhid.ld
deleted file mode 100644
index d0df9e64..00000000
--- a/examples/stm32/f1/lisa-m/usb_hid/usbhid.ld
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * This file is part of the libopencm3 project.
- *
- * Copyright (C) 2010 Thomas Otto
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-/* Linker script for Olimex STM32-H103 (STM32F103RBT6, 128K flash, 20K RAM). */
-
-/* Define memory regions. */
-MEMORY
-{
- rom (rx) : ORIGIN = 0x08000000, LENGTH = 128K
- ram (rwx) : ORIGIN = 0x20000000, LENGTH = 20K
-}
-
-/* Include the common ld script. */
-INCLUDE libopencm3_stm32f1.ld
-
diff --git a/examples/stm32/f1/mb525/fancyblink/Makefile b/examples/stm32/f1/mb525/fancyblink/Makefile
index 1baec4de..8e18a4fe 100644
--- a/examples/stm32/f1/mb525/fancyblink/Makefile
+++ b/examples/stm32/f1/mb525/fancyblink/Makefile
@@ -19,5 +19,7 @@
BINARY = fancyblink
+LDSCRIPT = ../mb525.ld
+
include ../../Makefile.include
diff --git a/examples/stm32/f1/mb525/fancyblink/fancyblink.ld b/examples/stm32/f1/mb525/fancyblink/fancyblink.ld
deleted file mode 100644
index 3409b98d..00000000
--- a/examples/stm32/f1/mb525/fancyblink/fancyblink.ld
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * This file is part of the libopencm3 project.
- *
- * Copyright (C) 2009 Uwe Hermann
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-/* Linker script for Olimex STM32-H103 (STM32F103RBT6, 128K flash, 20K RAM). */
-
-/* Define memory regions. */
-MEMORY
-{
- rom (rx) : ORIGIN = 0x08000000, LENGTH = 128K
- ram (rwx) : ORIGIN = 0x20000000, LENGTH = 20K
-}
-
-/* Include the common ld script. */
-INCLUDE libopencm3_stm32f1.ld
-
diff --git a/examples/stm32/f1/obldc/pwmleds/pwmleds.ld b/examples/stm32/f1/mb525/mb525.ld
similarity index 96%
rename from examples/stm32/f1/obldc/pwmleds/pwmleds.ld
rename to examples/stm32/f1/mb525/mb525.ld
index 3409b98d..49ff8107 100644
--- a/examples/stm32/f1/obldc/pwmleds/pwmleds.ld
+++ b/examples/stm32/f1/mb525/mb525.ld
@@ -17,6 +17,7 @@
* along with this program. If not, see .
*/
+/* TODO: Fix description and sizes. */
/* Linker script for Olimex STM32-H103 (STM32F103RBT6, 128K flash, 20K RAM). */
/* Define memory regions. */
diff --git a/examples/stm32/f1/mb525/pwmleds/Makefile b/examples/stm32/f1/mb525/pwmleds/Makefile
index 8ae74d69..a5064b1e 100644
--- a/examples/stm32/f1/mb525/pwmleds/Makefile
+++ b/examples/stm32/f1/mb525/pwmleds/Makefile
@@ -19,5 +19,7 @@
BINARY = pwmleds
+LDSCRIPT = ../mb525.ld
+
include ../../Makefile.include
diff --git a/examples/stm32/f1/obldc/can/Makefile b/examples/stm32/f1/obldc/can/Makefile
index 20a4b907..15c9cddd 100644
--- a/examples/stm32/f1/obldc/can/Makefile
+++ b/examples/stm32/f1/obldc/can/Makefile
@@ -19,5 +19,7 @@
BINARY = can
+LDSCRIPT = ../obldc.ld
+
include ../../Makefile.include
diff --git a/examples/stm32/f1/obldc/can/can.ld b/examples/stm32/f1/obldc/can/can.ld
deleted file mode 100644
index 4f609a88..00000000
--- a/examples/stm32/f1/obldc/can/can.ld
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * This file is part of the libopencm3 project.
- *
- * Copyright (C) 2010 Thomas Otto
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-/* Linker script for an STM32F103RBT6 board (128K flash, 20K RAM). */
-
-/* Define memory regions. */
-MEMORY
-{
- rom (rx) : ORIGIN = 0x08000000, LENGTH = 128K
- ram (rwx) : ORIGIN = 0x20000000, LENGTH = 20K
-}
-
-/* Include the common ld script. */
-INCLUDE libopencm3_stm32f1.ld
-
diff --git a/examples/stm32/f1/obldc/led/Makefile b/examples/stm32/f1/obldc/led/Makefile
index 8e1618ab..7d227be6 100644
--- a/examples/stm32/f1/obldc/led/Makefile
+++ b/examples/stm32/f1/obldc/led/Makefile
@@ -19,5 +19,7 @@
BINARY = led
+LDSCRIPT = ../obldc.ld
+
include ../../Makefile.include
diff --git a/examples/stm32/f1/obldc/led/led.ld b/examples/stm32/f1/obldc/obldc.ld
similarity index 100%
rename from examples/stm32/f1/obldc/led/led.ld
rename to examples/stm32/f1/obldc/obldc.ld
diff --git a/examples/stm32/f1/obldc/pwmleds/Makefile b/examples/stm32/f1/obldc/pwmleds/Makefile
index 8ae74d69..085fb23f 100644
--- a/examples/stm32/f1/obldc/pwmleds/Makefile
+++ b/examples/stm32/f1/obldc/pwmleds/Makefile
@@ -19,5 +19,7 @@
BINARY = pwmleds
+LDSCRIPT = ../obldc.ld
+
include ../../Makefile.include
diff --git a/examples/stm32/f1/obldc/systick/Makefile b/examples/stm32/f1/obldc/systick/Makefile
index 91b5cb55..ddd3d2ff 100644
--- a/examples/stm32/f1/obldc/systick/Makefile
+++ b/examples/stm32/f1/obldc/systick/Makefile
@@ -19,5 +19,7 @@
BINARY = systick
+LDSCRIPT = ../obldc.ld
+
include ../../Makefile.include
diff --git a/examples/stm32/f1/obldc/systick/systick.ld b/examples/stm32/f1/obldc/systick/systick.ld
deleted file mode 100644
index a3195d22..00000000
--- a/examples/stm32/f1/obldc/systick/systick.ld
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * This file is part of the libopencm3 project.
- *
- * Copyright (C) 2010 Thomas Otto
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-/* Linker script for an STM32F103CBT6 board (128K flash, 20K RAM). */
-
-/* Define memory regions. */
-MEMORY
-{
- rom (rx) : ORIGIN = 0x08000000, LENGTH = 128K
- ram (rwx) : ORIGIN = 0x20000000, LENGTH = 20K
-}
-
-/* Include the common ld script. */
-INCLUDE libopencm3_stm32f1.ld
-
diff --git a/examples/stm32/f1/obldc/usart/Makefile b/examples/stm32/f1/obldc/usart/Makefile
index 2c1e1b1b..ba5cfab8 100644
--- a/examples/stm32/f1/obldc/usart/Makefile
+++ b/examples/stm32/f1/obldc/usart/Makefile
@@ -19,5 +19,7 @@
BINARY = usart
+LDSCRIPT = ../obldc.ld
+
include ../../Makefile.include
diff --git a/examples/stm32/f1/obldc/usart/usart.ld b/examples/stm32/f1/obldc/usart/usart.ld
deleted file mode 100644
index edb52c5a..00000000
--- a/examples/stm32/f1/obldc/usart/usart.ld
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * This file is part of the libopencm3 project.
- *
- * Copyright (C) 2009 Uwe Hermann
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-/* Linker script for Open-BLDC (STM32F103CBT6, 128K flash, 20K RAM). */
-
-/* Define memory regions. */
-MEMORY
-{
- rom (rx) : ORIGIN = 0x08000000, LENGTH = 128K
- ram (rwx) : ORIGIN = 0x20000000, LENGTH = 20K
-}
-
-/* Include the common ld script. */
-INCLUDE libopencm3_stm32f1.ld
-
diff --git a/examples/stm32/f1/obldc/usart_irq/Makefile b/examples/stm32/f1/obldc/usart_irq/Makefile
index 2ab46a05..b0db32c7 100644
--- a/examples/stm32/f1/obldc/usart_irq/Makefile
+++ b/examples/stm32/f1/obldc/usart_irq/Makefile
@@ -21,5 +21,7 @@ BINARY = usart_irq
OOCD_BOARD = open-bldc
+LDSCRIPT = ../obldc.ld
+
include ../../Makefile.include
diff --git a/examples/stm32/f1/obldc/usart_irq/usart_irq.ld b/examples/stm32/f1/obldc/usart_irq/usart_irq.ld
deleted file mode 100644
index edb52c5a..00000000
--- a/examples/stm32/f1/obldc/usart_irq/usart_irq.ld
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * This file is part of the libopencm3 project.
- *
- * Copyright (C) 2009 Uwe Hermann
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-/* Linker script for Open-BLDC (STM32F103CBT6, 128K flash, 20K RAM). */
-
-/* Define memory regions. */
-MEMORY
-{
- rom (rx) : ORIGIN = 0x08000000, LENGTH = 128K
- ram (rwx) : ORIGIN = 0x20000000, LENGTH = 20K
-}
-
-/* Include the common ld script. */
-INCLUDE libopencm3_stm32f1.ld
-
diff --git a/examples/stm32/f1/stm32-h103/button/Makefile b/examples/stm32/f1/stm32-h103/button/Makefile
index 96731c22..35b7df57 100644
--- a/examples/stm32/f1/stm32-h103/button/Makefile
+++ b/examples/stm32/f1/stm32-h103/button/Makefile
@@ -19,5 +19,7 @@
BINARY = button
+LDSCRIPT = ../stm32-h103.ld
+
include ../../Makefile.include
diff --git a/examples/stm32/f1/stm32-h103/button/button.ld b/examples/stm32/f1/stm32-h103/button/button.ld
deleted file mode 100644
index 3409b98d..00000000
--- a/examples/stm32/f1/stm32-h103/button/button.ld
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * This file is part of the libopencm3 project.
- *
- * Copyright (C) 2009 Uwe Hermann
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-/* Linker script for Olimex STM32-H103 (STM32F103RBT6, 128K flash, 20K RAM). */
-
-/* Define memory regions. */
-MEMORY
-{
- rom (rx) : ORIGIN = 0x08000000, LENGTH = 128K
- ram (rwx) : ORIGIN = 0x20000000, LENGTH = 20K
-}
-
-/* Include the common ld script. */
-INCLUDE libopencm3_stm32f1.ld
-
diff --git a/examples/stm32/f1/stm32-h103/exti_both/Makefile b/examples/stm32/f1/stm32-h103/exti_both/Makefile
index 39e305be..4c88571e 100644
--- a/examples/stm32/f1/stm32-h103/exti_both/Makefile
+++ b/examples/stm32/f1/stm32-h103/exti_both/Makefile
@@ -19,5 +19,7 @@
BINARY = exti_both
+LDSCRIPT = ../stm32-h103.ld
+
include ../../Makefile.include
diff --git a/examples/stm32/f1/stm32-h103/exti_both/exti_both.ld b/examples/stm32/f1/stm32-h103/exti_both/exti_both.ld
deleted file mode 100644
index 3409b98d..00000000
--- a/examples/stm32/f1/stm32-h103/exti_both/exti_both.ld
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * This file is part of the libopencm3 project.
- *
- * Copyright (C) 2009 Uwe Hermann
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-/* Linker script for Olimex STM32-H103 (STM32F103RBT6, 128K flash, 20K RAM). */
-
-/* Define memory regions. */
-MEMORY
-{
- rom (rx) : ORIGIN = 0x08000000, LENGTH = 128K
- ram (rwx) : ORIGIN = 0x20000000, LENGTH = 20K
-}
-
-/* Include the common ld script. */
-INCLUDE libopencm3_stm32f1.ld
-
diff --git a/examples/stm32/f1/stm32-h103/exti_rising_falling/Makefile b/examples/stm32/f1/stm32-h103/exti_rising_falling/Makefile
index fc603a6c..6a7735e9 100644
--- a/examples/stm32/f1/stm32-h103/exti_rising_falling/Makefile
+++ b/examples/stm32/f1/stm32-h103/exti_rising_falling/Makefile
@@ -19,5 +19,7 @@
BINARY = exti_rising_falling
+LDSCRIPT = ../stm32-h103.ld
+
include ../../Makefile.include
diff --git a/examples/stm32/f1/stm32-h103/exti_rising_falling/exti_rising_falling.ld b/examples/stm32/f1/stm32-h103/exti_rising_falling/exti_rising_falling.ld
deleted file mode 100644
index 3409b98d..00000000
--- a/examples/stm32/f1/stm32-h103/exti_rising_falling/exti_rising_falling.ld
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * This file is part of the libopencm3 project.
- *
- * Copyright (C) 2009 Uwe Hermann
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-/* Linker script for Olimex STM32-H103 (STM32F103RBT6, 128K flash, 20K RAM). */
-
-/* Define memory regions. */
-MEMORY
-{
- rom (rx) : ORIGIN = 0x08000000, LENGTH = 128K
- ram (rwx) : ORIGIN = 0x20000000, LENGTH = 20K
-}
-
-/* Include the common ld script. */
-INCLUDE libopencm3_stm32f1.ld
-
diff --git a/examples/stm32/f1/stm32-h103/fancyblink/Makefile b/examples/stm32/f1/stm32-h103/fancyblink/Makefile
index 1baec4de..54ccf5ed 100644
--- a/examples/stm32/f1/stm32-h103/fancyblink/Makefile
+++ b/examples/stm32/f1/stm32-h103/fancyblink/Makefile
@@ -19,5 +19,7 @@
BINARY = fancyblink
+LDSCRIPT = ../stm32-h103.ld
+
include ../../Makefile.include
diff --git a/examples/stm32/f1/stm32-h103/fancyblink/fancyblink.ld b/examples/stm32/f1/stm32-h103/fancyblink/fancyblink.ld
deleted file mode 100644
index 3409b98d..00000000
--- a/examples/stm32/f1/stm32-h103/fancyblink/fancyblink.ld
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * This file is part of the libopencm3 project.
- *
- * Copyright (C) 2009 Uwe Hermann
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-/* Linker script for Olimex STM32-H103 (STM32F103RBT6, 128K flash, 20K RAM). */
-
-/* Define memory regions. */
-MEMORY
-{
- rom (rx) : ORIGIN = 0x08000000, LENGTH = 128K
- ram (rwx) : ORIGIN = 0x20000000, LENGTH = 20K
-}
-
-/* Include the common ld script. */
-INCLUDE libopencm3_stm32f1.ld
-
diff --git a/examples/stm32/f1/stm32-h103/led_stripe/Makefile b/examples/stm32/f1/stm32-h103/led_stripe/Makefile
index 60fd1efb..c7d5d258 100644
--- a/examples/stm32/f1/stm32-h103/led_stripe/Makefile
+++ b/examples/stm32/f1/stm32-h103/led_stripe/Makefile
@@ -19,5 +19,7 @@
BINARY = led_stripe
+LDSCRIPT = ../stm32-h103.ld
+
include ../../Makefile.include
diff --git a/examples/stm32/f1/stm32-h103/led_stripe/led_stripe.ld b/examples/stm32/f1/stm32-h103/led_stripe/led_stripe.ld
deleted file mode 100644
index 3409b98d..00000000
--- a/examples/stm32/f1/stm32-h103/led_stripe/led_stripe.ld
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * This file is part of the libopencm3 project.
- *
- * Copyright (C) 2009 Uwe Hermann
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-/* Linker script for Olimex STM32-H103 (STM32F103RBT6, 128K flash, 20K RAM). */
-
-/* Define memory regions. */
-MEMORY
-{
- rom (rx) : ORIGIN = 0x08000000, LENGTH = 128K
- ram (rwx) : ORIGIN = 0x20000000, LENGTH = 20K
-}
-
-/* Include the common ld script. */
-INCLUDE libopencm3_stm32f1.ld
-
diff --git a/examples/stm32/f1/stm32-h103/miniblink/Makefile b/examples/stm32/f1/stm32-h103/miniblink/Makefile
index 24a478b4..9da71eab 100644
--- a/examples/stm32/f1/stm32-h103/miniblink/Makefile
+++ b/examples/stm32/f1/stm32-h103/miniblink/Makefile
@@ -19,5 +19,7 @@
BINARY = miniblink
+LDSCRIPT = ../stm32-h103.ld
+
include ../../Makefile.include
diff --git a/examples/stm32/f1/stm32-h103/miniblink/miniblink.ld b/examples/stm32/f1/stm32-h103/miniblink/miniblink.ld
deleted file mode 100644
index 3409b98d..00000000
--- a/examples/stm32/f1/stm32-h103/miniblink/miniblink.ld
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * This file is part of the libopencm3 project.
- *
- * Copyright (C) 2009 Uwe Hermann
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-/* Linker script for Olimex STM32-H103 (STM32F103RBT6, 128K flash, 20K RAM). */
-
-/* Define memory regions. */
-MEMORY
-{
- rom (rx) : ORIGIN = 0x08000000, LENGTH = 128K
- ram (rwx) : ORIGIN = 0x20000000, LENGTH = 20K
-}
-
-/* Include the common ld script. */
-INCLUDE libopencm3_stm32f1.ld
-
diff --git a/examples/stm32/f1/stm32-h103/pwm_6step/Makefile b/examples/stm32/f1/stm32-h103/pwm_6step/Makefile
index 2360082a..c6e80f7b 100644
--- a/examples/stm32/f1/stm32-h103/pwm_6step/Makefile
+++ b/examples/stm32/f1/stm32-h103/pwm_6step/Makefile
@@ -19,5 +19,7 @@
BINARY = pwm_6step
+LDSCRIPT = ../stm32-h103.ld
+
include ../../Makefile.include
diff --git a/examples/stm32/f1/stm32-h103/pwm_6step/pwm_6step.ld b/examples/stm32/f1/stm32-h103/pwm_6step/pwm_6step.ld
deleted file mode 100644
index 3409b98d..00000000
--- a/examples/stm32/f1/stm32-h103/pwm_6step/pwm_6step.ld
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * This file is part of the libopencm3 project.
- *
- * Copyright (C) 2009 Uwe Hermann
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-/* Linker script for Olimex STM32-H103 (STM32F103RBT6, 128K flash, 20K RAM). */
-
-/* Define memory regions. */
-MEMORY
-{
- rom (rx) : ORIGIN = 0x08000000, LENGTH = 128K
- ram (rwx) : ORIGIN = 0x20000000, LENGTH = 20K
-}
-
-/* Include the common ld script. */
-INCLUDE libopencm3_stm32f1.ld
-
diff --git a/examples/stm32/f1/stm32-h103/spi/Makefile b/examples/stm32/f1/stm32-h103/spi/Makefile
index 7d3cb72e..0064f138 100644
--- a/examples/stm32/f1/stm32-h103/spi/Makefile
+++ b/examples/stm32/f1/stm32-h103/spi/Makefile
@@ -19,5 +19,7 @@
BINARY = spi
+LDSCRIPT = ../stm32-h103.ld
+
include ../../Makefile.include
diff --git a/examples/stm32/f1/stm32-h103/spi/spi.ld b/examples/stm32/f1/stm32-h103/spi/spi.ld
deleted file mode 100644
index e2fb5b63..00000000
--- a/examples/stm32/f1/stm32-h103/spi/spi.ld
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * This file is part of the libopencm3 project.
- *
- * Copyright (C) 2010 Uwe Hermann
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-/* Linker script for Olimex STM32-H103 (STM32F103RBT6, 128K flash, 20K RAM). */
-
-/* Define memory regions. */
-MEMORY
-{
- rom (rx) : ORIGIN = 0x08000000, LENGTH = 128K
- ram (rwx) : ORIGIN = 0x20000000, LENGTH = 20K
-}
-
-/* Include the common ld script. */
-INCLUDE libopencm3_stm32f1.ld
-
diff --git a/examples/stm32/f1/lisa-m/fancyblink/fancyblink.ld b/examples/stm32/f1/stm32-h103/stm32-h103.ld
similarity index 100%
rename from examples/stm32/f1/lisa-m/fancyblink/fancyblink.ld
rename to examples/stm32/f1/stm32-h103/stm32-h103.ld
diff --git a/examples/stm32/f1/stm32-h103/timer/Makefile b/examples/stm32/f1/stm32-h103/timer/Makefile
index 86aced44..ad7edc0f 100644
--- a/examples/stm32/f1/stm32-h103/timer/Makefile
+++ b/examples/stm32/f1/stm32-h103/timer/Makefile
@@ -19,5 +19,7 @@
BINARY = timer
+LDSCRIPT = ../stm32-h103.ld
+
include ../../Makefile.include
diff --git a/examples/stm32/f1/stm32-h103/timer/timer.ld b/examples/stm32/f1/stm32-h103/timer/timer.ld
deleted file mode 100644
index 3409b98d..00000000
--- a/examples/stm32/f1/stm32-h103/timer/timer.ld
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * This file is part of the libopencm3 project.
- *
- * Copyright (C) 2009 Uwe Hermann
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-/* Linker script for Olimex STM32-H103 (STM32F103RBT6, 128K flash, 20K RAM). */
-
-/* Define memory regions. */
-MEMORY
-{
- rom (rx) : ORIGIN = 0x08000000, LENGTH = 128K
- ram (rwx) : ORIGIN = 0x20000000, LENGTH = 20K
-}
-
-/* Include the common ld script. */
-INCLUDE libopencm3_stm32f1.ld
-
diff --git a/examples/stm32/f1/stm32-h103/traceswo/Makefile b/examples/stm32/f1/stm32-h103/traceswo/Makefile
index 37510d5f..3d873138 100644
--- a/examples/stm32/f1/stm32-h103/traceswo/Makefile
+++ b/examples/stm32/f1/stm32-h103/traceswo/Makefile
@@ -19,5 +19,7 @@
BINARY = traceswo
+LDSCRIPT = ../stm32-h103.ld
+
include ../../Makefile.include
diff --git a/examples/stm32/f1/stm32-h103/traceswo/traceswo.ld b/examples/stm32/f1/stm32-h103/traceswo/traceswo.ld
deleted file mode 100644
index 3409b98d..00000000
--- a/examples/stm32/f1/stm32-h103/traceswo/traceswo.ld
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * This file is part of the libopencm3 project.
- *
- * Copyright (C) 2009 Uwe Hermann
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-/* Linker script for Olimex STM32-H103 (STM32F103RBT6, 128K flash, 20K RAM). */
-
-/* Define memory regions. */
-MEMORY
-{
- rom (rx) : ORIGIN = 0x08000000, LENGTH = 128K
- ram (rwx) : ORIGIN = 0x20000000, LENGTH = 20K
-}
-
-/* Include the common ld script. */
-INCLUDE libopencm3_stm32f1.ld
-
diff --git a/examples/stm32/f1/stm32-h103/usart/Makefile b/examples/stm32/f1/stm32-h103/usart/Makefile
index 2c1e1b1b..442026a9 100644
--- a/examples/stm32/f1/stm32-h103/usart/Makefile
+++ b/examples/stm32/f1/stm32-h103/usart/Makefile
@@ -19,5 +19,7 @@
BINARY = usart
+LDSCRIPT = ../stm32-h103.ld
+
include ../../Makefile.include
diff --git a/examples/stm32/f1/stm32-h103/usart/usart.ld b/examples/stm32/f1/stm32-h103/usart/usart.ld
deleted file mode 100644
index 3409b98d..00000000
--- a/examples/stm32/f1/stm32-h103/usart/usart.ld
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * This file is part of the libopencm3 project.
- *
- * Copyright (C) 2009 Uwe Hermann
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-/* Linker script for Olimex STM32-H103 (STM32F103RBT6, 128K flash, 20K RAM). */
-
-/* Define memory regions. */
-MEMORY
-{
- rom (rx) : ORIGIN = 0x08000000, LENGTH = 128K
- ram (rwx) : ORIGIN = 0x20000000, LENGTH = 20K
-}
-
-/* Include the common ld script. */
-INCLUDE libopencm3_stm32f1.ld
-
diff --git a/examples/stm32/f1/stm32-h103/usart_irq/Makefile b/examples/stm32/f1/stm32-h103/usart_irq/Makefile
index 6ee93bd0..499b1166 100644
--- a/examples/stm32/f1/stm32-h103/usart_irq/Makefile
+++ b/examples/stm32/f1/stm32-h103/usart_irq/Makefile
@@ -19,5 +19,7 @@
BINARY = usart_irq
+LDSCRIPT = ../stm32-h103.ld
+
include ../../Makefile.include
diff --git a/examples/stm32/f1/stm32-h103/usart_irq/usart_irq.ld b/examples/stm32/f1/stm32-h103/usart_irq/usart_irq.ld
deleted file mode 100644
index edb52c5a..00000000
--- a/examples/stm32/f1/stm32-h103/usart_irq/usart_irq.ld
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * This file is part of the libopencm3 project.
- *
- * Copyright (C) 2009 Uwe Hermann
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-/* Linker script for Open-BLDC (STM32F103CBT6, 128K flash, 20K RAM). */
-
-/* Define memory regions. */
-MEMORY
-{
- rom (rx) : ORIGIN = 0x08000000, LENGTH = 128K
- ram (rwx) : ORIGIN = 0x20000000, LENGTH = 20K
-}
-
-/* Include the common ld script. */
-INCLUDE libopencm3_stm32f1.ld
-
diff --git a/examples/stm32/f1/stm32-h103/usart_irq_printf/Makefile b/examples/stm32/f1/stm32-h103/usart_irq_printf/Makefile
index 2917a7d5..dfedbc02 100644
--- a/examples/stm32/f1/stm32-h103/usart_irq_printf/Makefile
+++ b/examples/stm32/f1/stm32-h103/usart_irq_printf/Makefile
@@ -19,5 +19,7 @@
BINARY = usart_irq_printf
+LDSCRIPT = ../stm32-h103.ld
+
include ../../Makefile.include
diff --git a/examples/stm32/f1/stm32-h103/usart_irq_printf/usart_irq_printf.ld b/examples/stm32/f1/stm32-h103/usart_irq_printf/usart_irq_printf.ld
deleted file mode 100644
index edb52c5a..00000000
--- a/examples/stm32/f1/stm32-h103/usart_irq_printf/usart_irq_printf.ld
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * This file is part of the libopencm3 project.
- *
- * Copyright (C) 2009 Uwe Hermann
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-/* Linker script for Open-BLDC (STM32F103CBT6, 128K flash, 20K RAM). */
-
-/* Define memory regions. */
-MEMORY
-{
- rom (rx) : ORIGIN = 0x08000000, LENGTH = 128K
- ram (rwx) : ORIGIN = 0x20000000, LENGTH = 20K
-}
-
-/* Include the common ld script. */
-INCLUDE libopencm3_stm32f1.ld
-
diff --git a/examples/stm32/f1/stm32-h103/usart_printf/Makefile b/examples/stm32/f1/stm32-h103/usart_printf/Makefile
index fb262087..3547611a 100644
--- a/examples/stm32/f1/stm32-h103/usart_printf/Makefile
+++ b/examples/stm32/f1/stm32-h103/usart_printf/Makefile
@@ -19,5 +19,7 @@
BINARY = usart_printf
+LDSCRIPT = ../stm32-h103.ld
+
include ../../Makefile.include
diff --git a/examples/stm32/f1/stm32-h103/usart_printf/usart_printf.ld b/examples/stm32/f1/stm32-h103/usart_printf/usart_printf.ld
deleted file mode 100644
index edb52c5a..00000000
--- a/examples/stm32/f1/stm32-h103/usart_printf/usart_printf.ld
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * This file is part of the libopencm3 project.
- *
- * Copyright (C) 2009 Uwe Hermann
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-/* Linker script for Open-BLDC (STM32F103CBT6, 128K flash, 20K RAM). */
-
-/* Define memory regions. */
-MEMORY
-{
- rom (rx) : ORIGIN = 0x08000000, LENGTH = 128K
- ram (rwx) : ORIGIN = 0x20000000, LENGTH = 20K
-}
-
-/* Include the common ld script. */
-INCLUDE libopencm3_stm32f1.ld
-
diff --git a/examples/stm32/f1/stm32-h103/usb_cdcacm/Makefile b/examples/stm32/f1/stm32-h103/usb_cdcacm/Makefile
index 38179e35..4193e1ad 100644
--- a/examples/stm32/f1/stm32-h103/usb_cdcacm/Makefile
+++ b/examples/stm32/f1/stm32-h103/usb_cdcacm/Makefile
@@ -19,5 +19,7 @@
BINARY = cdcacm
+LDSCRIPT = ../stm32-h103.ld
+
include ../../Makefile.include
diff --git a/examples/stm32/f1/stm32-h103/usb_cdcacm/cdcacm.ld b/examples/stm32/f1/stm32-h103/usb_cdcacm/cdcacm.ld
deleted file mode 100644
index d0df9e64..00000000
--- a/examples/stm32/f1/stm32-h103/usb_cdcacm/cdcacm.ld
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * This file is part of the libopencm3 project.
- *
- * Copyright (C) 2010 Thomas Otto
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-/* Linker script for Olimex STM32-H103 (STM32F103RBT6, 128K flash, 20K RAM). */
-
-/* Define memory regions. */
-MEMORY
-{
- rom (rx) : ORIGIN = 0x08000000, LENGTH = 128K
- ram (rwx) : ORIGIN = 0x20000000, LENGTH = 20K
-}
-
-/* Include the common ld script. */
-INCLUDE libopencm3_stm32f1.ld
-
diff --git a/examples/stm32/f1/stm32-h103/usb_dfu/Makefile b/examples/stm32/f1/stm32-h103/usb_dfu/Makefile
index 48e2d6bd..d739f7ec 100644
--- a/examples/stm32/f1/stm32-h103/usb_dfu/Makefile
+++ b/examples/stm32/f1/stm32-h103/usb_dfu/Makefile
@@ -19,5 +19,7 @@
BINARY = usbdfu
+LDSCRIPT = ../stm32-h103.ld
+
include ../../Makefile.include
diff --git a/examples/stm32/f1/stm32-h103/usb_dfu/usbdfu.ld b/examples/stm32/f1/stm32-h103/usb_dfu/usbdfu.ld
deleted file mode 100644
index 6a01797d..00000000
--- a/examples/stm32/f1/stm32-h103/usb_dfu/usbdfu.ld
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * This file is part of the libopencm3 project.
- *
- * Copyright (C) 2010 Thomas Otto
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-/* Define memory regions. */
-MEMORY
-{
- rom (rx) : ORIGIN = 0x08000000, LENGTH = 8K
- ram (rwx) : ORIGIN = 0x20000000, LENGTH = 4K
-}
-
-/* Include the common ld script. */
-INCLUDE libopencm3_stm32f1.ld
-
diff --git a/examples/stm32/f1/stm32-h103/usb_hid/Makefile b/examples/stm32/f1/stm32-h103/usb_hid/Makefile
index d831e9e7..95706b2d 100644
--- a/examples/stm32/f1/stm32-h103/usb_hid/Makefile
+++ b/examples/stm32/f1/stm32-h103/usb_hid/Makefile
@@ -19,5 +19,7 @@
BINARY = usbhid
+LDSCRIPT = ../stm32-h103.ld
+
include ../../Makefile.include
diff --git a/examples/stm32/f1/stm32-h103/usb_hid/usbhid.ld b/examples/stm32/f1/stm32-h103/usb_hid/usbhid.ld
deleted file mode 100644
index d0df9e64..00000000
--- a/examples/stm32/f1/stm32-h103/usb_hid/usbhid.ld
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * This file is part of the libopencm3 project.
- *
- * Copyright (C) 2010 Thomas Otto
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-/* Linker script for Olimex STM32-H103 (STM32F103RBT6, 128K flash, 20K RAM). */
-
-/* Define memory regions. */
-MEMORY
-{
- rom (rx) : ORIGIN = 0x08000000, LENGTH = 128K
- ram (rwx) : ORIGIN = 0x20000000, LENGTH = 20K
-}
-
-/* Include the common ld script. */
-INCLUDE libopencm3_stm32f1.ld
-
diff --git a/examples/stm32/f1/stm32-h103/usb_iap/Makefile b/examples/stm32/f1/stm32-h103/usb_iap/Makefile
index bed9908c..1858629e 100644
--- a/examples/stm32/f1/stm32-h103/usb_iap/Makefile
+++ b/examples/stm32/f1/stm32-h103/usb_iap/Makefile
@@ -19,5 +19,7 @@
BINARY = usbiap
+LDSCRIPT = ../stm32-h103.ld
+
include ../../Makefile.include
diff --git a/examples/stm32/f1/stm32-h103/usb_iap/usbiap.ld b/examples/stm32/f1/stm32-h103/usb_iap/usbiap.ld
deleted file mode 100644
index d0df9e64..00000000
--- a/examples/stm32/f1/stm32-h103/usb_iap/usbiap.ld
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * This file is part of the libopencm3 project.
- *
- * Copyright (C) 2010 Thomas Otto
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-/* Linker script for Olimex STM32-H103 (STM32F103RBT6, 128K flash, 20K RAM). */
-
-/* Define memory regions. */
-MEMORY
-{
- rom (rx) : ORIGIN = 0x08000000, LENGTH = 128K
- ram (rwx) : ORIGIN = 0x20000000, LENGTH = 20K
-}
-
-/* Include the common ld script. */
-INCLUDE libopencm3_stm32f1.ld
-
diff --git a/examples/stm32/f1/stm32-h107/fancyblink/Makefile b/examples/stm32/f1/stm32-h107/fancyblink/Makefile
index 1baec4de..0bc0d98a 100644
--- a/examples/stm32/f1/stm32-h107/fancyblink/Makefile
+++ b/examples/stm32/f1/stm32-h107/fancyblink/Makefile
@@ -19,5 +19,7 @@
BINARY = fancyblink
+LDSCRIPT = ../stm32-h107.ld
+
include ../../Makefile.include
diff --git a/examples/stm32/f1/stm32-h107/fancyblink/fancyblink.ld b/examples/stm32/f1/stm32-h107/stm32-h107.ld
similarity index 100%
rename from examples/stm32/f1/stm32-h107/fancyblink/fancyblink.ld
rename to examples/stm32/f1/stm32-h107/stm32-h107.ld
diff --git a/examples/stm32/f1/stm32-h107/usb_simple/Makefile b/examples/stm32/f1/stm32-h107/usb_simple/Makefile
index 2d954e28..1d4a3bc7 100644
--- a/examples/stm32/f1/stm32-h107/usb_simple/Makefile
+++ b/examples/stm32/f1/stm32-h107/usb_simple/Makefile
@@ -19,5 +19,7 @@
BINARY = usb_simple
+LDSCRIPT = ../stm32-h107.ld
+
include ../../Makefile.include
diff --git a/examples/stm32/f1/stm32-h107/usb_simple/usb_simple.ld b/examples/stm32/f1/stm32-h107/usb_simple/usb_simple.ld
deleted file mode 100644
index d35c1417..00000000
--- a/examples/stm32/f1/stm32-h107/usb_simple/usb_simple.ld
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * This file is part of the libopencm3 project.
- *
- * Copyright (C) 2009 Uwe Hermann
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-/* Linker script for Olimex STM32-H107 (STM32F107VCT6, 256K flash, 64K RAM). */
-
-/* Define memory regions. */
-MEMORY
-{
- rom (rx) : ORIGIN = 0x08000000, LENGTH = 256K
- ram (rwx) : ORIGIN = 0x20000000, LENGTH = 64K
-}
-
-/* Include the common ld script. */
-INCLUDE libopencm3_stm32f1.ld
-
diff --git a/examples/stm32/f1/stm32vl-discovery/button/Makefile b/examples/stm32/f1/stm32vl-discovery/button/Makefile
index 96731c22..e3603e23 100644
--- a/examples/stm32/f1/stm32vl-discovery/button/Makefile
+++ b/examples/stm32/f1/stm32vl-discovery/button/Makefile
@@ -19,5 +19,7 @@
BINARY = button
+LDSCRIPT = ../stm32vl-discovery.ld
+
include ../../Makefile.include
diff --git a/examples/stm32/f1/stm32vl-discovery/fancyblink/Makefile b/examples/stm32/f1/stm32vl-discovery/fancyblink/Makefile
index 1baec4de..07a846bf 100644
--- a/examples/stm32/f1/stm32vl-discovery/fancyblink/Makefile
+++ b/examples/stm32/f1/stm32vl-discovery/fancyblink/Makefile
@@ -19,5 +19,7 @@
BINARY = fancyblink
+LDSCRIPT = ../stm32vl-discovery.ld
+
include ../../Makefile.include
diff --git a/examples/stm32/f1/stm32vl-discovery/fancyblink/fancyblink.ld b/examples/stm32/f1/stm32vl-discovery/fancyblink/fancyblink.ld
deleted file mode 100644
index 157204a7..00000000
--- a/examples/stm32/f1/stm32vl-discovery/fancyblink/fancyblink.ld
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * This file is part of the libopencm3 project.
- *
- * Copyright (C) 2009 Uwe Hermann
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-/* Linker script for ST STM32VLDISCOVERY (STM32F100RB, 128K flash, 8K RAM). */
-
-/* Define memory regions. */
-MEMORY
-{
- rom (rx) : ORIGIN = 0x08000000, LENGTH = 128K
- ram (rwx) : ORIGIN = 0x20000000, LENGTH = 8K
-}
-
-/* Include the common ld script. */
-INCLUDE libopencm3_stm32f1.ld
-
diff --git a/examples/stm32/f1/stm32vl-discovery/miniblink/Makefile b/examples/stm32/f1/stm32vl-discovery/miniblink/Makefile
index 24a478b4..d737ab12 100644
--- a/examples/stm32/f1/stm32vl-discovery/miniblink/Makefile
+++ b/examples/stm32/f1/stm32vl-discovery/miniblink/Makefile
@@ -19,5 +19,7 @@
BINARY = miniblink
+LDSCRIPT = ../stm32vl-discovery.ld
+
include ../../Makefile.include
diff --git a/examples/stm32/f1/stm32vl-discovery/miniblink/miniblink.ld b/examples/stm32/f1/stm32vl-discovery/miniblink/miniblink.ld
deleted file mode 100644
index 157204a7..00000000
--- a/examples/stm32/f1/stm32vl-discovery/miniblink/miniblink.ld
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * This file is part of the libopencm3 project.
- *
- * Copyright (C) 2009 Uwe Hermann
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-/* Linker script for ST STM32VLDISCOVERY (STM32F100RB, 128K flash, 8K RAM). */
-
-/* Define memory regions. */
-MEMORY
-{
- rom (rx) : ORIGIN = 0x08000000, LENGTH = 128K
- ram (rwx) : ORIGIN = 0x20000000, LENGTH = 8K
-}
-
-/* Include the common ld script. */
-INCLUDE libopencm3_stm32f1.ld
-
diff --git a/examples/stm32/f1/stm32vl-discovery/rtc/Makefile b/examples/stm32/f1/stm32vl-discovery/rtc/Makefile
index 1efa7ac2..bbfc8658 100644
--- a/examples/stm32/f1/stm32vl-discovery/rtc/Makefile
+++ b/examples/stm32/f1/stm32vl-discovery/rtc/Makefile
@@ -19,5 +19,7 @@
BINARY = rtc
+LDSCRIPT = ../stm32vl-discovery.ld
+
include ../../Makefile.include
diff --git a/examples/stm32/f1/stm32vl-discovery/rtc/rtc.ld b/examples/stm32/f1/stm32vl-discovery/rtc/rtc.ld
deleted file mode 100644
index 157204a7..00000000
--- a/examples/stm32/f1/stm32vl-discovery/rtc/rtc.ld
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * This file is part of the libopencm3 project.
- *
- * Copyright (C) 2009 Uwe Hermann
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-/* Linker script for ST STM32VLDISCOVERY (STM32F100RB, 128K flash, 8K RAM). */
-
-/* Define memory regions. */
-MEMORY
-{
- rom (rx) : ORIGIN = 0x08000000, LENGTH = 128K
- ram (rwx) : ORIGIN = 0x20000000, LENGTH = 8K
-}
-
-/* Include the common ld script. */
-INCLUDE libopencm3_stm32f1.ld
-
diff --git a/examples/stm32/f1/stm32vl-discovery/button/button.ld b/examples/stm32/f1/stm32vl-discovery/stm32vl-discovery.ld
similarity index 100%
rename from examples/stm32/f1/stm32vl-discovery/button/button.ld
rename to examples/stm32/f1/stm32vl-discovery/stm32vl-discovery.ld
diff --git a/examples/stm32/f1/stm32vl-discovery/usart/Makefile b/examples/stm32/f1/stm32vl-discovery/usart/Makefile
index 2c1e1b1b..6f37aead 100644
--- a/examples/stm32/f1/stm32vl-discovery/usart/Makefile
+++ b/examples/stm32/f1/stm32vl-discovery/usart/Makefile
@@ -19,5 +19,7 @@
BINARY = usart
+LDSCRIPT = ../stm32vl-discovery.ld
+
include ../../Makefile.include
diff --git a/examples/stm32/f1/stm32vl-discovery/usart/usart.ld b/examples/stm32/f1/stm32vl-discovery/usart/usart.ld
deleted file mode 100644
index 157204a7..00000000
--- a/examples/stm32/f1/stm32vl-discovery/usart/usart.ld
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * This file is part of the libopencm3 project.
- *
- * Copyright (C) 2009 Uwe Hermann
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-/* Linker script for ST STM32VLDISCOVERY (STM32F100RB, 128K flash, 8K RAM). */
-
-/* Define memory regions. */
-MEMORY
-{
- rom (rx) : ORIGIN = 0x08000000, LENGTH = 128K
- ram (rwx) : ORIGIN = 0x20000000, LENGTH = 8K
-}
-
-/* Include the common ld script. */
-INCLUDE libopencm3_stm32f1.ld
-
diff --git a/examples/stm32/f2/Makefile.include b/examples/stm32/f2/Makefile.include
index 03452980..e7d6a522 100644
--- a/examples/stm32/f2/Makefile.include
+++ b/examples/stm32/f2/Makefile.include
@@ -31,7 +31,7 @@ GDB = $(PREFIX)-gdb
TOOLCHAIN_DIR = ../../../../..
CFLAGS += -Os -g -Wall -Wextra -I$(TOOLCHAIN_DIR)/include \
-fno-common -mcpu=cortex-m3 -mthumb -msoft-float -MD -DSTM32F2
-LDSCRIPT = $(BINARY).ld
+LDSCRIPT ?= $(BINARY).ld
LDFLAGS += -lc -lnosys -L$(TOOLCHAIN_DIR)/lib \
-L$(TOOLCHAIN_DIR)/lib/stm32/f2 \
-T$(LDSCRIPT) -nostartfiles -Wl,--gc-sections \
diff --git a/examples/stm32/f2/jobygps/miniblink/miniblink.ld b/examples/stm32/f2/jobygps/jobygps.ld
similarity index 95%
rename from examples/stm32/f2/jobygps/miniblink/miniblink.ld
rename to examples/stm32/f2/jobygps/jobygps.ld
index cfe9ab7b..b5e866b8 100644
--- a/examples/stm32/f2/jobygps/miniblink/miniblink.ld
+++ b/examples/stm32/f2/jobygps/jobygps.ld
@@ -17,6 +17,7 @@
* along with this program. If not, see .
*/
+/* TODO: Fix board name, chip name, and sizes. */
/* Linker script for Olimex STM32-H103 (STM32F103RBT6, 128K flash, 20K RAM). */
/* Define memory regions. */
diff --git a/examples/stm32/f2/jobygps/miniblink/Makefile b/examples/stm32/f2/jobygps/miniblink/Makefile
index 24a478b4..08b482e6 100644
--- a/examples/stm32/f2/jobygps/miniblink/Makefile
+++ b/examples/stm32/f2/jobygps/miniblink/Makefile
@@ -19,5 +19,7 @@
BINARY = miniblink
+LDSCRIPT = ../jobygps.ld
+
include ../../Makefile.include
diff --git a/examples/stm32/f2/jobygps/spi_test/Makefile b/examples/stm32/f2/jobygps/spi_test/Makefile
index de4c338c..1b526231 100644
--- a/examples/stm32/f2/jobygps/spi_test/Makefile
+++ b/examples/stm32/f2/jobygps/spi_test/Makefile
@@ -19,5 +19,7 @@
BINARY = spi_test
+LDSCRIPT = ../jobygps.ld
+
include ../../Makefile.include
diff --git a/examples/stm32/f2/jobygps/spi_test/spi_test.ld b/examples/stm32/f2/jobygps/spi_test/spi_test.ld
deleted file mode 100644
index cfe9ab7b..00000000
--- a/examples/stm32/f2/jobygps/spi_test/spi_test.ld
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * This file is part of the libopencm3 project.
- *
- * Copyright (C) 2009 Uwe Hermann
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-/* Linker script for Olimex STM32-H103 (STM32F103RBT6, 128K flash, 20K RAM). */
-
-/* Define memory regions. */
-MEMORY
-{
- rom (rx) : ORIGIN = 0x08000000, LENGTH = 256K
- ram (rwx) : ORIGIN = 0x20000000, LENGTH = 64K
-}
-
-/* Include the common ld script. */
-INCLUDE libopencm3_stm32f2.ld
-
diff --git a/examples/stm32/f2/jobygps/usart_printf/Makefile b/examples/stm32/f2/jobygps/usart_printf/Makefile
index fb262087..eebde4ac 100644
--- a/examples/stm32/f2/jobygps/usart_printf/Makefile
+++ b/examples/stm32/f2/jobygps/usart_printf/Makefile
@@ -19,5 +19,7 @@
BINARY = usart_printf
+LDSCRIPT = ../jobygps.ld
+
include ../../Makefile.include
diff --git a/examples/stm32/f2/jobygps/usart_printf/usart_printf.ld b/examples/stm32/f2/jobygps/usart_printf/usart_printf.ld
deleted file mode 100644
index e80bdbda..00000000
--- a/examples/stm32/f2/jobygps/usart_printf/usart_printf.ld
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * This file is part of the libopencm3 project.
- *
- * Copyright (C) 2009 Uwe Hermann
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-/* Linker script for Open-BLDC (STM32F103CBT6, 128K flash, 20K RAM). */
-
-/* Define memory regions. */
-MEMORY
-{
- rom (rx) : ORIGIN = 0x08000000, LENGTH = 128K
- ram (rwx) : ORIGIN = 0x20000000, LENGTH = 20K
-}
-
-/* Include the common ld script. */
-INCLUDE libopencm3_stm32f2.ld
-
diff --git a/examples/stm32/f4/Makefile.include b/examples/stm32/f4/Makefile.include
index c3058eeb..bed1aa82 100644
--- a/examples/stm32/f4/Makefile.include
+++ b/examples/stm32/f4/Makefile.include
@@ -31,7 +31,7 @@ GDB = $(PREFIX)-gdb
TOOLCHAIN_DIR = ../../../../..
CFLAGS += -Os -g -Wall -Wextra -I$(TOOLCHAIN_DIR)/include \
-fno-common -mcpu=cortex-m3 -mthumb -msoft-float -MD -DSTM32F4
-LDSCRIPT = $(BINARY).ld
+LDSCRIPT ?= $(BINARY).ld
LDFLAGS += -lc -lnosys -L$(TOOLCHAIN_DIR)/lib \
-L$(TOOLCHAIN_DIR)/lib/stm32/f4 \
-T$(LDSCRIPT) -nostartfiles -Wl,--gc-sections \
diff --git a/examples/stm32/f4/stm32f4-discovery/button/Makefile b/examples/stm32/f4/stm32f4-discovery/button/Makefile
index 96731c22..6fc56b8a 100644
--- a/examples/stm32/f4/stm32f4-discovery/button/Makefile
+++ b/examples/stm32/f4/stm32f4-discovery/button/Makefile
@@ -19,5 +19,7 @@
BINARY = button
+LDSCRIPT = ../stm32f4-discovery.ld
+
include ../../Makefile.include
diff --git a/examples/stm32/f4/stm32f4-discovery/fancyblink/Makefile b/examples/stm32/f4/stm32f4-discovery/fancyblink/Makefile
index 1baec4de..b4250dad 100644
--- a/examples/stm32/f4/stm32f4-discovery/fancyblink/Makefile
+++ b/examples/stm32/f4/stm32f4-discovery/fancyblink/Makefile
@@ -19,5 +19,7 @@
BINARY = fancyblink
+LDSCRIPT = ../stm32f4-discovery.ld
+
include ../../Makefile.include
diff --git a/examples/stm32/f4/stm32f4-discovery/fancyblink/fancyblink.ld b/examples/stm32/f4/stm32f4-discovery/fancyblink/fancyblink.ld
deleted file mode 100644
index 1cb43c68..00000000
--- a/examples/stm32/f4/stm32f4-discovery/fancyblink/fancyblink.ld
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * This file is part of the libopencm3 project.
- *
- * Copyright (C) 2009 Uwe Hermann
- * Copyright (C) 2011 Stephen Caudle
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-/* Linker script for ST STM32F4DISCOVERY (STM32F407VG, 1024K flash, 128K RAM). */
-
-/* Define memory regions. */
-MEMORY
-{
- rom (rx) : ORIGIN = 0x08000000, LENGTH = 1024K
- ram (rwx) : ORIGIN = 0x20000000, LENGTH = 128K
-}
-
-/* Include the common ld script. */
-INCLUDE libopencm3_stm32f4.ld
-
diff --git a/examples/stm32/f4/stm32f4-discovery/miniblink/Makefile b/examples/stm32/f4/stm32f4-discovery/miniblink/Makefile
index 24a478b4..d6ec46dd 100644
--- a/examples/stm32/f4/stm32f4-discovery/miniblink/Makefile
+++ b/examples/stm32/f4/stm32f4-discovery/miniblink/Makefile
@@ -19,5 +19,7 @@
BINARY = miniblink
+LDSCRIPT = ../stm32f4-discovery.ld
+
include ../../Makefile.include
diff --git a/examples/stm32/f4/stm32f4-discovery/miniblink/miniblink.ld b/examples/stm32/f4/stm32f4-discovery/miniblink/miniblink.ld
deleted file mode 100644
index 1cb43c68..00000000
--- a/examples/stm32/f4/stm32f4-discovery/miniblink/miniblink.ld
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * This file is part of the libopencm3 project.
- *
- * Copyright (C) 2009 Uwe Hermann
- * Copyright (C) 2011 Stephen Caudle
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-/* Linker script for ST STM32F4DISCOVERY (STM32F407VG, 1024K flash, 128K RAM). */
-
-/* Define memory regions. */
-MEMORY
-{
- rom (rx) : ORIGIN = 0x08000000, LENGTH = 1024K
- ram (rwx) : ORIGIN = 0x20000000, LENGTH = 128K
-}
-
-/* Include the common ld script. */
-INCLUDE libopencm3_stm32f4.ld
-
diff --git a/examples/stm32/f4/stm32f4-discovery/button/button.ld b/examples/stm32/f4/stm32f4-discovery/stm32f4-discovery.ld
similarity index 100%
rename from examples/stm32/f4/stm32f4-discovery/button/button.ld
rename to examples/stm32/f4/stm32f4-discovery/stm32f4-discovery.ld
diff --git a/examples/stm32/f4/stm32f4-discovery/usart/Makefile b/examples/stm32/f4/stm32f4-discovery/usart/Makefile
index 2c1e1b1b..7d7bc9a5 100644
--- a/examples/stm32/f4/stm32f4-discovery/usart/Makefile
+++ b/examples/stm32/f4/stm32f4-discovery/usart/Makefile
@@ -19,5 +19,7 @@
BINARY = usart
+LDSCRIPT = ../stm32f4-discovery.ld
+
include ../../Makefile.include
diff --git a/examples/stm32/f4/stm32f4-discovery/usart/usart.ld b/examples/stm32/f4/stm32f4-discovery/usart/usart.ld
deleted file mode 100644
index 1cb43c68..00000000
--- a/examples/stm32/f4/stm32f4-discovery/usart/usart.ld
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * This file is part of the libopencm3 project.
- *
- * Copyright (C) 2009 Uwe Hermann
- * Copyright (C) 2011 Stephen Caudle
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-/* Linker script for ST STM32F4DISCOVERY (STM32F407VG, 1024K flash, 128K RAM). */
-
-/* Define memory regions. */
-MEMORY
-{
- rom (rx) : ORIGIN = 0x08000000, LENGTH = 1024K
- ram (rwx) : ORIGIN = 0x20000000, LENGTH = 128K
-}
-
-/* Include the common ld script. */
-INCLUDE libopencm3_stm32f4.ld
-