summaryrefslogtreecommitdiff
path: root/build
diff options
context:
space:
mode:
authorNicolas Schodet2016-07-25 15:18:40 +0200
committerNicolas Schodet2019-10-09 23:05:44 +0200
commit4695b47da68a5b2f75270bea21e15b8f1b9fd6ff (patch)
tree6e5ef4d34ee69bcd6c6627f25a0ca3aa902d47e3 /build
parentd7df91926bdb529e68eff9a215aef72072803b6e (diff)
Switch to CMSIS
Diffstat (limited to 'build')
-rw-r--r--build/stm32.mk30
-rw-r--r--build/stm32f1.mk2
-rw-r--r--build/stm32f4.mk2
3 files changed, 14 insertions, 20 deletions
diff --git a/build/stm32.mk b/build/stm32.mk
index 3a3311b..46c7b8c 100644
--- a/build/stm32.mk
+++ b/build/stm32.mk
@@ -6,19 +6,15 @@ ifndef stm32_once
stm32_once := 1
-# Check for libopencm3.
-LIBOPENCM3_PATH ?= $(UCOO_BASE)/lib/libopencm3
-define stm32_libopencm3
-ifneq ($$(LIBOPENCM3_PATH),)
- $1_LIBOPENCM3_LIB := $$(LIBOPENCM3_PATH)/lib/libopencm3_$(if $2,$2,$1).a
- ifeq ($$(wildcard $$($1_LIBOPENCM3_LIB)),)
- $$(error Can not find libopencm3 library, please run "make lib" in \
- $$(LIBOPENCM3_PATH) or change LIBOPENCM3_PATH (you can set it to \
- empty string to use system library))
- endif
- $1_LIBOPENCM3_CPPFLAGS = -I$$(LIBOPENCM3_PATH)/include
- $1_LIBOPENCM3_LDFLAGS = -L$$(LIBOPENCM3_PATH)/lib
+# Check for cmsis.
+CMSIS_PATH ?= $(UCOO_BASE)/lib/cmsis
+define stm32_cmsis
+$1_CMSIS_LIB := $$(CMSIS_PATH)/Include/cmsis_gcc.h
+ifeq ($$(wildcard $$($1_CMSIS_LIB)),)
+ $$(error Can not find CMSIS library, please put it in $$(CMSIS_PATH) or \
+ change CMSIS_PATH)
endif
+$1_CMSIS_CPPFLAGS = -I$$(CMSIS_PATH)/Include -I$$(CMSIS_PATH)/Device
endef
@@ -29,21 +25,19 @@ stm32_cortex-m4_CPU_CFLAGS = \
-mthumb -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16
define stm32_flags
$1_CPPFLAGS = $$(CPPFLAGS) $$($1_DEFS) \
- $$($1_STM32_DEFS) $$($1_LIBOPENCM3_CPPFLAGS)
+ $$($1_STM32_DEFS) $$($1_CMSIS_CPPFLAGS)
$1_CFLAGS = $$(CFLAGS) \
$$(stm32_$$($1_CPU)_CPU_CFLAGS) \
-Wl,--gc-sections -ffunction-sections
$1_CXXFLAGS = $$(sort $$($1_CFLAGS) $$(CXXFLAGS))
$1_ASFLAGS = $$(ASFLAGS)
$1_LDSCRIPT ?= $(if $2,$2,$1).ld
-$1_LDSCRIPT_PATH ?= $$(UCOO_BASE)/ucoo/arch/$(if $2,$2,$1)
+$1_LDSCRIPT_PATH ?= $$(UCOO_BASE)/ucoo/arch/ld
$1_START_ADDRESS ?= $$(if $$(filter y,$$($1_BOOTLOADED)),0x8010000)
$1_SECTION_START = -Wl,--section-start=.text=$$($1_START_ADDRESS)
$1_LDFLAGS = $$(LDFLAGS) -T$$($1_LDSCRIPT) -L$$($1_LDSCRIPT_PATH) \
- $$(if $$($1_START_ADDRESS),$$($1_SECTION_START)) \
- $$($1_LIBOPENCM3_LDFLAGS)
-$1_LDLIBS = -nostartfiles $$(LDLIBS) $$($1_LIBS) \
- -lopencm3_$(if $2,$2,$1)
+ $$(if $$($1_START_ADDRESS),$$($1_SECTION_START))
+$1_LDLIBS = -nostartfiles $$(LDLIBS) $$($1_LIBS)
endef
diff --git a/build/stm32f1.mk b/build/stm32f1.mk
index cb9410f..32209de 100644
--- a/build/stm32f1.mk
+++ b/build/stm32f1.mk
@@ -4,7 +4,7 @@
include $(UCOO_BASE)/build/stm32.mk
-$(eval $(call stm32_libopencm3,stm32f1))
+$(eval $(call stm32_cmsis,stm32f1))
stm32f1_SUBTARGETS = stm32 arm newlib
diff --git a/build/stm32f4.mk b/build/stm32f4.mk
index 8d0aa67..4a73247 100644
--- a/build/stm32f4.mk
+++ b/build/stm32f4.mk
@@ -4,7 +4,7 @@
include $(UCOO_BASE)/build/stm32.mk
-$(eval $(call stm32_libopencm3,stm32f4))
+$(eval $(call stm32_cmsis,stm32f4))
stm32f4_SUBTARGETS = stm32 arm newlib