X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Fcpu%2Ftypes.h;h=ebd341718c9efdc876f8cc67b4ca4d5e654941e9;hb=8f98ebb808578ccfef32b52dae753510e284fc9d;hp=d7e3e8bde0b2c08cb51951b4f5ec6282cf80210f;hpb=5ed6382942018d3bdb9d41de291ff5c3094ed5b5;p=bertos.git diff --git a/bertos/cpu/types.h b/bertos/cpu/types.h index d7e3e8bd..ebd34171 100644 --- a/bertos/cpu/types.h +++ b/bertos/cpu/types.h @@ -120,6 +120,14 @@ #define SIZEOF_CPUSTACK_T 1 #define SIZEOF_CPUALIGNED_T SIZEOF_CPUSTACK_T +#elif CPU_MSP430 + + typedef uint16_t cpu_flags_t; + typedef uint16_t cpu_stack_t; + typedef cpu_stack_t cpu_aligned_stack_t; + #define SIZEOF_CPUSTACK_T 2 + #define SIZEOF_CPUALIGNED_T SIZEOF_CPUSTACK_T + #else #error No CPU_... defined. #endif @@ -233,4 +241,14 @@ STATIC_ASSERT(sizeof(cpu_stack_t) == SIZEOF_CPUSTACK_T); STATIC_ASSERT(sizeof(cpu_aligned_stack_t) == SIZEOF_CPUALIGNED_T); STATIC_ASSERT(sizeof(size_t) == SIZEOF_SIZE_T); + +/** + * Macros for hardware access, both direct and via the bit-band region. + */ +/*\{*/ +#define HWREG(x) (*((reg32_t *)(x))) +#define HWREGH(x) (*((reg16_t *)(x))) +#define HWREGB(x) (*((reg8_t *)(x))) +/*\}*/ + #endif /* CPU_TYPES_H */