1# Overview {#mainpage}
2
3The **CMSIS-Core (Cortex-A)** component implements the basic run-time system for a Cortex-A device and gives the user access to the processor core and the device peripherals.
4In detail it defines:
5
6 - **Hardware Abstraction Layer (HAL)** for Cortex-A processor registers with standardized  definitions for the GIC, FPU, MMU, Cache, and core access functions.
7 - **System exception names** to interface to system exceptions without having compatibility issues.
8 - **Methods to organize header files** that makes it easy to learn new Cortex-A microcontroller products and improve software portability. This includes naming conventions for device-specific interrupts.
9 - **Methods for system initialization** to be used by each MCU vendor. For example, the standardized SystemInit() function is essential for configuring the clock system of the device.
10 - **Intrinsic functions** used to generate CPU instructions that are not supported by standard C functions.
11 - A variable to determine the **system clock frequency** which simplifies the setup of the system timers.
12
13The following sections provide details about the CMSIS-Core (Cortex-A):
14
15 - \ref using_pg describes the project setup and shows a simple program example.
16 - \ref templates_pg describes the files of the CMSIS-Core (Cortex-A) in detail and explains how to adapt template files provided by Arm to silicon vendor devices.
17 - \ref coreMISRA_Exceptions_pg describes the violations to the MISRA standard.
18 - [**API Reference**](modules.html) describes the features and functions of the \ref device_h_pg in detail.
19 - [**Data Structures**](annotated.html) describe the data structures of the \ref device_h_pg in detail.
20
21## Access to CMSIS-Core (Cortex-A)
22
23CMSIS-Core is actively maintained in the [**CMSIS 6 GitHub repository**](https://github.com/ARM-software/CMSIS_6) and released as part of the [**CMSIS Software Pack**](../General/cmsis_pack.html).
24
25The following directories and files relevant to CMSIS-Core (Cortex-A) are present in the **ARM::CMSIS** Pack:
26
27Directory                         | Content
28:---------------------------------|:------------------------------------------------------------------------
29�� CMSIS                          | CMSIS Base software components folder
30 ┣ �� Documentation/html/Core_A   | A local copy of this CMSIS-Core (A) documentation
31 ┗ �� Core                        | CMSIS-Core files
32    ┣ �� Include        | \ref CMSIS_Processor_files.
33     ┗ �� a-profile| Header files specific for Arm A-Profile.
34    ┗ �� Template       | \ref template_files_sec
35
36## Processor Support {#ref_v7A}
37
38CMSIS supports a selected subset of [Cortex-A processors](https://www.arm.com/products/silicon-ip-cpu?families=cortex-m&showall=true).
39
40\anchor ref_man_ca_sec
41**Cortex-A Technical Reference Manuals**
42
43The following Technical Reference Manuals describe the various Arm Cortex-A processors:
44
45 - [Cortex-A5](https://developer.arm.com/documentation/ddi0433) (Armv7-A architecture)
46 - [Cortex-A7](https://developer.arm.com/documentation/ddi0464) (Armv7-A architecture)
47 - [Cortex-A9](https://developer.arm.com/documentation/100511) (Armv7-A architecture)
48
49## Tested and Verified Toolchains {#tested_tools_sec}
50
51The \ref templates_pg delivered with this CMSIS-Core release have been tested and verified with the following toolchains:
52
53 - Arm Compiler for Embedded 6.22
54 - IAR C/C++ Compiler for Arm 9.40
55 - GNU Arm Embedded Toolchain 13.2.1
56 - LLVM/Clang 18.3.1
57