iLLD_TC27xD  1.0
Compilers.h
Go to the documentation of this file.
1 /**
2  * \file Compilers.h
3  *
4  * \version iLLD_1_0_0_11_0
5  * \copyright Copyright (c) 2013 Infineon Technologies AG. All rights reserved.
6  *
7  *
8  * IMPORTANT NOTICE
9  *
10  *
11  * Infineon Technologies AG (Infineon) is supplying this file for use
12  * exclusively with Infineon's microcontroller products. This file can be freely
13  * distributed within development tools that are supporting such microcontroller
14  * products.
15  *
16  * THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED
17  * OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
18  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.
19  * INFINEON SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL,
20  * OR CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
21  *
22  */
23 
24 #ifndef COMPILERS_H
25 #define COMPILERS_H 1
26 
27 /******************************************************************************/
28 
29 #include "Ifx_Cfg.h"
30 
31 /*this file shall not be modified by the user, CONST_CFG shall be defined in Ifx_Cfg.h */
32 #ifndef CONST_CFG
33 #define CONST_CFG const /* configuration constants are stored in ROM */
34 #endif
35 
36 #ifdef __cplusplus
37 #define IFX_EXTERN extern "C"
38 #else
39 #define IFX_EXTERN extern
40 #endif
41 
42 #ifndef NULL_PTR
43 #ifdef __cplusplus
44 #define NULL_PTR (0)
45 #else /*#ifdef __cplusplus */
46 #define NULL_PTR ((void *)0)
47 #endif /*#ifdef __cplusplus */
48 #endif /*#ifndef NULL_PTR */
49 
50 #ifndef CFG_LONG_SIZE_T
51 #define CFG_LONG_SIZE_T (0)
52 #endif
53 
54 #if defined(__DCC__)
55 #include "CompilerDcc.h"
56 
57 #elif defined(__GNUC__)
58 #include "CompilerGnuc.h"
59 
60 #elif defined(__TASKING__)
61 #include "CompilerTasking.h"
62 
63 #elif defined(__MSVC__)
64 #include "CompilerMsvc.h"
65 
66 #else
67 
68 /** \addtogroup IfxLld_Cpu_Std_Interrupt
69  * \{ */
70 /** \brief Macro to define Interrupt Service Routine.
71  * This macro makes following definitions:\n
72  * 1) Define linker section as .intvec_tc<vector number>_<interrupt priority>.\n
73  * 2) define compiler specific attribute for the interrupt functions.\n
74  * 3) define the Interrupt service routine as Isr function.\n
75  * To get details about usage of this macro, refer \ref IfxLld_Cpu_Irq_Usage
76  *
77  * \param isr Name of the Isr function.
78  * \param vectabNum Vector table number. Only 0 is supported now.
79  * \param prio Interrupt priority. Refer Usage of Interrupt Macro for more details.
80  */
81 #define IFX_INTERRUPT(isr, vectabNum, prio)
82 
83 /** \} */
84 #error "Compiler unsupported"
85 #endif
86 
87 /* Functions prototypes */
88 /******************************************************************************/
89 void Ifx_C_Init(void);
90 /******************************************************************************/
91 #endif /* COMPILERS_H */