![]() |
Energy Micro IEC60355 Library Project 1.037 GCC-Version
IEC60355 Library documentation and API
|
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 *********************************/