Energy Micro IEC60355 Library Project 1.037 GCC-Version
IEC60355 Library documentation and API

iec60335_class_b_def.h

Go to the documentation of this file.
00001 /***************************************************************************/
00030 #ifndef __IEC60335_CLASS_B_DEF_H__
00031 #define __IEC60335_CLASS_B_DEF_H__
00032 
00037 #ifdef __cplusplus
00038 extern "C"
00039 {
00040 #endif /* __cplusplus */
00041 
00042 /* define compiler specific symbols */
00043 #if defined (__CC_ARM)      /*--RealView Compiler --*/
00044 
00045     #ifndef __ASM
00046     #define __ASM             __asm                               
00047     #endif
00048     #ifndef __INLINE
00049     #define __INLINE          __inline                            
00050     #endif
00051     #define FLASH_CRC_ADDR    0x000000E0                          
00052     #define __STEXT           FLASH_CRC_ADDR + sizeof(FlashCRC_t) 
00055 #elif (defined (__ICCARM__))    /*-- ICC Compiler --*/
00056 
00057     #ifndef __ASM
00058     #define __ASM             __asm                 
00059     #endif
00060     #ifndef __INLINE
00061     #define __INLINE          inline                
00062     #endif
00063     #define FLASH_CRC_ADDR    0x000010BA            /* LENGTH = 0x20 */
00064     #define __STEXT           0x100
00065 
00067 #elif (defined (__GNUC__))      /*-- GNU Compiler --*/
00068 
00069     #ifndef __ASM
00070     #define __ASM             __asm                 
00071     #endif
00072     #undef __INLINE
00073     #define __INLINE          __inline__            
00074 extern unsigned long _crc_location;                 /* linker reference : start CRC entry      */
00075     #define FLASH_CRC_ADDR    &_crc_location        
00076 extern unsigned long __text_start;                  /* linker reference : start text section   */
00077     #define __STEXT           &__text_start         
00080 #elif defined   (__TASKING__)
00081 
00082     #error "not implemented yet !"                  
00085 #else
00086     #error "iec60355_class_b_def.h: undefined compiler"
00087 #endif
00088 
00089 #ifdef TESSY
00090 
00091 #define LoopForever()    return                     
00093 #else
00094 #define LoopForever()    while (1)                  
00095 #endif
00096 
00097 #ifdef __cplusplus
00098 }
00099 #endif /* __cplusplus */
00100 
00105 #endif /* __IEC60335_CLASS_B_DEF_H__ */
00106 
00107 /************************************** EOF *********************************/