X-Git-Url: https://oss.titaniummirror.com/gitweb?a=blobdiff_plain;f=include%2Fsignal.h;fp=include%2Fsignal.h;h=6d1d786f6f842e64399b64c5ed2aa70e78fb043f;hb=6f720ff00773571c2fa2d35e67bff68547617639;hp=40a91f874ab313a5cef983fcee3078ec8290f18f;hpb=807b2dd5b7365eb87b482197af3b4a3f520c14f7;p=msp430-libc.git diff --git a/include/signal.h b/include/signal.h index 40a91f8..6d1d786 100644 --- a/include/signal.h +++ b/include/signal.h @@ -24,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: signal.h,v 1.15 2006/11/15 14:34:57 coppice Exp $ + * $Id: signal.h,v 1.17 2009/06/04 21:55:18 cliechti Exp $ */ #if !defined(__SIGNAL_H_) @@ -35,12 +35,16 @@ #if defined(__MSP430X__) #define INTERRUPT_VECTOR_SLOTS 32 #define RESET_VECTOR 62 +#elif defined(__MSP430X2__) +#warning X2 ist da +#define INTERRUPT_VECTOR_SLOTS 64 +#define RESET_VECTOR 126 #else #define INTERRUPT_VECTOR_SLOTS 16 #define RESET_VECTOR 30 #endif -#if !defined(_GNU_ASSEMBLER_) +#if !defined(__ASSEMBLER__) #define Interrupt(x) void __attribute__((interrupt (x))) #define INTERRUPT(x) void __attribute__((interrupt (x))) @@ -74,7 +78,7 @@ #define UNEXPECTED() interrupt (NOVECTOR) _unexpected_(void) -#else /*_GNU_ASSEMBLER_ / assember definitions*/ +#else /*__ASSEMBLER__ / assember definitions*/ /* Double macro trick to achieve that the x gets expanded*/ #define interrupt(x) xinterrupt(x) @@ -82,7 +86,72 @@ /* Direct generation of the labels is impossible, so just replace the dummy ones with the real ones through those defs:*/ -#if INTERRUPT_VECTOR_SLOTS == 32 +#if INTERRUPT_VECTOR_SLOTS == 64 +#define vector_0 vector_ff80 +#define vector_2 vector_ff82 +#define vector_4 vector_ff84 +#define vector_6 vector_ff86 +#define vector_8 vector_ff88 +#define vector_10 vector_ff8a +#define vector_12 vector_ff8c +#define vector_14 vector_ff8e +#define vector_16 vector_ff90 +#define vector_18 vector_ff92 +#define vector_20 vector_ff94 +#define vector_22 vector_ff96 +#define vector_24 vector_ff98 +#define vector_26 vector_ff9a +#define vector_28 vector_ff9c +#define vector_30 vector_ff9e +#define vector_32 vector_ffa0 +#define vector_34 vector_ffa2 +#define vector_36 vector_ffa4 +#define vector_38 vector_ffa6 +#define vector_40 vector_ffa8 +#define vector_42 vector_ffaa +#define vector_44 vector_ffac +#define vector_46 vector_ffae +#define vector_48 vector_ffb0 +#define vector_50 vector_ffb2 +#define vector_52 vector_ffb4 +#define vector_54 vector_ffb6 +#define vector_56 vector_ffb8 +#define vector_58 vector_ffba +#define vector_60 vector_ffbc +#define vector_62 vector_ffbe +#define vector_64 vector_ffc0 +#define vector_66 vector_ffc2 +#define vector_68 vector_ffc4 +#define vector_70 vector_ffc6 +#define vector_72 vector_ffc8 +#define vector_74 vector_ffca +#define vector_76 vector_ffcc +#define vector_78 vector_ffce +#define vector_80 vector_ffd0 +#define vector_82 vector_ffd2 +#define vector_84 vector_ffd4 +#define vector_86 vector_ffd6 +#define vector_88 vector_ffd8 +#define vector_90 vector_ffda +#define vector_92 vector_ffdc +#define vector_94 vector_ffde +#define vector_96 vector_ffe0 +#define vector_98 vector_ffe2 +#define vector_100 vector_ffe4 +#define vector_102 vector_ffe6 +#define vector_104 vector_ffe8 +#define vector_106 vector_ffea +#define vector_108 vector_ffec +#define vector_110 vector_ffee +#define vector_112 vector_fff0 +#define vector_114 vector_fff2 +#define vector_116 vector_fff4 +#define vector_118 vector_fff6 +#define vector_120 vector_fff8 +#define vector_122 vector_fffa +#define vector_124 vector_fffc +#define vector_126 vector_fffe +#elif INTERRUPT_VECTOR_SLOTS == 32 #define vector_0 vector_ffc0 #define vector_2 vector_ffc2 #define vector_4 vector_ffc4 @@ -134,6 +203,6 @@ #define vector_30 vector_fffe #endif -#endif /*_GNU_ASSEMBLER_*/ +#endif /*__ASSEMBLER__*/ #endif