Zephyr Project API  3.3.0
A Scalable Open Source RTOS
cmsis.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2020 Stephanos Ioannidis <root@stephanos.io>
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
14#ifndef ZEPHYR_INCLUDE_ARCH_ARM_AARCH32_CORTEX_A_R_CMSIS_H_
15#define ZEPHYR_INCLUDE_ARCH_ARM_AARCH32_CORTEX_A_R_CMSIS_H_
16
17#include <soc.h>
18
19#ifdef __cplusplus
20extern "C" {
21#endif
22
23#ifndef __CR_REV
24#define __CR_REV 0U
25#endif
26
27#ifndef __CA_REV
28#define __CA_REV 0U
29#endif
30
31#ifndef __FPU_PRESENT
32#define __FPU_PRESENT CONFIG_CPU_HAS_FPU
33#endif
34
35#ifndef __MMU_PRESENT
36#define __MMU_PRESENT CONFIG_CPU_HAS_MMU
37#endif
38
39#ifdef __cplusplus
40}
41#endif
42
43#if defined(CONFIG_CPU_CORTEX_R4)
44#include <core_cr4.h>
45#elif defined(CONFIG_CPU_CORTEX_R5)
46#include <core_cr5.h>
47#elif defined(CONFIG_CPU_CORTEX_R7)
48#include <core_cr7.h>
49#elif defined(CONFIG_CPU_CORTEX_R52)
50#include <core_cr52.h>
51#elif defined(CONFIG_CPU_AARCH32_CORTEX_A)
52/*
53 * Any defines relevant for the proper inclusion of CMSIS' Cortex-A
54 * Common Peripheral Access Layer (such as __CORTEX_A) which are not
55 * covered by the Kconfig-based default assignments above must be
56 * provided by each aarch32 Cortex-A SoC's header file (already in-
57 * cluded above).
58 */
59#include <core_ca.h>
60#else
61#error "Unknown device"
62#endif
63
65
66#endif /* ZEPHYR_INCLUDE_ARCH_ARM_AARCH32_CORTEX_A_R_CMSIS_H_ */
CMSIS extension.