Skip to content

Commit f8dcdb2

Browse files
committed
* Retire the Core_A folder and use a single Core folder for all processor core headers.
* Separate folders for different architecture profiles (A-profile, R-profile and M-profile) * Top-level compiler headers will exist in the Core folder (no separate Compiler folder is needed). ** The cmsis_compiler.h header will continue to figure out which compiler toolchain is being used. ** The compiler toolchain specific headers in the Core folder will contain code common to all architecture profiles. ** Compiler headers specific to each architecture profiles can reside within the new architecture profile folders. ** The second-level files like cmsis_gcc.h are named cmsis_gcc_a.h, cmsis_gcc_r.h and cmsis_gcc_m.h to avoid having multiple files with the same name *For any features that are common to more than one architecture profile, e.g, the GIC is common to A-profile and R-profile, we can include the GIC header in each architectural folder, but only one of these files contains the code to avoid duplication. The file with the same name that doesn't include the code will simply include the code from the other folder- this should hopefully be clear to developers. * removed deprecated core_armv8xxx.h files. The files were added because no specific ARM v8-M device was available when Arm v-M support was added. * removed deprecated file cmsis_armcc_a.h. This compiler support is obsolete
1 parent 9b88e7f commit f8dcdb2

62 files changed

Lines changed: 319 additions & 9860 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

ARM.CMSIS.pdsc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -427,7 +427,7 @@
427427
<api Cclass="Device" Cgroup="IRQ Controller" Capiversion="1.0.0" exclusive="1">
428428
<description>Device interrupt controller interface</description>
429429
<files>
430-
<file category="header" name="CMSIS/Core/Include/irq_ctrl.h"/>
430+
<file category="header" name="CMSIS/Core/Include/a-profile/irq_ctrl.h"/>
431431
</files>
432432
</api>
433433
<api Cclass="Device" Cgroup="OS Tick" Capiversion="1.0.1" exclusive="1">
@@ -648,7 +648,7 @@
648648

649649
<components>
650650
<!-- CMSIS-Core component -->
651-
<component Cclass="CMSIS" Cgroup="CORE" Cversion="5.6.0" condition="ARMv6_7_8-M Device" >
651+
<component Cclass="CMSIS" Cgroup="CORE" Cversion="5.7.0" condition="ARMv6_7_8-M Device" >
652652
<description>CMSIS-CORE for Cortex-M, SC000, SC300, Star-MC1, ARMv8-M, ARMv8.1-M</description>
653653
<files>
654654
<!-- CPU independent -->
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -738,7 +738,7 @@ typedef union
738738
#endif /* #if (__L2C_PRESENT == 1U) || defined(DOXYGEN) */
739739

740740
#if (__GIC_PRESENT == 1U) || defined(DOXYGEN)
741-
#include "gic_v20.h"
741+
#include "gicv2.h"
742742
#endif /* (__GIC_PRESENT == 1U) || defined(DOXYGEN) */
743743

744744
#if (__TIM_PRESENT == 1U) || defined(DOXYGEN)
File renamed without changes.
File renamed without changes.

CMSIS/Core/Include/cmsis_armclang_corea.h renamed to CMSIS/Core/Include/a-profile/cmsis_armclang_a.h

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/**************************************************************************//**
2-
* @file cmsis_armclang_corea.h
2+
* @file cmsis_armclang_a.h
33
* @brief CMSIS compiler armclang (Arm Compiler 6) header file
44
* @version V5.5.0
55
* @date 04. December 2022
@@ -29,8 +29,9 @@
2929

3030
#pragma clang system_header /* treat file as system include file */
3131

32-
// Include the generic settings:
33-
#include "cmsis_armclang.h"
32+
#ifndef __CMSIS_ARMCLANG_H
33+
#error "This file must not be included directly"
34+
#endif
3435

3536

3637
/* ########################### Core Function Access ########################### */
@@ -147,6 +148,8 @@ __STATIC_FORCEINLINE void __set_FPEXC(uint32_t fpexc)
147148
#endif
148149
}
149150

151+
/** @} end of CMSIS_Core_RegAccFunctions */
152+
150153

151154
/*
152155
* Include common core functions to access Coprocessor 15 registers

CMSIS/Core/Include/cmsis_clang_corea.h renamed to CMSIS/Core/Include/a-profile/cmsis_clang_a.h

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/**************************************************************************//**
2-
* @file cmsis_armclang_corea.h
2+
* @file cmsis_clang_a.h
33
* @brief CMSIS compiler armclang (Arm Compiler 6) header file
44
* @version V5.5.0
55
* @date 04. December 2022
@@ -27,8 +27,9 @@
2727

2828
#pragma clang system_header /* treat file as system include file */
2929

30-
// Include the generic settings:
31-
#include "cmsis_clang.h"
30+
#ifndef __CMSIS_CLANG_H
31+
#error "This file must not be included directly"
32+
#endif
3233

3334

3435
/* ########################### Core Function Access ########################### */
@@ -145,6 +146,7 @@ __STATIC_FORCEINLINE void __set_FPEXC(uint32_t fpexc)
145146
#endif
146147
}
147148

149+
/** @} end of CMSIS_Core_RegAccFunctions */
148150

149151
/*
150152
* Include common core functions to access Coprocessor 15 registers

CMSIS/Core/Include/cmsis_gcc_corea.h renamed to CMSIS/Core/Include/a-profile/cmsis_gcc_a.h

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/**************************************************************************//**
2-
* @file cmsis_gcc_corea.h
2+
* @file cmsis_gcc_a.h
33
* @brief CMSIS compiler GCC header file
44
* @version V6.0.0
55
* @date 4. August 2023
@@ -22,11 +22,12 @@
2222
* limitations under the License.
2323
*/
2424

25-
#ifndef __CMSIS_GCC_COREA_H
26-
#define __CMSIS_GCC_COREA_H
25+
#ifndef __CMSIS_GCC_A_H
26+
#define __CMSIS_GCC_A_H
2727

28-
// Include the generic settings:
29-
#include "cmsis_gcc.h"
28+
#ifndef __CMSIS_GCC_H
29+
#error "This file must not be included directly"
30+
#endif
3031

3132
/* ignore some GCC warnings */
3233
#pragma GCC diagnostic push
@@ -254,4 +255,4 @@ __STATIC_INLINE void __FPU_Enable(void)
254255

255256
#pragma GCC diagnostic pop
256257

257-
#endif /* __CMSIS_GCC_COREA_H */
258+
#endif /* __CMSIS_GCC_A_H */

CMSIS/Core/Include/cmsis_iccarm_corea.h renamed to CMSIS/Core/Include/a-profile/cmsis_iccarm_a.h

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/**************************************************************************//**
2-
* @file cmsis_iccarm_corea.h
2+
* @file cmsis_iccarm_a.h
33
* @brief CMSIS compiler ICCARM (IAR Compiler for Arm) header file
44
* @version V5.1.0
55
* @date 04. December 2022
@@ -29,8 +29,9 @@
2929
#ifndef __CMSIS_ICCARM_COREA_H__
3030
#define __CMSIS_ICCARM_COREA_H__
3131

32-
// Include the generic settigs:
33-
#include "cmsis_iccarm.h"
32+
#ifndef __CMSIS_ICCARM_H__
33+
#error "This file must not be included directly"
34+
#endif
3435

3536
#ifndef __ICCARM__
3637
#error This file should only be compiled by ICCARM

0 commit comments

Comments
 (0)