1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
RIOT/cpu/cortexm_common/Makefile.features

58 lines
1.7 KiB
Makefile
Raw Normal View History

2018-05-04 15:44:29 +02:00
FEATURES_PROVIDED += arch_32bit
FEATURES_PROVIDED += arch_arm
2020-04-06 21:03:31 +02:00
FEATURES_PROVIDED += cortexm_svc
2017-10-28 17:46:57 +02:00
FEATURES_PROVIDED += cpp
FEATURES_PROVIDED += cpu_check_address
FEATURES_PROVIDED += cpu_core_cortexm
FEATURES_PROVIDED += dbgpin
FEATURES_PROVIDED += libstdcpp
2021-01-26 14:55:40 +01:00
FEATURES_PROVIDED += newlib
FEATURES_PROVIDED += periph_flashpage_aux
FEATURES_PROVIDED += periph_pm
FEATURES_PROVIDED += puf_sram
2020-09-11 14:23:25 +02:00
FEATURES_PROVIDED += picolibc
FEATURES_PROVIDED += ssp
# cortex-m33, cortex-m4f and cortex-m7 provide FPU support
ifneq (,$(filter $(CPU_CORE),cortex-m33 cortex-m4f cortex-m7))
FEATURES_PROVIDED += cortexm_fpu
endif
2020-06-10 13:11:32 +02:00
# Set CPU_ARCH depending on the CPU_CORE
#
# RUST_TARGET is only used when building Rust code; any users need to require
# the `rust_target` feature to esnure things are checked properly.
2020-06-10 13:11:32 +02:00
ifeq ($(CPU_CORE),cortex-m0)
CPU_ARCH := armv6m
2021-11-18 15:03:14 +01:00
RUST_TARGET = thumbv6m-none-eabi
2020-06-10 13:11:32 +02:00
else ifeq ($(CPU_CORE),cortex-m0plus)
CPU_ARCH := armv6m
2021-11-18 15:03:14 +01:00
RUST_TARGET = thumbv6m-none-eabi
else ifeq ($(CPU_CORE),cortex-m23)
CPU_ARCH := armv8m
#RUST_TARGET = thumbv8m.base-none-eabi
2020-06-10 13:11:32 +02:00
else ifeq ($(CPU_CORE),cortex-m3)
CPU_ARCH := armv7m
RUST_TARGET = thumbv7m-none-eabi
else ifeq ($(CPU_CORE),cortex-m33)
CPU_ARCH := armv8m
FEATURES_PROVIDED += cortexm_stack_limit
#RUST_TARGET = thumbv8m.main-none-eabi
2020-06-10 13:11:32 +02:00
else ifeq ($(CPU_CORE),cortex-m4)
CPU_ARCH := armv7m
RUST_TARGET = thumbv7em-none-eabi
2020-06-10 13:11:32 +02:00
else ifeq ($(CPU_CORE),cortex-m4f)
CPU_ARCH := armv7m
RUST_TARGET = thumbv7em-none-eabihf
2020-06-10 13:11:32 +02:00
else ifeq ($(CPU_CORE),cortex-m7)
CPU_ARCH := armv7m
else
2024-10-16 16:04:10 +02:00
$(error Unknown cortexm core: $(CPU_CORE))
2020-06-10 13:11:32 +02:00
endif
ifneq (,$(RUST_TARGET))
FEATURES_PROVIDED += rust_target
endif
FEATURES_PROVIDED += no_idle_thread