Go to the documentation of this file.
24 #ifndef COMPILERTASKING_H
25 #define COMPILERTASKING_H 1
34 #ifndef IFX_CFG_USE_COMPILER_DEFAULT_LINKER
37 #define IFXCOMPILER_COMMON_LINKER_SYMBOLS() \
38 __asm("\t .extern _SMALL_DATA_, _LITERAL_DATA_, _A8_DATA_, _A9_DATA_");
44 #define IFXCOMPILER_CORE_LINKER_SYMBOLS(cpu) \
45 __asm("\t .extern __USTACK"#cpu); \
46 extern unsigned int __ISTACK##cpu[]; \
47 extern unsigned int __INTTAB_CPU##cpu[]; \
48 extern unsigned int __TRAPTAB_CPU##cpu[]; \
49 extern unsigned int __CSA##cpu[]; \
50 extern unsigned int __CSA##cpu##_END[];
52 #define __USTACK(cpu) __USTACK##cpu
53 #define __ISTACK(cpu) __ISTACK##cpu
54 #define __INTTAB_CPU(cpu) __INTTAB_CPU##cpu
55 #define __TRAPTAB_CPU(cpu) __TRAPTAB_CPU##cpu
56 #define __CSA(cpu) __CSA##cpu
57 #define __CSA_END(cpu) __CSA##cpu##_END
60 #if defined(IFX_USE_SW_MANAGED_INT)
61 #define __INTTAB(cpu) ((unsigned int)__INTTAB_CPU##cpu | (unsigned int)0x1FE0)
63 #define __INTTAB(cpu) __INTTAB_CPU##cpu
66 #define __TRAPTAB(cpu) __TRAPTAB_CPU##cpu
68 #define __SDATA1(cpu) _SMALL_DATA_
69 #define __SDATA2(cpu) _LITERAL_DATA_
70 #define __SDATA3(cpu) _A8_DATA_
71 #define __SDATA4(cpu) _A9_DATA_
77 #define IFX_INLINE static inline
79 #define IFX_INLINE inline
85 #define COMPILER_NAME "TASKING"
86 #define COMPILER_VERSION __VERSION__
89 #define COMPILER_REVISION __REVISION__
93 #if defined(IFX_USE_SW_MANAGED_INT)
96 #define IFX_INTERRUPT(isr, vectabNum, prio) void isr(void)
101 #ifndef IFX_INTERRUPT
102 #define IFX_INTERRUPT(isr, vectabNum, prio) IFX_INTERRUPT_INTERNAL(isr, vectabNum, prio)
104 #define IFX_INTERRUPT_FAST(isr, vectabNum, prio) void __interrupt_fast(prio) __vector_table(vectabNum) isr(void)
108 #define IFX_INTERRUPT_INTERNAL(isr, vectabNum, prio) void __interrupt(prio) __vector_table(vectabNum) isr(void)
114 #define IFX_ALIGN(n) __attribute__ ((__align(n)))
119 #define IFX_FAR_ABS __far
123 #define IFX_NEAR_ABS __near
127 #define IFX_REL_A0 __a0
131 #define IFX_REL_A1 __a1
135 #define IFX_REL_A1 __a8
139 #define IFX_REL_A9 __a9