1 /*
2  * Copyright 2020-2023 NXP
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  */
6 
7 /* Prevention from multiple including the same header */
8 #ifndef TRGMUX_IP_DEVASSERT_H_
9 #define TRGMUX_IP_DEVASSERT_H_
10 
11 /**
12 *   @file    Trgmux_Ip_Devassert.h
13 *
14 *   @version 3.0.0
15 *
16 *   @brief   AUTOSAR Mcl - Trgmux Ip driver header file.
17 *   @details
18 *
19 *   @addtogroup TRGMUX_IP_DRIVER TRGMUX IP Driver
20 *   @{
21 */
22 
23 #ifdef __cplusplus
24 extern "C"{
25 #endif
26 
27 /*==================================================================================================
28 *                                        INCLUDE FILES
29 * 1) system and project includes
30 * 2) needed interfaces from external units
31 * 3) internal and external interfaces from this unit
32 ==================================================================================================*/
33 #include "Trgmux_Ip_Types.h"
34 
35 /*==================================================================================================
36 *                                 SOURCE FILE VERSION INFORMATION
37 ==================================================================================================*/
38 #define TRGMUX_IP_DEVASSERT_VENDOR_ID                    43
39 #define TRGMUX_IP_DEVASSERT_MODULE_ID                    255
40 #define TRGMUX_IP_DEVASSERT_AR_RELEASE_MAJOR_VERSION     4
41 #define TRGMUX_IP_DEVASSERT_AR_RELEASE_MINOR_VERSION     7
42 #define TRGMUX_IP_DEVASSERT_AR_RELEASE_REVISION_VERSION  0
43 #define TRGMUX_IP_DEVASSERT_SW_MAJOR_VERSION             3
44 #define TRGMUX_IP_DEVASSERT_SW_MINOR_VERSION             0
45 #define TRGMUX_IP_DEVASSERT_SW_PATCH_VERSION             0
46 
47 /*==================================================================================================
48                                       FILE VERSION CHECKS
49 ==================================================================================================*/
50 /* Check if header file and Trgmux_Ip_Types.h file are of the same vendor */
51 #if (TRGMUX_IP_DEVASSERT_VENDOR_ID != TRGMUX_IP_TYPES_VENDOR_ID)
52     #error "Trgmux_Ip_Devassert.h and Trgmux_Ip_Types.h have different vendor ids"
53 #endif
54 
55 /* Check if header file and Trgmux_Ip_Types.h file are of the same Autosar version */
56 #if ((TRGMUX_IP_DEVASSERT_AR_RELEASE_MAJOR_VERSION != TRGMUX_IP_TYPES_AR_RELEASE_MAJOR_VERSION) || \
57      (TRGMUX_IP_DEVASSERT_AR_RELEASE_MINOR_VERSION != TRGMUX_IP_TYPES_AR_RELEASE_MINOR_VERSION) || \
58      (TRGMUX_IP_DEVASSERT_AR_RELEASE_REVISION_VERSION != TRGMUX_IP_TYPES_AR_RELEASE_REVISION_VERSION) \
59     )
60     #error "AutoSar Version Numbers of Trgmux_Ip_Devassert.h and Trgmux_Ip_Types.h are different"
61 #endif
62 
63 /* Check if header file and Trgmux_Ip_Types.h file are of the same Software version */
64 #if ((TRGMUX_IP_DEVASSERT_SW_MAJOR_VERSION != TRGMUX_IP_TYPES_SW_MAJOR_VERSION) || \
65      (TRGMUX_IP_DEVASSERT_SW_MINOR_VERSION != TRGMUX_IP_TYPES_SW_MINOR_VERSION) || \
66      (TRGMUX_IP_DEVASSERT_SW_PATCH_VERSION != TRGMUX_IP_TYPES_SW_PATCH_VERSION) \
67     )
68     #error "Software Version Numbers of Trgmux_Ip_Devassert.h and Trgmux_Ip_Types.h are different"
69 #endif
70 
71 #if (STD_ON == TRGMUX_IP_IS_AVAILABLE)
72 /*==================================================================================================
73 *                                            CONSTANTS
74 ==================================================================================================*/
75 
76 /*==================================================================================================
77 *                                       DEFINES AND MACROS
78 ==================================================================================================*/
79 
80 /*==================================================================================================
81 *                                              ENUMS
82 ==================================================================================================*/
83 
84 /*==================================================================================================
85 *                                  STRUCTURES AND OTHER TYPEDEFS
86 ==================================================================================================*/
87 #define MCL_START_SEC_CODE
88 #include "Mcl_MemMap.h"
89 
90 #if (STD_ON == TRGMUX_IP_DEV_ERROR_DETECT)
91     /* Implement default assert macro */
Trgmux_Ip_DevAssert(volatile boolean x)92     static inline void Trgmux_Ip_DevAssert(volatile boolean x)
93     {
94         if(x) { } else { ASM_KEYWORD("BKPT #0"); for(;;) {} }
95     }
96     #define TRGMUX_IP_DEV_ASSERT(x) Trgmux_Ip_DevAssert(x)
97 #else
98     /* Assert macro does nothing */
99     #define TRGMUX_IP_DEV_ASSERT(x) ((void)0)
100 #endif /* STD_ON == TRGMUX_IP_DEV_ERROR_DETECT */
101 
102 #define MCL_STOP_SEC_CODE
103 #include "Mcl_MemMap.h"
104 
105 /*==================================================================================================
106 *                                  GLOBAL VARIABLE DECLARATIONS
107 ==================================================================================================*/
108 
109 /*==================================================================================================
110 *                                       FUNCTION PROTOTYPES
111 ==================================================================================================*/
112 
113 #endif /* TRGMUX_IP_IS_AVAILABLE */
114 
115 #ifdef __cplusplus
116 }
117 #endif
118 
119 /** @} */
120 
121 #endif  /* #ifndef TRGMUX_IP_DEVASSERT_H_ */
122 
123 /*==================================================================================================
124  *                                        END OF FILE
125 ==================================================================================================*/
126