Added macro __ALIGNED(x) to core_cm*.h files.
diff --git a/CMSIS/Core/Include/core_armv8mbl.h b/CMSIS/Core/Include/core_armv8mbl.h
index 85e4cd2..65729a0 100644
--- a/CMSIS/Core/Include/core_armv8mbl.h
+++ b/CMSIS/Core/Include/core_armv8mbl.h
@@ -2,7 +2,7 @@
* @file core_armv8mbl.h
* @brief CMSIS ARMv8MBL Core Peripheral Access Layer Header File
* @version V5.00
- * @date 24. June 2016
+ * @date 29. June 2016
******************************************************************************/
/*
* Copyright (c) 2009-2016 ARM Limited. All rights reserved.
@@ -76,6 +76,7 @@
- #define __USED function or variable that is not optimized away
- #define __WEAK weak function or variable
- #define __UNALIGNED_UINT32 pointer to unaligned uint32_t variable
+ - #define __ALIGNED(x) compiler keyword to align a variable
*/
#if defined ( __CC_ARM ) /* ARM Compiler 4/5 */
#define __ASM __asm
@@ -85,6 +86,7 @@
#define __USED __attribute__((used))
#define __WEAK __attribute__((weak))
#define __UNALIGNED_UINT32(x) (*((__packed uint32_t *)(x)))
+ #define __ALIGNED(x) __attribute__((aligned(x)))
#elif defined (__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) /* ARM Compiler 6 */
#define __ASM __asm
@@ -98,6 +100,7 @@
struct __attribute__((packed)) T_UINT32 { uint32_t v; };
#pragma clang diagnostic pop
#define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
+ #define __ALIGNED(x) __attribute__((aligned(x)))
#elif defined ( __GNUC__ ) /* GNU Compiler */
#define __ASM __asm
@@ -108,6 +111,7 @@
#define __WEAK __attribute__((weak))
struct __attribute__((packed)) T_UINT32 { uint32_t v; };
#define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
+ #define __ALIGNED(x) __attribute__((aligned(x)))
#elif defined ( __ICCARM__ ) /* IAR Compiler */
#define __ASM __asm
@@ -118,6 +122,7 @@
#define __WEAK __weak
struct __packed T_UINT32 { uint32_t v; };
#define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
+ #define __ALIGNED(x)
#elif defined ( __TI_ARM__ ) /* TI ARM Compiler */
#define __ASM __asm
@@ -128,6 +133,7 @@
#define __WEAK __attribute__((weak))
struct __attribute__((packed)) T_UINT32 { uint32_t v; };
#define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
+ #define __ALIGNED(x)
#elif defined ( __TASKING__ ) /* TASKING Compiler */
#define __ASM __asm
@@ -138,6 +144,7 @@
#define __WEAK __attribute__((weak))
struct __packed__ T_UINT32 { uint32_t v; };
#define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
+ #define __ALIGNED(x) __align(x)
#elif defined ( __CSMC__ ) /* COSMIC Compiler */
#define __packed
@@ -148,6 +155,7 @@
#define __USED
#define __WEAK
#define __UNALIGNED_UINT32(x) (*x)
+ #define __ALIGNED(x)
#else
#error Unknown compiler
diff --git a/CMSIS/Core/Include/core_armv8mml.h b/CMSIS/Core/Include/core_armv8mml.h
index bed3339..58695ef 100644
--- a/CMSIS/Core/Include/core_armv8mml.h
+++ b/CMSIS/Core/Include/core_armv8mml.h
@@ -2,7 +2,7 @@
* @file core_armv8mml.h
* @brief CMSIS ARMv8MML Core Peripheral Access Layer Header File
* @version V5.00
- * @date 24. June 2016
+ * @date 29. June 2016
******************************************************************************/
/*
* Copyright (c) 2009-2016 ARM Limited. All rights reserved.
@@ -76,6 +76,7 @@
- #define __USED function or variable that is not optimized away
- #define __WEAK weak function or variable
- #define __UNALIGNED_UINT32 pointer to unaligned uint32_t variable
+ - #define __ALIGNED(x) compiler keyword to align a variable
*/
#if defined ( __CC_ARM ) /* ARM Compiler 4/5 */
#define __ASM __asm
@@ -85,6 +86,7 @@
#define __USED __attribute__((used))
#define __WEAK __attribute__((weak))
#define __UNALIGNED_UINT32(x) (*((__packed uint32_t *)(x)))
+ #define __ALIGNED(x) __attribute__((aligned(x)))
#elif defined (__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) /* ARM Compiler 6 */
#define __ASM __asm
@@ -98,6 +100,7 @@
struct __attribute__((packed)) T_UINT32 { uint32_t v; };
#pragma clang diagnostic pop
#define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
+ #define __ALIGNED(x) __attribute__((aligned(x)))
#elif defined ( __GNUC__ ) /* GNU Compiler */
#define __ASM __asm
@@ -108,6 +111,7 @@
#define __WEAK __attribute__((weak))
struct __attribute__((packed)) T_UINT32 { uint32_t v; };
#define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
+ #define __ALIGNED(x) __attribute__((aligned(x)))
#elif defined ( __ICCARM__ ) /* IAR Compiler */
#define __ASM __asm
@@ -118,6 +122,7 @@
#define __WEAK __weak
struct __packed T_UINT32 { uint32_t v; };
#define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
+ #define __ALIGNED(x)
#elif defined ( __TI_ARM__ ) /* TI ARM Compiler */
#define __ASM __asm
@@ -128,6 +133,7 @@
#define __WEAK __attribute__((weak))
struct __attribute__((packed)) T_UINT32 { uint32_t v; };
#define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
+ #define __ALIGNED(x)
#elif defined ( __TASKING__ ) /* TASKING Compiler */
#define __ASM __asm
@@ -138,6 +144,7 @@
#define __WEAK __attribute__((weak))
struct __packed__ T_UINT32 { uint32_t v; };
#define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
+ #define __ALIGNED(x) __align(x)
#elif defined ( __CSMC__ ) /* COSMIC Compiler */
#define __packed
@@ -148,6 +155,7 @@
#define __USED
#define __WEAK
#define __UNALIGNED_UINT32(x) (*x)
+ #define __ALIGNED(x)
#else
#error Unknown compiler
diff --git a/CMSIS/Core/Include/core_cm0.h b/CMSIS/Core/Include/core_cm0.h
index 3877830..577916e 100644
--- a/CMSIS/Core/Include/core_cm0.h
+++ b/CMSIS/Core/Include/core_cm0.h
@@ -2,7 +2,7 @@
* @file core_cm0.h
* @brief CMSIS Cortex-M0 Core Peripheral Access Layer Header File
* @version V5.00
- * @date 24. June 2016
+ * @date 29. June 2016
******************************************************************************/
/*
* Copyright (c) 2009-2016 ARM Limited. All rights reserved.
@@ -76,6 +76,7 @@
- #define __USED function or variable that is not optimized away
- #define __WEAK weak function or variable
- #define __UNALIGNED_UINT32 pointer to unaligned uint32_t variable
+ - #define __ALIGNED(x) compiler keyword to align a variable
*/
#if defined ( __CC_ARM ) /* ARM Compiler 4/5 */
#define __ASM __asm
@@ -85,6 +86,7 @@
#define __USED __attribute__((used))
#define __WEAK __attribute__((weak))
#define __UNALIGNED_UINT32(x) (*((__packed uint32_t *)(x)))
+ #define __ALIGNED(x) __attribute__((aligned(x)))
#elif defined (__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) /* ARM Compiler 6 */
#define __ASM __asm
@@ -98,6 +100,7 @@
struct __attribute__((packed)) T_UINT32 { uint32_t v; };
#pragma clang diagnostic pop
#define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
+ #define __ALIGNED(x) __attribute__((aligned(x)))
#elif defined ( __GNUC__ ) /* GNU Compiler */
#define __ASM __asm
@@ -108,6 +111,7 @@
#define __WEAK __attribute__((weak))
struct __attribute__((packed)) T_UINT32 { uint32_t v; };
#define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
+ #define __ALIGNED(x) __attribute__((aligned(x)))
#elif defined ( __ICCARM__ ) /* IAR Compiler */
#define __ASM __asm
@@ -118,6 +122,7 @@
#define __WEAK __weak
struct __packed T_UINT32 { uint32_t v; };
#define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
+ #define __ALIGNED(x)
#elif defined ( __TI_ARM__ ) /* TI ARM Compiler */
#define __ASM __asm
@@ -128,6 +133,7 @@
#define __WEAK __attribute__((weak))
struct __attribute__((packed)) T_UINT32 { uint32_t v; };
#define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
+ #define __ALIGNED(x)
#elif defined ( __TASKING__ ) /* TASKING Compiler */
#define __ASM __asm
@@ -138,6 +144,7 @@
#define __WEAK __attribute__((weak))
struct __packed__ T_UINT32 { uint32_t v; };
#define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
+ #define __ALIGNED(x) __align(x)
#elif defined ( __CSMC__ ) /* COSMIC Compiler */
#define __packed
@@ -148,6 +155,7 @@
#define __USED
#define __WEAK
#define __UNALIGNED_UINT32(x) (*x)
+ #define __ALIGNED(x)
#else
#error Unknown compiler
diff --git a/CMSIS/Core/Include/core_cm0plus.h b/CMSIS/Core/Include/core_cm0plus.h
index 9e21cf5..868ce31 100644
--- a/CMSIS/Core/Include/core_cm0plus.h
+++ b/CMSIS/Core/Include/core_cm0plus.h
@@ -2,7 +2,7 @@
* @file core_cm0plus.h
* @brief CMSIS Cortex-M0+ Core Peripheral Access Layer Header File
* @version V5.00
- * @date 24. June 2016
+ * @date 29. June 2016
******************************************************************************/
/*
* Copyright (c) 2009-2016 ARM Limited. All rights reserved.
@@ -76,6 +76,7 @@
- #define __USED function or variable that is not optimized away
- #define __WEAK weak function or variable
- #define __UNALIGNED_UINT32 pointer to unaligned uint32_t variable
+ - #define __ALIGNED(x) compiler keyword to align a variable
*/
#if defined ( __CC_ARM ) /* ARM Compiler 4/5 */
#define __ASM __asm
@@ -85,6 +86,7 @@
#define __USED __attribute__((used))
#define __WEAK __attribute__((weak))
#define __UNALIGNED_UINT32(x) (*((__packed uint32_t *)(x)))
+ #define __ALIGNED(x) __attribute__((aligned(x)))
#elif defined (__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) /* ARM Compiler 6 */
#define __ASM __asm
@@ -98,6 +100,7 @@
struct __attribute__((packed)) T_UINT32 { uint32_t v; };
#pragma clang diagnostic pop
#define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
+ #define __ALIGNED(x) __attribute__((aligned(x)))
#elif defined ( __GNUC__ ) /* GNU Compiler */
#define __ASM __asm
@@ -108,6 +111,7 @@
#define __WEAK __attribute__((weak))
struct __attribute__((packed)) T_UINT32 { uint32_t v; };
#define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
+ #define __ALIGNED(x) __attribute__((aligned(x)))
#elif defined ( __ICCARM__ ) /* IAR Compiler */
#define __ASM __asm
@@ -118,6 +122,7 @@
#define __WEAK __weak
struct __packed T_UINT32 { uint32_t v; };
#define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
+ #define __ALIGNED(x)
#elif defined ( __TI_ARM__ ) /* TI ARM Compiler */
#define __ASM __asm
@@ -128,6 +133,7 @@
#define __WEAK __attribute__((weak))
struct __attribute__((packed)) T_UINT32 { uint32_t v; };
#define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
+ #define __ALIGNED(x)
#elif defined ( __TASKING__ ) /* TASKING Compiler */
#define __ASM __asm
@@ -138,6 +144,7 @@
#define __WEAK __attribute__((weak))
struct __packed__ T_UINT32 { uint32_t v; };
#define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
+ #define __ALIGNED(x) __align(x)
#elif defined ( __CSMC__ ) /* COSMIC Compiler */
#define __packed
@@ -148,6 +155,7 @@
#define __USED
#define __WEAK
#define __UNALIGNED_UINT32(x) (*x)
+ #define __ALIGNED(x)
#else
#error Unknown compiler
diff --git a/CMSIS/Core/Include/core_cm3.h b/CMSIS/Core/Include/core_cm3.h
index b3da365..41009cb 100644
--- a/CMSIS/Core/Include/core_cm3.h
+++ b/CMSIS/Core/Include/core_cm3.h
@@ -2,7 +2,7 @@
* @file core_cm3.h
* @brief CMSIS Cortex-M3 Core Peripheral Access Layer Header File
* @version V5.00
- * @date 24. June 2016
+ * @date 29. June 2016
******************************************************************************/
/*
* Copyright (c) 2009-2016 ARM Limited. All rights reserved.
@@ -76,6 +76,7 @@
- #define __USED function or variable that is not optimized away
- #define __WEAK weak function or variable
- #define __UNALIGNED_UINT32 pointer to unaligned uint32_t variable
+ - #define __ALIGNED(x) compiler keyword to align a variable
*/
#if defined ( __CC_ARM ) /* ARM Compiler 4/5 */
#define __ASM __asm
@@ -85,6 +86,7 @@
#define __USED __attribute__((used))
#define __WEAK __attribute__((weak))
#define __UNALIGNED_UINT32(x) (*((__packed uint32_t *)(x)))
+ #define __ALIGNED(x) __attribute__((aligned(x)))
#elif defined (__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) /* ARM Compiler 6 */
#define __ASM __asm
@@ -98,6 +100,7 @@
struct __attribute__((packed)) T_UINT32 { uint32_t v; };
#pragma clang diagnostic pop
#define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
+ #define __ALIGNED(x) __attribute__((aligned(x)))
#elif defined ( __GNUC__ ) /* GNU Compiler */
#define __ASM __asm
@@ -108,6 +111,7 @@
#define __WEAK __attribute__((weak))
struct __attribute__((packed)) T_UINT32 { uint32_t v; };
#define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
+ #define __ALIGNED(x) __attribute__((aligned(x)))
#elif defined ( __ICCARM__ ) /* IAR Compiler */
#define __ASM __asm
@@ -118,6 +122,7 @@
#define __WEAK __weak
struct __packed T_UINT32 { uint32_t v; };
#define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
+ #define __ALIGNED(x)
#elif defined ( __TI_ARM__ ) /* TI ARM Compiler */
#define __ASM __asm
@@ -128,6 +133,7 @@
#define __WEAK __attribute__((weak))
struct __attribute__((packed)) T_UINT32 { uint32_t v; };
#define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
+ #define __ALIGNED(x)
#elif defined ( __TASKING__ ) /* TASKING Compiler */
#define __ASM __asm
@@ -138,6 +144,7 @@
#define __WEAK __attribute__((weak))
struct __packed__ T_UINT32 { uint32_t v; };
#define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
+ #define __ALIGNED(x) __align(x)
#elif defined ( __CSMC__ ) /* COSMIC Compiler */
#define __packed
@@ -148,6 +155,7 @@
#define __USED
#define __WEAK
#define __UNALIGNED_UINT32(x) (*x)
+ #define __ALIGNED(x)
#else
#error Unknown compiler
diff --git a/CMSIS/Core/Include/core_cm4.h b/CMSIS/Core/Include/core_cm4.h
index f11cb51..6660707 100644
--- a/CMSIS/Core/Include/core_cm4.h
+++ b/CMSIS/Core/Include/core_cm4.h
@@ -2,7 +2,7 @@
* @file core_cm4.h
* @brief CMSIS Cortex-M4 Core Peripheral Access Layer Header File
* @version V5.00
- * @date 24. June 2016
+ * @date 29. June 2016
******************************************************************************/
/*
* Copyright (c) 2009-2016 ARM Limited. All rights reserved.
@@ -76,6 +76,7 @@
- #define __USED function or variable that is not optimized away
- #define __WEAK weak function or variable
- #define __UNALIGNED_UINT32 pointer to unaligned uint32_t variable
+ - #define __ALIGNED(x) compiler keyword to align a variable
*/
#if defined ( __CC_ARM ) /* ARM Compiler 4/5 */
#define __ASM __asm
@@ -85,6 +86,7 @@
#define __USED __attribute__((used))
#define __WEAK __attribute__((weak))
#define __UNALIGNED_UINT32(x) (*((__packed uint32_t *)(x)))
+ #define __ALIGNED(x) __attribute__((aligned(x)))
#elif defined (__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) /* ARM Compiler 6 */
#define __ASM __asm
@@ -98,6 +100,7 @@
struct __attribute__((packed)) T_UINT32 { uint32_t v; };
#pragma clang diagnostic pop
#define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
+ #define __ALIGNED(x) __attribute__((aligned(x)))
#elif defined ( __GNUC__ ) /* GNU Compiler */
#define __ASM __asm
@@ -108,6 +111,7 @@
#define __WEAK __attribute__((weak))
struct __attribute__((packed)) T_UINT32 { uint32_t v; };
#define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
+ #define __ALIGNED(x) __attribute__((aligned(x)))
#elif defined ( __ICCARM__ ) /* IAR Compiler */
#define __ASM __asm
@@ -118,6 +122,7 @@
#define __WEAK __weak
struct __packed T_UINT32 { uint32_t v; };
#define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
+ #define __ALIGNED(x)
#elif defined ( __TI_ARM__ ) /* TI ARM Compiler */
#define __ASM __asm
@@ -128,6 +133,7 @@
#define __WEAK __attribute__((weak))
struct __attribute__((packed)) T_UINT32 { uint32_t v; };
#define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
+ #define __ALIGNED(x)
#elif defined ( __TASKING__ ) /* TASKING Compiler */
#define __ASM __asm
@@ -138,6 +144,7 @@
#define __WEAK __attribute__((weak))
struct __packed__ T_UINT32 { uint32_t v; };
#define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
+ #define __ALIGNED(x) __align(x)
#elif defined ( __CSMC__ ) /* COSMIC Compiler */
#define __packed
@@ -148,6 +155,7 @@
#define __USED
#define __WEAK
#define __UNALIGNED_UINT32(x) (*x)
+ #define __ALIGNED(x)
#else
#error Unknown compiler
diff --git a/CMSIS/Core/Include/core_cm7.h b/CMSIS/Core/Include/core_cm7.h
index 259ed11..3b69921 100644
--- a/CMSIS/Core/Include/core_cm7.h
+++ b/CMSIS/Core/Include/core_cm7.h
@@ -2,7 +2,7 @@
* @file core_cm7.h
* @brief CMSIS Cortex-M7 Core Peripheral Access Layer Header File
* @version V5.00
- * @date 28. June 2016
+ * @date 29. June 2016
******************************************************************************/
/*
* Copyright (c) 2009-2016 ARM Limited. All rights reserved.
@@ -76,6 +76,7 @@
- #define __USED function or variable that is not optimized away
- #define __WEAK weak function or variable
- #define __UNALIGNED_UINT32 pointer to unaligned uint32_t variable
+ - #define __ALIGNED(x) compiler keyword to align a variable
*/
#if defined ( __CC_ARM ) /* ARM Compiler 4/5 */
#define __ASM __asm
@@ -85,6 +86,7 @@
#define __USED __attribute__((used))
#define __WEAK __attribute__((weak))
#define __UNALIGNED_UINT32(x) (*((__packed uint32_t *)(x)))
+ #define __ALIGNED(x) __attribute__((aligned(x)))
#elif defined (__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) /* ARM Compiler 6 */
#define __ASM __asm
@@ -98,6 +100,7 @@
struct __attribute__((packed)) T_UINT32 { uint32_t v; };
#pragma clang diagnostic pop
#define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
+ #define __ALIGNED(x) __attribute__((aligned(x)))
#elif defined ( __GNUC__ ) /* GNU Compiler */
#define __ASM __asm
@@ -108,6 +111,7 @@
#define __WEAK __attribute__((weak))
struct __attribute__((packed)) T_UINT32 { uint32_t v; };
#define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
+ #define __ALIGNED(x) __attribute__((aligned(x)))
#elif defined ( __ICCARM__ ) /* IAR Compiler */
#define __ASM __asm
@@ -118,6 +122,7 @@
#define __WEAK __weak
struct __packed T_UINT32 { uint32_t v; };
#define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
+ #define __ALIGNED(x)
#elif defined ( __TI_ARM__ ) /* TI ARM Compiler */
#define __ASM __asm
@@ -128,6 +133,7 @@
#define __WEAK __attribute__((weak))
struct __attribute__((packed)) T_UINT32 { uint32_t v; };
#define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
+ #define __ALIGNED(x)
#elif defined ( __TASKING__ ) /* TASKING Compiler */
#define __ASM __asm
@@ -138,6 +144,7 @@
#define __WEAK __attribute__((weak))
struct __packed__ T_UINT32 { uint32_t v; };
#define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
+ #define __ALIGNED(x) __align(x)
#elif defined ( __CSMC__ ) /* COSMIC Compiler */
#define __packed
@@ -148,6 +155,7 @@
#define __USED
#define __WEAK
#define __UNALIGNED_UINT32(x) (*x)
+ #define __ALIGNED(x)
#else
#error Unknown compiler
diff --git a/CMSIS/Core/Include/core_sc000.h b/CMSIS/Core/Include/core_sc000.h
index c3e8183..bb9f3cf 100644
--- a/CMSIS/Core/Include/core_sc000.h
+++ b/CMSIS/Core/Include/core_sc000.h
@@ -2,7 +2,7 @@
* @file core_sc000.h
* @brief CMSIS SC000 Core Peripheral Access Layer Header File
* @version V5.00
- * @date 24. June 2016
+ * @date 29. June 2016
******************************************************************************/
/*
* Copyright (c) 2009-2016 ARM Limited. All rights reserved.
@@ -76,6 +76,7 @@
- #define __USED function or variable that is not optimized away
- #define __WEAK weak function or variable
- #define __UNALIGNED_UINT32 pointer to unaligned uint32_t variable
+ - #define __ALIGNED(x) compiler keyword to align a variable
*/
#if defined ( __CC_ARM ) /* ARM Compiler 4/5 */
#define __ASM __asm
@@ -85,6 +86,7 @@
#define __USED __attribute__((used))
#define __WEAK __attribute__((weak))
#define __UNALIGNED_UINT32(x) (*((__packed uint32_t *)(x)))
+ #define __ALIGNED(x) __attribute__((aligned(x)))
#elif defined (__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) /* ARM Compiler 6 */
#define __ASM __asm
@@ -98,6 +100,7 @@
struct __attribute__((packed)) T_UINT32 { uint32_t v; };
#pragma clang diagnostic pop
#define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
+ #define __ALIGNED(x) __attribute__((aligned(x)))
#elif defined ( __GNUC__ ) /* GNU Compiler */
#define __ASM __asm
@@ -108,6 +111,7 @@
#define __WEAK __attribute__((weak))
struct __attribute__((packed)) T_UINT32 { uint32_t v; };
#define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
+ #define __ALIGNED(x) __attribute__((aligned(x)))
#elif defined ( __ICCARM__ ) /* IAR Compiler */
#define __ASM __asm
@@ -118,6 +122,7 @@
#define __WEAK __weak
struct __packed T_UINT32 { uint32_t v; };
#define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
+ #define __ALIGNED(x)
#elif defined ( __TI_ARM__ ) /* TI ARM Compiler */
#define __ASM __asm
@@ -128,6 +133,7 @@
#define __WEAK __attribute__((weak))
struct __attribute__((packed)) T_UINT32 { uint32_t v; };
#define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
+ #define __ALIGNED(x)
#elif defined ( __TASKING__ ) /* TASKING Compiler */
#define __ASM __asm
@@ -138,6 +144,7 @@
#define __WEAK __attribute__((weak))
struct __packed__ T_UINT32 { uint32_t v; };
#define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
+ #define __ALIGNED(x) __align(x)
#elif defined ( __CSMC__ ) /* COSMIC Compiler */
#define __packed
@@ -148,6 +155,7 @@
#define __USED
#define __WEAK
#define __UNALIGNED_UINT32(x) (*x)
+ #define __ALIGNED(x)
#else
#error Unknown compiler
diff --git a/CMSIS/Core/Include/core_sc300.h b/CMSIS/Core/Include/core_sc300.h
index 5b63f4d..deb2aae 100644
--- a/CMSIS/Core/Include/core_sc300.h
+++ b/CMSIS/Core/Include/core_sc300.h
@@ -2,7 +2,7 @@
* @file core_sc300.h
* @brief CMSIS SC300 Core Peripheral Access Layer Header File
* @version V5.00
- * @date 24. June 2016
+ * @date 29. June 2016
******************************************************************************/
/*
* Copyright (c) 2009-2016 ARM Limited. All rights reserved.
@@ -76,6 +76,7 @@
- #define __USED function or variable that is not optimized away
- #define __WEAK weak function or variable
- #define __UNALIGNED_UINT32 pointer to unaligned uint32_t variable
+ - #define __ALIGNED(x) compiler keyword to align a variable
*/
#if defined ( __CC_ARM ) /* ARM Compiler 4/5 */
#define __ASM __asm
@@ -85,6 +86,7 @@
#define __USED __attribute__((used))
#define __WEAK __attribute__((weak))
#define __UNALIGNED_UINT32(x) (*((__packed uint32_t *)(x)))
+ #define __ALIGNED(x) __attribute__((aligned(x)))
#elif defined (__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) /* ARM Compiler 6 */
#define __ASM __asm
@@ -98,6 +100,7 @@
struct __attribute__((packed)) T_UINT32 { uint32_t v; };
#pragma clang diagnostic pop
#define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
+ #define __ALIGNED(x) __attribute__((aligned(x)))
#elif defined ( __GNUC__ ) /* GNU Compiler */
#define __ASM __asm
@@ -108,6 +111,7 @@
#define __WEAK __attribute__((weak))
struct __attribute__((packed)) T_UINT32 { uint32_t v; };
#define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
+ #define __ALIGNED(x) __attribute__((aligned(x)))
#elif defined ( __ICCARM__ ) /* IAR Compiler */
#define __ASM __asm
@@ -118,6 +122,7 @@
#define __WEAK __weak
struct __packed T_UINT32 { uint32_t v; };
#define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
+ #define __ALIGNED(x)
#elif defined ( __TI_ARM__ ) /* TI ARM Compiler */
#define __ASM __asm
@@ -128,6 +133,7 @@
#define __WEAK __attribute__((weak))
struct __attribute__((packed)) T_UINT32 { uint32_t v; };
#define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
+ #define __ALIGNED(x)
#elif defined ( __TASKING__ ) /* TASKING Compiler */
#define __ASM __asm
@@ -138,6 +144,7 @@
#define __WEAK __attribute__((weak))
struct __packed__ T_UINT32 { uint32_t v; };
#define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
+ #define __ALIGNED(x) __align(x)
#elif defined ( __CSMC__ ) /* COSMIC Compiler */
#define __packed
@@ -148,6 +155,7 @@
#define __USED
#define __WEAK
#define __UNALIGNED_UINT32(x) (*x)
+ #define __ALIGNED(x)
#else
#error Unknown compiler