X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Fcpu%2Ftypes.h;h=cbef8c4126f38916d0d8e158ff36b2d9b34fced2;hb=ec3166808afafa4cdae2f542253cd0a530e6ee79;hp=252d77a9796764ce929bbcb46dd6b09d67b3f1a1;hpb=c98d648bb4da97fbb3e0249f7901bb2f04b9baf1;p=bertos.git diff --git a/bertos/cpu/types.h b/bertos/cpu/types.h index 252d77a9..cbef8c41 100644 --- a/bertos/cpu/types.h +++ b/bertos/cpu/types.h @@ -77,13 +77,14 @@ #define SIZEOF_CPUALIGNED_T SIZEOF_CPUSTACK_T #endif -#elif CPU_ARM +#elif CPU_ARM || CPU_CM3 typedef uint32_t cpu_flags_t; typedef uint32_t cpu_atomic_t; typedef uint32_t cpu_stack_t; - typedef uint64_t cpu_aligned_stack_t; #define SIZEOF_CPUSTACK_T 4 + + typedef uint64_t cpu_aligned_stack_t; #define SIZEOF_CPUALIGNED_T 8 #elif CPU_PPC @@ -207,6 +208,11 @@ /*\}*/ +#ifndef INT_MAX + #define INT_MAX ((int)((unsigned int)~0 >> 1)) + #define INT_MIN (-INT_MAX - 1) +#endif + /* Sanity checks for the above definitions */ STATIC_ASSERT(sizeof(char) == SIZEOF_CHAR); STATIC_ASSERT(sizeof(short) == SIZEOF_SHORT); @@ -227,4 +233,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 */