aboutsummaryrefslogtreecommitdiffstats
path: root/support
diff options
context:
space:
mode:
authorMarti Bolivar <mbolivar@leaflabs.com>2011-11-29 14:31:31 -0500
committerMarti Bolivar <mbolivar@leaflabs.com>2012-04-11 16:56:52 -0400
commita7652cebf2603007e01d3af166a5c17596e8f207 (patch)
tree4b923553529e81b613fe292efe43f99c518366c8 /support
parent3b127a9bcdcfee2c6648b3014585b6ed60060c10 (diff)
downloadlibrambutan-a7652cebf2603007e01d3af166a5c17596e8f207.tar.gz
librambutan-a7652cebf2603007e01d3af166a5c17596e8f207.zip
Add build support for targeting multiple STM32 series.
Add an MCU_SERIES variable to each of the files under support/make/board-includes, which declares the series as "stm32f1" in each case. Use this in target-config.mk when determining LD_SERIES_PATH (with a hack since we only support performance line) and LIBMAPLE_MODULE_SERIES. We must move support/ld/stm32/series/f1 to .../series/stm32f1 as a side-effect. Adding support for other series (e.g. "stm32f2") should now be a matter of filling in the contents of libmaple/<series>/ and support/ld/stm32/<series>/ appropriately (along with moving the rest of the nonportable code out of the libmaple core and into the STM32F1 series submodule). Signed-off-by: Marti Bolivar <mbolivar@leaflabs.com>
Diffstat (limited to 'support')
-rw-r--r--support/ld/stm32/series/stm32f1/performance/vector_symbols.inc (renamed from support/ld/stm32/series/f1/performance/vector_symbols.inc)0
-rw-r--r--support/make/board-includes/maple.mk1
-rw-r--r--support/make/board-includes/maple_RET6.mk1
-rw-r--r--support/make/board-includes/maple_mini.mk1
-rw-r--r--support/make/board-includes/maple_native.mk1
-rw-r--r--support/make/board-includes/olimex_stm32_h103.mk1
-rw-r--r--support/make/target-config.mk13
7 files changed, 12 insertions, 6 deletions
diff --git a/support/ld/stm32/series/f1/performance/vector_symbols.inc b/support/ld/stm32/series/stm32f1/performance/vector_symbols.inc
index f8519bb..f8519bb 100644
--- a/support/ld/stm32/series/f1/performance/vector_symbols.inc
+++ b/support/ld/stm32/series/stm32f1/performance/vector_symbols.inc
diff --git a/support/make/board-includes/maple.mk b/support/make/board-includes/maple.mk
index 3c83ee7..a84f0ac 100644
--- a/support/make/board-includes/maple.mk
+++ b/support/make/board-includes/maple.mk
@@ -4,3 +4,4 @@ ERROR_LED_PORT := GPIOA
ERROR_LED_PIN := 5
DENSITY := STM32_MEDIUM_DENSITY
TARGET_FLAGS += -D$(DENSITY)
+MCU_SERIES := stm32f1
diff --git a/support/make/board-includes/maple_RET6.mk b/support/make/board-includes/maple_RET6.mk
index 3f61867..8bd9b90 100644
--- a/support/make/board-includes/maple_RET6.mk
+++ b/support/make/board-includes/maple_RET6.mk
@@ -4,3 +4,4 @@ ERROR_LED_PORT := GPIOA
ERROR_LED_PIN := 5
DENSITY := STM32_HIGH_DENSITY
TARGET_FLAGS += -D$(DENSITY)
+MCU_SERIES := stm32f1
diff --git a/support/make/board-includes/maple_mini.mk b/support/make/board-includes/maple_mini.mk
index b1afa4f..4a3e2ab 100644
--- a/support/make/board-includes/maple_mini.mk
+++ b/support/make/board-includes/maple_mini.mk
@@ -4,3 +4,4 @@ ERROR_LED_PORT := GPIOB
ERROR_LED_PIN := 1
DENSITY := STM32_MEDIUM_DENSITY
TARGET_FLAGS += -D$(DENSITY)
+MCU_SERIES := stm32f1
diff --git a/support/make/board-includes/maple_native.mk b/support/make/board-includes/maple_native.mk
index 555d71b..cd07c21 100644
--- a/support/make/board-includes/maple_native.mk
+++ b/support/make/board-includes/maple_native.mk
@@ -4,3 +4,4 @@ ERROR_LED_PORT := GPIOC
ERROR_LED_PIN := 15
DENSITY := STM32_HIGH_DENSITY
TARGET_FLAGS += -D$(DENSITY)
+MCU_SERIES := stm32f1
diff --git a/support/make/board-includes/olimex_stm32_h103.mk b/support/make/board-includes/olimex_stm32_h103.mk
index 6b45c17..1d84cc2 100644
--- a/support/make/board-includes/olimex_stm32_h103.mk
+++ b/support/make/board-includes/olimex_stm32_h103.mk
@@ -4,3 +4,4 @@ ERROR_LED_PORT := GPIOC
ERROR_LED_PIN := 12
DENSITY := STM32_MEDIUM_DENSITY
TARGET_FLAGS += -D$(DENSITY)
+MCU_SERIES := stm32f1
diff --git a/support/make/target-config.mk b/support/make/target-config.mk
index fcedd3e..48a33de 100644
--- a/support/make/target-config.mk
+++ b/support/make/target-config.mk
@@ -13,12 +13,13 @@ TARGET_FLAGS += -DBOARD_$(BOARD) -DMCU_$(MCU) \
# STM32 series-specific configuration values.
-# NB: these only work for STM32F1 performance line chips, but those
-# are the only ones we support at this time. If you add support for
-# STM32F1 connectivity line MCUs or other STM32 families, this section
-# will need to change.
-LD_SERIES_PATH := $(LDDIR)/stm32/series/f1/performance
-LIBMAPLE_MODULE_SERIES := $(LIBMAPLE_PATH)/stm32f1
+LD_SERIES_PATH := $(LDDIR)/stm32/series/$(MCU_SERIES)
+ifeq ($(MCU_SERIES), stm32f1)
+ # Hack: force F1 to performance line; this will need to change if
+ # you add connectivity etc. line support.
+ LD_SERIES_PATH := $(LD_SERIES_PATH)/performance
+endif
+LIBMAPLE_MODULE_SERIES := $(LIBMAPLE_PATH)/$(MCU_SERIES)
# Memory target-specific configuration values