2020-02-18 15:16:24 +01:00
|
|
|
# Copyright (c) 2020 HAW Hamburg
|
|
|
|
#
|
|
|
|
# This file is subject to the terms and conditions of the GNU Lesser
|
|
|
|
# General Public License v2.1. See the file LICENSE in the top level
|
|
|
|
# directory for more details.
|
|
|
|
|
2020-08-31 09:57:28 +02:00
|
|
|
config MODULE_CORTEXM_COMMON
|
2020-04-06 17:26:25 +02:00
|
|
|
bool
|
|
|
|
default y if CPU_CORE_CORTEX_M
|
|
|
|
depends on TEST_KCONFIG
|
2020-08-31 09:57:28 +02:00
|
|
|
select MODULE_PERIPH
|
2020-04-06 17:26:25 +02:00
|
|
|
help
|
|
|
|
Common code for Cortex-M cores.
|
|
|
|
|
2020-06-11 09:13:56 +02:00
|
|
|
config CPU_ARCH_ARMV6M
|
2020-02-18 15:16:24 +01:00
|
|
|
bool
|
|
|
|
select HAS_ARCH_ARM
|
|
|
|
select HAS_ARCH_32BIT
|
2020-07-20 11:07:25 +02:00
|
|
|
select HAS_NO_IDLE_THREAD
|
2020-02-18 15:16:24 +01:00
|
|
|
|
2020-06-11 09:13:56 +02:00
|
|
|
config CPU_ARCH_ARMV7M
|
2020-02-18 15:16:24 +01:00
|
|
|
bool
|
|
|
|
select HAS_ARCH_ARM
|
|
|
|
select HAS_ARCH_32BIT
|
2020-06-08 12:36:01 +02:00
|
|
|
select HAS_NO_IDLE_THREAD
|
2020-02-18 15:16:24 +01:00
|
|
|
|
2020-06-11 09:13:56 +02:00
|
|
|
config CPU_ARCH_ARMV8M
|
2020-02-18 15:16:24 +01:00
|
|
|
bool
|
|
|
|
select HAS_ARCH_ARM
|
|
|
|
select HAS_ARCH_32BIT
|
2020-06-08 12:36:01 +02:00
|
|
|
select HAS_NO_IDLE_THREAD
|
2020-02-18 15:16:24 +01:00
|
|
|
|
|
|
|
config CPU_ARCH
|
2020-06-11 09:13:56 +02:00
|
|
|
default "armv6m" if CPU_ARCH_ARMV6M
|
|
|
|
default "armv7m" if CPU_ARCH_ARMV7M
|
|
|
|
default "armv8m" if CPU_ARCH_ARMV8M
|
2020-02-18 15:16:24 +01:00
|
|
|
|
|
|
|
config CPU_CORE_CORTEX_M
|
|
|
|
bool
|
2020-06-10 13:30:56 +02:00
|
|
|
select HAS_CPU_CORE_CORTEXM
|
2020-02-18 15:16:24 +01:00
|
|
|
select HAS_PERIPH_PM
|
2020-09-03 18:56:21 +02:00
|
|
|
select HAS_PUF_SRAM
|
2020-02-18 15:16:24 +01:00
|
|
|
select HAS_CPP
|
2020-07-12 22:53:30 +02:00
|
|
|
select HAS_LIBSTDCPP
|
2020-02-18 15:16:24 +01:00
|
|
|
select HAS_CPU_CHECK_ADDRESS
|
|
|
|
select HAS_SSP
|
2020-06-05 14:46:55 +02:00
|
|
|
select HAS_CORTEXM_SVC
|
2020-02-18 15:16:24 +01:00
|
|
|
|
|
|
|
## Common CPU symbols
|
|
|
|
config CPU_CORE
|
|
|
|
default "cortex-m0" if CPU_CORE_CORTEX_M0
|
|
|
|
default "cortex-m0plus" if CPU_CORE_CORTEX_M0PLUS
|
|
|
|
default "cortex-m23" if CPU_CORE_CORTEX_M23
|
|
|
|
default "cortex-m3" if CPU_CORE_CORTEX_M3
|
|
|
|
default "cortex-m4" if CPU_CORE_CORTEX_M4
|
|
|
|
default "cortex-m4f" if CPU_CORE_CORTEX_M4F
|
|
|
|
default "cortex-m7" if CPU_CORE_CORTEX_M7
|
|
|
|
|
|
|
|
config CPU_CORE_CORTEX_M0
|
|
|
|
bool
|
2020-06-11 09:13:56 +02:00
|
|
|
select CPU_ARCH_ARMV6M
|
2020-02-18 15:16:24 +01:00
|
|
|
select CPU_CORE_CORTEX_M
|
|
|
|
|
|
|
|
config CPU_CORE_CORTEX_M0PLUS
|
|
|
|
bool
|
2020-06-11 09:13:56 +02:00
|
|
|
select CPU_ARCH_ARMV6M
|
2020-02-18 15:16:24 +01:00
|
|
|
select CPU_CORE_CORTEX_M
|
|
|
|
|
|
|
|
config CPU_CORE_CORTEX_M23
|
|
|
|
bool
|
2020-06-11 09:13:56 +02:00
|
|
|
select CPU_ARCH_ARMV8M
|
2020-02-18 15:16:24 +01:00
|
|
|
select CPU_CORE_CORTEX_M
|
|
|
|
|
|
|
|
config CPU_CORE_CORTEX_M3
|
|
|
|
bool
|
2020-06-11 09:13:56 +02:00
|
|
|
select CPU_ARCH_ARMV7M
|
2020-02-18 15:16:24 +01:00
|
|
|
select CPU_CORE_CORTEX_M
|
|
|
|
|
|
|
|
config CPU_CORE_CORTEX_M4
|
|
|
|
bool
|
2020-06-11 09:13:56 +02:00
|
|
|
select CPU_ARCH_ARMV7M
|
2020-02-18 15:16:24 +01:00
|
|
|
select CPU_CORE_CORTEX_M
|
|
|
|
|
|
|
|
config CPU_CORE_CORTEX_M4F
|
|
|
|
bool
|
2020-06-11 09:13:56 +02:00
|
|
|
select CPU_ARCH_ARMV7M
|
2020-02-18 15:16:24 +01:00
|
|
|
select CPU_CORE_CORTEX_M
|
|
|
|
select HAS_CORTEXM_FPU
|
|
|
|
|
|
|
|
config CPU_CORE_CORTEX_M7
|
|
|
|
bool
|
2020-06-11 09:13:56 +02:00
|
|
|
select CPU_ARCH_ARMV7M
|
2020-02-18 15:16:24 +01:00
|
|
|
select CPU_CORE_CORTEX_M
|
|
|
|
select HAS_CORTEXM_FPU
|
|
|
|
|
|
|
|
## Definition of specific features
|
2020-06-10 13:30:56 +02:00
|
|
|
config HAS_CPU_CORE_CORTEXM
|
2020-02-18 15:16:24 +01:00
|
|
|
bool
|
|
|
|
help
|
2020-06-10 13:30:56 +02:00
|
|
|
Indicates that the current CPU has an ARM Cortex-M core.
|
2020-02-18 15:16:24 +01:00
|
|
|
|
|
|
|
config HAS_CORTEXM_FPU
|
|
|
|
bool
|
|
|
|
help
|
|
|
|
Indicates that a ARM Cortex-M FPU is present.
|
2020-06-05 05:16:43 +02:00
|
|
|
|
|
|
|
config HAS_CORTEXM_MPU
|
|
|
|
bool
|
|
|
|
help
|
|
|
|
Indicates that a ARM Cortex-M MPU is present.
|
2020-06-05 14:46:55 +02:00
|
|
|
|
|
|
|
config HAS_CORTEXM_SVC
|
|
|
|
bool
|
|
|
|
help
|
|
|
|
Indicates that ARM Cortex-M Supervisor Calls are available.
|
2020-04-06 17:26:25 +02:00
|
|
|
|
2020-08-31 09:57:28 +02:00
|
|
|
config MODULE_CORTEXM_FPU
|
2020-04-06 17:26:25 +02:00
|
|
|
bool "Cortex-M Floating Point Unit (FPU) support"
|
|
|
|
default y
|
|
|
|
depends on HAS_CORTEXM_FPU
|
|
|
|
depends on TEST_KCONFIG
|
|
|
|
|
|
|
|
rsource "periph/Kconfig"
|