|
Contiki-NG
|
33#ifdef __IAR_SYSTEMS_ICC__
34#include <intrinsics.h>
37#define dint() __disable_interrupt()
38#define eint() __enable_interrupt()
44#if defined(__GNUC__) && (__GNUC__ >= 9)
46#define nop() _no_operation()
47#define eint() __eint()
48#define dint() __dint()
49#elif defined(__MSPGCC__)
51#include <legacymsp430.h>
55#if !defined(MSP430_MEMCPY_WORKAROUND) && (__GNUC__ < 4)
56#define MSP430_MEMCPY_WORKAROUND 1
60#define CC_CONF_INLINE inline
65#define INT_MASTER_CONF_STATUS_DATATYPE __istate_t
75typedef uint16_t u16_t;
76typedef uint32_t u32_t;
80typedef unsigned short uip_stats_t;
81typedef unsigned long clock_time_t;
85#define CLOCK_CONF_SECOND 128UL
88#define RTIMER_CONF_CLOCK_SIZE 2
93#define splhigh() splhigh_()
94#ifdef __IAR_SYSTEMS_ICC__
95#define splx(sr) __bis_SR_register(sr)
97#define splx(sr) __asm__ __volatile__("bis %0, r2" : : "r" (sr))
101#if defined(__MSP430__) && defined(__GNUC__) && MSP430_MEMCPY_WORKAROUND
105void *w_memcpy(
void *out,
const void *in,
size_t n);
106#define memcpy(dest, src, count) w_memcpy(dest, src, count)
108void *w_memset(
void *out,
int value,
size_t n);
109#define memset(dest, value, count) w_memset(dest, value, count)
114#define memory_barrier() asm volatile("" : : : "memory")
116#define MSP430_REQUIRE_CPUON 0
117#define MSP430_REQUIRE_LPM1 1
118#define MSP430_REQUIRE_LPM2 2
119#define MSP430_REQUIRE_LPM3 3
122#define UIP_ARCH_IPCHKSUM 1
124#define BAUD2UBR(baud) ((F_CPU/baud))
126void msp430_add_lpm_req(
int req);
127void msp430_remove_lpm_req(
int req);
128void msp430_cpu_init(
void);
129void msp430_sync_dco(
void);
130#define cpu_init() msp430_cpu_init()