Infineon MOTIX™ MCU TLE988x/9x Device Family SDK
cmsis_misra.h
Go to the documentation of this file.
1 /*
2  ***********************************************************************************************************************
3  *
4  * Copyright (c) Infineon Technologies AG
5  * All rights reserved.
6  *
7  * The applicable license agreement can be found at this pack's installation directory in the file
8  * license/IFX_SW_Licence_MOTIX_LITIX.txt
9  *
10  **********************************************************************************************************************/
22 /*******************************************************************************
23 ** Author(s) Identity **
24 ********************************************************************************
25 ** Initials Name **
26 ** ---------------------------------------------------------------------------**
27 ** DM Daniel Mysliwitz **
28 ** BG Blandine Guillot **
29 ** JO Julia Ott **
30 *******************************************************************************/
31 
32 /*******************************************************************************
33 ** Revision Control History **
34 ********************************************************************************
35 ** V0.1.0: 2018-06-13, DM: Initial version **
36 ** V0.1.1: 2019-04-18, JO: Modified CMSIS_Irq_Dis to be ARM GCC compliant **
37 ** V0.2.0: 2020-04-28, BG: Added SEV function **
38 ** Updated revision history format **
39 ** V0.2.1: 2021-05-20, JO: EP-821: Updated CMSIS_Irq_Dis to prevent **
40 ** compiler warning **
41 ** V0.2.2: 2021-07-07, JO: EP-783: Added CMSIS_SEV for TESTING condition **
42 ** V0.2.3: 2021-07-30, BG: EP-877: Corrected CMSIS_Irq_Dis to prevent **
43 ** ARMCC v6 compiler error **
44 ** V0.2.4: 2021-11-12, JO: EP-937: Updated copyright and branding **
45 ** V0.2.5: 2024-11-05, JO: EP-1494: Updated license **
46 *******************************************************************************/
47 
48 #ifndef _CMSIS_MISRA_H
49 #define _CMSIS_MISRA_H
50 
51 /*******************************************************************************
52 ** Includes **
53 *******************************************************************************/
54 #include "types.h"
55 #include "core_cm3.h"
56 
57 /*******************************************************************************
58 ** Unit Test Declarations **
59 *******************************************************************************/
60 
61 #if defined(TESTING) || defined(UNIT_TESTING_LV2)
62 
63 sint32 CMSIS_Irq_Dis(void);
64 void CMSIS_Irq_En(void);
65 void CMSIS_NOP(void);
66 void CMSIS_WFE(void);
67 void CMSIS_SEV(void);
68 
69 #else
70 
71 /*******************************************************************************
72 ** Global Inline Function Declarations **
73 *******************************************************************************/
74 
79 
83 INLINE void CMSIS_Irq_En(void);
84 
88 INLINE void CMSIS_NOP(void);
89 
93 INLINE void CMSIS_WFE(void);
94 
98 INLINE void CMSIS_SEV(void);
99 
100 
101 /*******************************************************************************
102 ** Global Inline Function Definitions **
103 *******************************************************************************/
104 
106 {
107  /* violation: Symbol '__disable_irq' undeclared, assumed to return int [MISRA Rule 20], [MISRA Rule 71]*/
108  /* violation: call to function '__disable_irq()' not made in the presence of a prototype [MISRA Rule 71] */
109  __disable_irq();
110  return 0;
111 }
112 
114 {
115  /* violation: Symbol '__enable_irq' undeclared, assumed to return int [MISRA Rule 20], [MISRA Rule 71]*/
116  /* violation: call to function '__enable_irq()' not made in the presence of a prototype [MISRA Rule 71] */
117  __enable_irq();
118 }
119 
120 INLINE void CMSIS_NOP(void)
121 {
122  /* violation: Symbol '__nop' undeclared, assumed to return int [MISRA Rule 20], [MISRA Rule 71]*/
123  /* violation: call to function '__nop()' not made in the presence of a prototype [MISRA Rule 71] */
124  __NOP();
125 }
126 
127 INLINE void CMSIS_WFE(void)
128 {
129  /* violation: Symbol '__wfe' undeclared, assumed to return int [MISRA Rule 20], [MISRA Rule 71]*/
130  /* violation: call to function '__wfe()' not made in the presence of a prototype [MISRA Rule 71] */
131  __WFE();
132 }
133 
134 INLINE void CMSIS_SEV(void)
135 {
136  /* violation: Symbol '__sev' undeclared, assumed to return int [MISRA Rule 20], [MISRA Rule 71]*/
137  /* violation: call to function '__sev()' not made in the presence of a prototype [MISRA Rule 71] */
138  __SEV();
139 }
140 
141 #endif
142 
143 
144 #endif /*_CMSIS_MISRA_H*/
INLINE sint32 CMSIS_Irq_Dis(void)
Access to the CMSIS intrinsic __disable_irq().
Definition: cmsis_misra.h:105
INLINE void CMSIS_NOP(void)
Access to the CMSIS intrinsic __NOP().
Definition: cmsis_misra.h:120
INLINE void CMSIS_Irq_En(void)
Access to the CMSIS intrinsic __enable_irq().
Definition: cmsis_misra.h:113
INLINE void CMSIS_SEV(void)
Access to the CMSIS intrinsic __SEV().
Definition: cmsis_misra.h:134
INLINE void CMSIS_WFE(void)
Access to the CMSIS intrinsic __WFE().
Definition: cmsis_misra.h:127
General type declarations.
#define INLINE
Definition: types.h:151
int32_t sint32
32 bit signed value
Definition: types.h:211