Contiki 2.6

asm.h

00001 #ifndef __ASM_H__
00002 #define __ASM_H__
00003 
00004 #ifdef __IAR_SYSTEMS_ASM__
00005 
00006   // IAR V5 Definitions.
00007   #define __END__                  END
00008   #define __EXPORT__               EXPORT
00009   #define __IMPORT__               IMPORT
00010   #define __SPACE__                DS8
00011   #define __EQU__(a, b)            a EQU b
00012   #define __WEAK__                 PUBWEAK
00013   #define __THUMB__                THUMB
00014 
00015   #if __VER__ >= 5000000
00016 
00017     // IAR V5 Definitions.
00018           RSEG RESETINFO:DATA
00019           RSEG CSTACK:DATA
00020     #define __CODE__                    SECTION .text:CODE:REORDER:NOROOT(2)
00021     #define __BSS__                     SECTION .bss:DATA:NOROOT(2)
00022     #define __BEGIN_RESETINFO__(offset) SFB(RESETINFO + offset)
00023     #define __END_RESETINFO__(offset)   SFE(RESETINFO + offset)
00024     #define __BEGIN_STACK__(offset)     SFB(CSTACK + offset)
00025     #define __END_STACK__(offset)       SFE(CSTACK + offset)
00026     #define __CFI__(x)
00027 
00028   #else // __VER__
00029     
00030     #error IAR versions less that 5.xx are not supported
00031 
00032   #endif // __VER__
00033 
00034 #endif // __IAR_SYSTEMS_ASM__
00035 
00036 #ifdef __GNUC__
00037 
00038   // GCC Definitions.
00039       .syntax unified
00040       .thumb
00041   #define __CODE__                 .text
00042   #define __THUMB__                .thumb_func
00043   #define __BSS__                  .bss
00044   #define __END__                  .end
00045   #define __EXPORT__               .global
00046   #define __IMPORT__               .extern
00047   #define __SPACE__                .space
00048   #define __EQU__(a, b)            .equ a, b
00049   #define __WEAK__                 .weak
00050   #define __BEGIN_NVDATA__(offset) (_noinit + offset)
00051   #define __BEGIN_STACK__(offset)  (_stack + offset)
00052   #define __END_STACK__(offset)    (_estack + offset)
00053   #define __CFI__(x)
00054 
00055 #endif // __GNUC__
00056 
00057 #endif // __ASM_H__