Go to the documentation of this file.
   25 #define COMPILERDCC_H 1 
   34 #ifndef IFX_CFG_USE_COMPILER_DEFAULT_LINKER 
   39 #define IFXCOMPILER_CORE_LINKER_SYMBOLS(cpu)                                  \ 
   40     extern unsigned int __USTACK##cpu[];                \ 
   41     extern unsigned int __ISTACK##cpu[];           \ 
   42     extern unsigned int __INTTAB_CPU##cpu[];    \ 
   43     extern unsigned int __TRAPTAB_CPU##cpu[];        \ 
   44     extern unsigned int __CSA##cpu[];          \ 
   45     extern unsigned int __CSA##cpu##_END[];    
   47 #define __USTACK(cpu)      __USTACK##cpu 
   48 #define __ISTACK(cpu)      __ISTACK##cpu 
   49 #define __INTTAB_CPU(cpu)  __INTTAB_CPU##cpu 
   50 #define __TRAPTAB_CPU(cpu) __TRAPTAB_CPU##cpu 
   51 #define __CSA(cpu)         __CSA##cpu 
   52 #define __CSA_END(cpu)     __CSA##cpu##_END 
   54 #define IFXCOMPILER_COMMON_LINKER_SYMBOLS() \ 
   55     __asm("\t .weak __A8_MEM, __A9_MEM");   
   58 #if defined(IFX_USE_SW_MANAGED_INT) 
   59 #define __INTTAB(cpu)      ((unsigned int)__INTTAB_CPU##cpu | (unsigned int)0x1FE0) 
   61 #define __INTTAB(cpu)      __INTTAB_CPU##cpu 
   64 #define __TRAPTAB(cpu)     __TRAPTAB_CPU##cpu 
   66 #define __SDATA1(cpu)      _SMALL_DATA_ 
   67 #define __SDATA2(cpu)      _LITERAL_DATA_ 
   68 #define __SDATA3(cpu)      __A8_MEM 
   69 #define __SDATA4(cpu)      __A9_MEM 
   74 #define IFX_INLINE         __inline__ 
   79 #define COMPILER_NAME      "DCC" 
   80 #define COMPILER_VERSION   __VERSION__ 
   82 #define COMPILER_REVISION  0 
   83 #define IFX_INTERRUPT_FAST IFX_INTERRUPT 
   85 #if defined(IFX_USE_SW_MANAGED_INT) 
   88 #define IFX_INTERRUPT(isr, vectabNum, prio) void isr(void) 
   95 #define IFX_INTERRUPT(isr, vectabNum, prio) IFX_INTERRUPT_INTERNAL(isr, vectabNum, prio) 
   99 #ifndef IFX_INTERRUPT_INTERNAL 
  100 #define IFX_INTERRUPT_INTERNAL(isr, vectabNum, prio)                \ 
  101 void __interrupt(prio) __vector_table(vectabNum) isr(void) 
  105 #define IFX_INTERRUPT_LEGACY(isr, vectabNum, prio) \ 
  106 __asm ("\t.align\t 5\n\t\ 
  107 .section .int."#prio"\n \t.sectionlink  .inttab"#vectabNum".intvec."#prio"\n\ 
  109 __intvec_tc"#vectabNum"_"#prio":\n\ 
  110     movh.a\t %a14,"#isr"@ha\n\ 
  111     lea\t %a14,[%a14]"#isr"@l\n\ 
  114 .section .intend."#prio"\n \t.sectionlink   .text");\ 
  115 __interrupt__ void isr (void) 
  121 #define IFX_ALIGN(n) __attribute__ ((aligned(n)))