]> begriffs open source - cmsis/blob - CMSIS/CoreValidation/Include/cmsis_cv.h
CoreValidation: Added test functions for MSPLIM and PSPLIM.
[cmsis] / CMSIS / CoreValidation / Include / cmsis_cv.h
1 /*-----------------------------------------------------------------------------
2  *      Name:         cmsis_cv.h 
3  *      Purpose:      cmsis_cv header
4  *----------------------------------------------------------------------------
5  *      Copyright (c) 2017 ARM Limited. All rights reserved.
6  *----------------------------------------------------------------------------*/
7 #ifndef __CMSIS_CV_H
8 #define __CMSIS_CV_H
9
10 #include <stdint.h>
11 #include "CV_Config.h"
12     
13 /* Expansion macro used to create CMSIS Driver references */
14 #define EXPAND_SYMBOL(name, port) name##port
15 #define CREATE_SYMBOL(name, port) EXPAND_SYMBOL(name, port)
16   
17 // Simulator counter
18 #ifndef HW_PRESENT
19 extern uint32_t SIM_CYCCNT;
20 #endif
21
22 // SVC interrupt callback
23 extern void (*TST_IRQHandler)(void);
24
25 // Test main function
26 extern void cmsis_cv (void);
27
28 // Test cases
29 #ifdef RTE_CV_COREINSTR
30 extern void TC_CoreInstr_NOP (void);
31 extern void TC_CoreInstr_REV (void);
32 extern void TC_CoreInstr_REV16 (void);
33 extern void TC_CoreInstr_REVSH (void);
34 extern void TC_CoreInstr_ROR (void);
35 extern void TC_CoreInstr_RBIT (void);
36 extern void TC_CoreInstr_CLZ (void);
37 extern void TC_CoreInstr_SSAT (void);
38 extern void TC_CoreInstr_USAT (void);
39 #endif
40
41 #ifdef RTE_CV_COREFUNC
42   #if defined(__CORTEX_M)
43     extern void TC_CoreFunc_EnDisIRQ (void);
44     extern void TC_CoreFunc_Control (void);
45     extern void TC_CoreFunc_IPSR (void);
46     extern void TC_CoreFunc_APSR (void);
47     extern void TC_CoreFunc_PSP (void);
48     extern void TC_CoreFunc_MSP (void);
49     
50     #if ((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \
51          (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1))    )
52
53     extern void TC_CoreFunc_PSPLIM (void);
54     extern void TC_CoreFunc_MSPLIM (void);
55
56     #endif
57     
58     extern void TC_CoreFunc_PRIMASK (void);
59
60     #if ((defined (__ARM_ARCH_7M__      ) && (__ARM_ARCH_7M__      == 1)) || \
61        (defined (__ARM_ARCH_7EM__     ) && (__ARM_ARCH_7EM__     == 1)) || \
62        (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1))    )
63
64     extern void TC_CoreFunc_FAULTMASK (void);
65     extern void TC_CoreFunc_BASEPRI (void);
66
67     #endif
68
69     #if ((defined (__ARM_ARCH_7EM__     ) && (__ARM_ARCH_7EM__     == 1)) || \
70        (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1))    )
71
72     extern void TC_CoreFunc_FPSCR (void);
73
74     #endif
75   #elif defined(__CORTEX_A)
76     extern void TC_CoreAFunc_IRQ (void);
77     extern void TC_CoreAFunc_FPSCR (void);
78     extern void TC_CoreAFunc_CPSR (void);
79     extern void TC_CoreAFunc_Mode (void);
80     extern void TC_CoreAFunc_SP (void);
81     extern void TC_CoreAFunc_SP_usr (void);
82     extern void TC_CoreAFunc_FPEXC (void);
83     extern void TC_CoreAFunc_ACTLR (void);
84     extern void TC_CoreAFunc_CPACR (void);
85     extern void TC_CoreAFunc_DFSR (void);
86     extern void TC_CoreAFunc_IFSR (void);
87     extern void TC_CoreAFunc_ISR (void);
88     extern void TC_CoreAFunc_CBAR (void);
89     extern void TC_CoreAFunc_TTBR0 (void);
90     extern void TC_CoreAFunc_DACR (void);
91     extern void TC_CoreAFunc_SCTLR (void);
92     extern void TC_CoreAFunc_ACTRL (void);
93     extern void TC_CoreAFunc_MPIDR (void);
94     extern void TC_CoreAFunc_VBAR (void);
95   #endif
96 #endif
97
98 #ifdef RTE_CV_MPUFUNC
99 #if defined(__MPU_PRESENT) && __MPU_PRESENT
100 extern void TC_MPU_SetClear (void);
101 extern void TC_MPU_Load (void);
102 #endif
103 #endif
104
105 #ifdef RTE_CV_GENTIMER
106 extern void TC_GenTimer_CNTFRQ (void);
107 extern void TC_GenTimer_CNTP_TVAL (void);
108 extern void TC_GenTimer_CNTP_CTL (void);
109 extern void TC_GenTimer_CNTPCT(void);
110 extern void TC_GenTimer_CNTP_CVAL(void);
111 #endif
112
113 #endif /* __CMSIS_CV_H */