| /*----------------------------------------------------------------------------*/ |
| /* in430.h - Intrinsic function prototypes and convenience mapping */ |
| /* macros for migrating code from the IAR platform. */ |
| /* */ |
| /* Ver | dd mmm yyyy | Who | Description of changes */ |
| /* =====|=============|======|============================================= */ |
| /* 0.01| 06 Apr 2004 | A.D. | First Prototype */ |
| /* 0.02| 22 Jun 2004 | A.D. | File reformatted */ |
| /* */ |
| /*----------------------------------------------------------------------------*/ |
| |
| #ifndef __IN430_H |
| #define __IN430_H |
| |
| /*----------------------------------------------------------------------------*/ |
| /* COMPILER INTRINSIC FUNCTIONS */ |
| /*----------------------------------------------------------------------------*/ |
| |
| void _enable_interrupts(void); |
| void _disable_interrupts(void); |
| unsigned short _bic_SR_register(unsigned short mask); |
| unsigned short _bic_SR_register_on_exit(unsigned short mask); |
| unsigned short _bis_SR_register(unsigned short mask); |
| unsigned short _bis_SR_register_on_exit(unsigned short mask); |
| unsigned short _get_SR_register(void); |
| unsigned short _get_SR_register_on_exit(void); |
| unsigned short _swap_bytes(unsigned short src); |
| void _nop(void); |
| void _never_executed(void); |
| |
| /*----------------------------------------------------------------------------*/ |
| /* INTRINSIC MAPPING FOR IAR V1.XX */ |
| /*----------------------------------------------------------------------------*/ |
| |
| #define _EINT() _enable_interrupts() |
| #define _DINT() _disable_interrupts() |
| #define _BIC_SR(x) _bic_SR_register(x) |
| #define _BIC_SR_IRQ(x) _bic_SR_register_on_exit(x) |
| #define _BIS_SR(x) _bis_SR_register(x) |
| #define _BIS_SR_IRQ(x) _bis_SR_register_on_exit(x) |
| #define _SWAP_BYTES(x) _swap_bytes(x) |
| #define _NOP() _nop() |
| |
| /*----------------------------------------------------------------------------*/ |
| /* INTRINSIC MAPPING FOR IAR V2.XX/V3.XX */ |
| /*----------------------------------------------------------------------------*/ |
| |
| #define __enable_interrupt() _enable_interrupts() |
| #define __disable_interrupt() _disable_interrupts() |
| #define __bic_SR_register(x) _bic_SR_register(x) |
| #define __bic_SR_register_on_exit(x) _bic_SR_register_on_exit(x) |
| #define __bis_SR_register(x) _bis_SR_register(x) |
| #define __bis_SR_register_on_exit(x) _bis_SR_register_on_exit(x) |
| #define __get_SR_register() _get_SR_register() |
| #define __get_SR_register_on_exit() _get_SR_register_on_exit() |
| #define __swap_bytes(x) _swap_bytes(x) |
| #define __no_operation() _nop() |
| |
| #endif /* __IN430_H */ |