2020-03-27 02:30:11 +01:00
|
|
|
# Tell the build system that the CPU depends on the Cortex-M common files:
|
|
|
|
USEMODULE += cortexm_common
|
|
|
|
|
|
|
|
# include common periph code
|
|
|
|
USEMODULE += cortexm_common_periph
|
|
|
|
|
2020-10-14 18:23:26 +02:00
|
|
|
# Ensure newlib is not added if picolibc is already in FEATURES_USED or USEMODULE.
|
|
|
|
# nucleo-l011k4 doesn't use features to forces picolibc but directly set it in
|
|
|
|
# USEMODULE. This is because during the first pass of the dependency resolution,
|
|
|
|
# with the feature mechanism, the picolib feature is not present in FEATURES_USED
|
|
|
|
# at this staged and as a result newlib modules are wrongly added.
|
|
|
|
ifneq (,$(filter picolibc,$(FEATURES_USED) $(USEMODULE)))
|
2019-09-25 22:13:08 +02:00
|
|
|
# Use Picolibc when explicitly selected
|
|
|
|
USEMODULE += picolibc
|
|
|
|
else
|
|
|
|
# all cortex MCU's use newlib as libc
|
|
|
|
USEMODULE += newlib
|
|
|
|
# use the nano-specs of Newlib when available
|
|
|
|
USEMODULE += newlib_nano
|
|
|
|
endif
|
2020-03-27 02:30:11 +01:00
|
|
|
|
|
|
|
# Export the peripheral drivers to be linked into the final binary:
|
|
|
|
USEMODULE += periph
|
2020-03-27 13:17:52 +01:00
|
|
|
|
|
|
|
# Use Hardware FPU by default if present
|
|
|
|
FEATURES_OPTIONAL += cortexm_fpu
|
|
|
|
ifneq (,$(filter cortexm_fpu,$(FEATURES_USED)))
|
|
|
|
DEFAULT_MODULE += cortexm_fpu
|
|
|
|
endif
|
2020-06-25 13:14:59 +02:00
|
|
|
|
|
|
|
# Enable the MPU stack guard if develhelp is enabled
|
|
|
|
ifeq (1, $(DEVELHELP))
|
|
|
|
FEATURES_OPTIONAL += cortexm_mpu
|
|
|
|
endif
|
2020-12-10 09:59:21 +01:00
|
|
|
|
|
|
|
# Make calls to malloc and friends thread-safe
|
|
|
|
USEMODULE += malloc_thread_safe
|