Further Cortex-M3 core related macros.
[bertos.git] / bertos / cpu / types.h
index bb4aa79f2092982c9b414c865413462d7b5bea9f..3e56a360f08da48b56296c0d6ee853b79de09aa6 100644 (file)
                #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
-       #define SIZEOF_CPUALIGNED_T 8
+
+       #if CPU_ARM
+               typedef uint64_t cpu_aligned_stack_t;
+               #define SIZEOF_CPUALIGNED_T 8
+       #elif CPU_CM3
+               typedef uint32_t cpu_aligned_stack_t;
+               #define SIZEOF_CPUALIGNED_T 4
+       #else
+               #error CPU configuration error
+       #endif
 
 #elif CPU_PPC