]> begriffs open source - cmsis/blob - CMSIS/DoxyGen/Core_A/src/mainpage.md
Reworked CMSIS-Core(M) and Core(A) docs for CMSIS 6. (#47)
[cmsis] / CMSIS / DoxyGen / Core_A / src / mainpage.md
1 # Overview {#mainpage}
2
3 CMSIS-Core (Cortex-A) implements the basic run-time system for a Cortex-A device and gives the user access to the processor core and the device peripherals.
4 In detail it defines:
5  - **Hardware Abstraction Layer (HAL)** for Cortex-A processor registers with standardized  definitions for the GIC, FPU, MMU, Cache, and core access functions.
6  - **System exception names** to interface to system exceptions without having compatibility issues.
7  - **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.
8  - **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.
9  - **Intrinsic functions** used to generate CPU instructions that are not supported by standard C functions.
10  - A variable to determine the **system clock frequency** which simplifies the setup of the system timers.
11
12 The following sections provide details about the CMSIS-Core (Cortex-A):
13  - \ref using_pg describes the project setup and shows a simple program example.
14  - \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.
15  - \ref coreMISRA_Exceptions_pg describes the violations to the MISRA standard.
16  - [API Reference](modules.html) describes the features and functions of the \ref device_h_pg in detail.
17  - [Data Structures](annotated.html) describe the data structures of the \ref device_h_pg in detail.
18
19 ## Access to CMSIS-Core (Cortex-A)
20
21 CMSIS-Core is actively maintained in [CMSIS 6 GitHub repository](https://github.com/ARM-software/CMSIS_6) and released as part of the [CMSIS Software Pack](../../General/html/cmsis_pack.html).
22
23 The following directories and files relevant to CMSIS-Core (Cortex-A) are present in the **ARM::CMSIS** Pack:
24
25 Directory                         | Content
26 :---------------------------------|:------------------------------------------------------------------------
27 📂 CMSIS                          | CMSIS Base software components folder
28  â”£ ðŸ“‚ Documentation/Core_A        | A local copy of this CMSIS-Core (A) documentation
29  â”— ðŸ“‚ Core                        | CMSIS-Core files
30     â”£ ðŸ“‚ Include        | \ref CMSIS_Processor_files.
31      â”— ðŸ“‚ a-profile| Header files specific for Arm A-Profile.
32     â”— ðŸ“‚ Template       | \ref template_files_sec
33  
34 ## Processor Support {#ref_v7A}
35
36 CMSIS supports a selected subset of [Cortex-A processors](https://www.arm.com/products/silicon-ip-cpu?families=cortex-m&showall=true).
37
38 \anchor ref_man_ca_sec
39 **Cortex-A Technical Reference Manuals**
40
41 The following Technical Reference Manuals describe the various Arm Cortex-A processors:
42  - [Cortex-A5](https://developer.arm.com/documentation/ddi0433) (Armv7-A architecture)
43  - [Cortex-A7](https://developer.arm.com/documentation/ddi0464) (Armv7-A architecture)
44  - [Cortex-A9](https://developer.arm.com/documentation/100511) (Armv7-A architecture)
45
46 ## Tested and Verified Toolchains {#tested_tools_sec}
47
48 The \ref templates_pg supplied by Arm have been tested and verified with the following toolchains:
49  - Arm: Arm Compiler 5.06 update 7
50  - Arm: Arm Compiler 6.16
51  - Arm: Arm Compiler 6.6.4
52  - GNU: GNU Arm Embedded Toolchain 10-2020-q4-major (10.2.1 20201103)
53  - IAR: IAR ANSI C/C++ Compiler for Arm 8.20.1.14183