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