What is the change? Switch to module CMSIS_6 for Cortex-M while continuing to use cmsis module (version 5.9.0) for Cortex-A/R. Why do we need this change? The current cmsis module consists of: - Cortex-M support from upstream cmsis 5.9.0 - Cortex-A/R support which was not upstreamed to CMSIS Upstream cmsis 5.9 was deprecated so we should be using CMSIS_6 however, it seems due to lack of Cortex-A/R support in upstream and other reasons, this was pushed back. While upstreaming Cortex-A/R support to CMSIS_6 could take its time, this shouldn't stop Cortex-M to start using CMSIS_6. Also, if we do not use CMSIS_6 for Cortex-M then using the newer GCC 14.2 toolchain will return below compiler error: ``` zephyrproject/modules/hal/cmsis/CMSIS/Core/Include/core_cm85.h:4406:10: fatal error: pac_armv81.h: No such file or directory 4406 | #include "pac_armv81.h" ``` Using CMSIS_6 for Cortex-M will fix this. Signed-off-by: Sudan Landge <sudan.landge@arm.com>
29 lines
612 B
Plaintext
29 lines
612 B
Plaintext
# Copyright (c) 2016 Intel Corporation
|
|
# Copyright 2025 Arm Limited and/or its affiliates <open-source-office@arm.com>
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
config ZEPHYR_CMSIS_6_MODULE
|
|
bool
|
|
|
|
config HAS_CMSIS_CORE
|
|
bool
|
|
select HAS_CMSIS_CORE_M if CPU_CORTEX_M
|
|
|
|
if HAS_CMSIS_CORE
|
|
|
|
config HAS_CMSIS_CORE_M
|
|
bool
|
|
|
|
config CMSIS_M_CHECK_DEVICE_DEFINES
|
|
bool "Check device defines"
|
|
depends on HAS_CMSIS_CORE_M
|
|
help
|
|
This options enables the validation of CMSIS configuration flags.
|
|
|
|
config CMSIS_CORE_HAS_SYSTEM_CORE_CLOCK
|
|
bool
|
|
help
|
|
Enable this option if CMSIS SystemCoreClock symbols is available.
|
|
|
|
endif
|