Skip to content

CMSIS: update to CMSIS 5.7.0 #12949

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 36 commits into from
May 14, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
6d17a23
importer: fix byte like objects
0xc0170 Apr 14, 2020
7b066eb
importer: fix rtos paths
0xc0170 Apr 14, 2020
74a640f
importer: remove rtos changed files
0xc0170 Apr 14, 2020
48747cd
[CMSIS_5]: Updated to b5f0603d6
0xc0170 Apr 14, 2020
db2ef01
CMSIS/RTX: Patch RTX4 to preserve osThreadDef compatibility
bulislaw Jul 4, 2017
9f1e666
CMSIS/RTX: Reintroduce arm_math.h
bulislaw May 11, 2018
fcaecd5
CMSIS/RTX: Patch to conditionally compile
Mar 28, 2018
80f2475
CMSIS/CORTEX-M: Don't build mbed_tz_context.c in TF-M targets
Jan 3, 2019
08ab8cc
CMSIS/RTX: Allow overwriting mutex ops for ARMC
bulislaw Oct 18, 2017
dd21ea0
CMSIS/RTX: Fix using FALSE/TRUE with preprocesor
bulislaw Apr 30, 2018
9549fff
CMSIS/RTX: Move Idle and Timer thread stack to bss section.
Dec 13, 2018
96e0689
CMSIS/RTX: Pre-processor defines used for assembly
bulislaw Jul 4, 2017
9977458
cmsis importer: add sha for rtx changes after file moved
0xc0170 May 11, 2020
fb4f9e5
[CMSIS_5]: Updated to a65b7c9a3
0xc0170 May 11, 2020
6337007
CMSIS/RTX: Patch RTX4 to preserve osThreadDef compatibility
bulislaw Jul 4, 2017
b631333
CMSIS/RTX: Reintroduce arm_math.h
bulislaw May 11, 2018
856989d
CMSIS/RTX: Patch to conditionally compile
Mar 28, 2018
58af676
CMSIS/CORTEX-M: Don't build mbed_tz_context.c in TF-M targets
Jan 3, 2019
94d9406
CMSIS/RTX: Allow overwriting mutex ops for ARMC
bulislaw Oct 18, 2017
f7dc7e9
CMSIS/RTX: Fix using FALSE/TRUE with preprocesor
bulislaw Apr 30, 2018
30597a6
CMSIS/RTX: Move Idle and Timer thread stack to bss section.
Dec 13, 2018
640e1fd
CMSIS/RTX: Pre-processor defines used for assembly
bulislaw Jul 4, 2017
8859cb0
importer: update readme
0xc0170 May 11, 2020
78b7a05
importer: add a note about cherry pick continue for conflicts
0xc0170 May 11, 2020
864a943
importer: add CMSIS 5 repo link
0xc0170 May 11, 2020
2fae95e
rtos: fix incorrect conflict resolution
0xc0170 May 12, 2020
7149ffe
rtos: do not include RTE_Component header
0xc0170 May 12, 2020
e7e3cc0
tools: update importer sha
0xc0170 May 12, 2020
606ccbc
Use cmsis gcc types instead of own
0xc0170 May 12, 2020
d04b403
MIMXRT1050: undefine vector table symbol from CMSIS (not used)
0xc0170 May 12, 2020
2c8be47
Revert "Use cmsis gcc types instead of own"
0xc0170 May 13, 2020
067630a
Analog devices: overwrite cmsis startup
0xc0170 May 13, 2020
981fcdf
M251: fix startup after cmsis update
0xc0170 May 13, 2020
e2fb52a
M2351: fix startup after cmsis update
0xc0170 May 13, 2020
8b777a5
TARGET_MIMXRT1050: fix vector table redef from cmsis
0xc0170 May 13, 2020
ac3df20
ad4050lz: fix gcc copy table and zero table missing
0xc0170 May 13, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 8 additions & 17 deletions cmsis/TARGET_CORTEX_A/cmsis_armcc.h
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
/**************************************************************************//**
* @file cmsis_armcc.h
* @brief CMSIS compiler specific macros, functions, instructions
* @version V1.0.3
* @date 15. May 2019
* @version V1.0.4
* @date 30. July 2019
******************************************************************************/
/*
* Copyright (c) 2009-2019 Arm Limited. All rights reserved.
Expand Down Expand Up @@ -86,6 +86,9 @@
#ifndef __PACKED
#define __PACKED __attribute__((packed))
#endif
#ifndef __COMPILER_BARRIER
#define __COMPILER_BARRIER() __memory_changed()
#endif

/* ########################## Core Instruction Access ######################### */
/**
Expand All @@ -111,29 +114,17 @@
/**
\brief Instruction Synchronization Barrier
*/
#define __ISB() do {\
__schedule_barrier();\
__isb(0xF);\
__schedule_barrier();\
} while (0U)
#define __ISB() __isb(0xF)

/**
\brief Data Synchronization Barrier
*/
#define __DSB() do {\
__schedule_barrier();\
__dsb(0xF);\
__schedule_barrier();\
} while (0U)
#define __DSB() __dsb(0xF)

/**
\brief Data Memory Barrier
*/
#define __DMB() do {\
__schedule_barrier();\
__dmb(0xF);\
__schedule_barrier();\
} while (0U)
#define __DMB() __dmb(0xF)

/**
\brief Reverse byte order (32 bit)
Expand Down
94 changes: 76 additions & 18 deletions cmsis/TARGET_CORTEX_A/cmsis_armclang.h
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
/**************************************************************************//**
* @file cmsis_armclang.h
* @brief CMSIS compiler specific macros, functions, instructions
* @version V1.1.1
* @date 15. May 2019
* @version V1.2.0
* @date 05. August 2019
******************************************************************************/
/*
* Copyright (c) 2009-2019 Arm Limited. All rights reserved.
Expand Down Expand Up @@ -102,6 +102,9 @@
#ifndef __PACKED
#define __PACKED __attribute__((packed))
#endif
#ifndef __COMPILER_BARRIER
#define __COMPILER_BARRIER() __ASM volatile("":::"memory")
#endif

/* ########################## Core Instruction Access ######################### */
/**
Expand All @@ -127,29 +130,17 @@
/**
\brief Instruction Synchronization Barrier
*/
#define __ISB() do {\
__schedule_barrier();\
__builtin_arm_isb(0xF);\
__schedule_barrier();\
} while (0U)
#define __ISB() __builtin_arm_isb(0xF)

/**
\brief Data Synchronization Barrier
*/
#define __DSB() do {\
__schedule_barrier();\
__builtin_arm_dsb(0xF);\
__schedule_barrier();\
} while (0U)
#define __DSB() __builtin_arm_dsb(0xF)

/**
\brief Data Memory Barrier
*/
#define __DMB() do {\
__schedule_barrier();\
__builtin_arm_dmb(0xF);\
__schedule_barrier();\
} while (0U)
#define __DMB() __builtin_arm_dmb(0xF)

/**
\brief Reverse byte order (32 bit)
Expand Down Expand Up @@ -311,6 +302,73 @@ __STATIC_FORCEINLINE uint8_t __CLZ(uint32_t value)
*/
#define __USAT __builtin_arm_usat

/* ################### Compiler specific Intrinsics ########################### */
/** \defgroup CMSIS_SIMD_intrinsics CMSIS SIMD Intrinsics
Access to dedicated SIMD instructions
@{
*/

#if (defined (__ARM_FEATURE_DSP) && (__ARM_FEATURE_DSP == 1))

#define __SADD8 __builtin_arm_sadd8
#define __SADD16 __builtin_arm_sadd16
#define __QADD8 __builtin_arm_qadd8
#define __QSUB8 __builtin_arm_qsub8
#define __QADD16 __builtin_arm_qadd16
#define __SHADD16 __builtin_arm_shadd16
#define __QSUB16 __builtin_arm_qsub16
#define __SHSUB16 __builtin_arm_shsub16
#define __QASX __builtin_arm_qasx
#define __SHASX __builtin_arm_shasx
#define __QSAX __builtin_arm_qsax
#define __SHSAX __builtin_arm_shsax
#define __SXTB16 __builtin_arm_sxtb16
#define __SMUAD __builtin_arm_smuad
#define __SMUADX __builtin_arm_smuadx
#define __SMLAD __builtin_arm_smlad
#define __SMLADX __builtin_arm_smladx
#define __SMLALD __builtin_arm_smlald
#define __SMLALDX __builtin_arm_smlaldx
#define __SMUSD __builtin_arm_smusd
#define __SMUSDX __builtin_arm_smusdx
#define __SMLSDX __builtin_arm_smlsdx
#define __USAT16 __builtin_arm_usat16
#define __SSUB8 __builtin_arm_ssub8
#define __SXTB16 __builtin_arm_sxtb16
#define __SXTAB16 __builtin_arm_sxtab16


__STATIC_FORCEINLINE int32_t __QADD( int32_t op1, int32_t op2)
{
int32_t result;

__ASM volatile ("qadd %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
return(result);
}

__STATIC_FORCEINLINE int32_t __QSUB( int32_t op1, int32_t op2)
{
int32_t result;

__ASM volatile ("qsub %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
return(result);
}

#define __PKHBT(ARG1,ARG2,ARG3) ( ((((uint32_t)(ARG1)) ) & 0x0000FFFFUL) | \
((((uint32_t)(ARG2)) << (ARG3)) & 0xFFFF0000UL) )

#define __PKHTB(ARG1,ARG2,ARG3) ( ((((uint32_t)(ARG1)) ) & 0xFFFF0000UL) | \
((((uint32_t)(ARG2)) >> (ARG3)) & 0x0000FFFFUL) )

__STATIC_FORCEINLINE int32_t __SMMLA (int32_t op1, int32_t op2, int32_t op3)
{
int32_t result;

__ASM volatile ("smmla %0, %1, %2, %3" : "=r" (result): "r" (op1), "r" (op2), "r" (op3) );
return(result);
}

#endif /* (__ARM_FEATURE_DSP == 1) */

/* ########################### Core Function Access ########################### */

Expand Down Expand Up @@ -343,7 +401,7 @@ __STATIC_FORCEINLINE uint32_t __get_CPSR(void)
*/
__STATIC_FORCEINLINE void __set_CPSR(uint32_t cpsr)
{
__ASM volatile ("MSR cpsr, %0" : : "r" (cpsr) : "memory");
__ASM volatile ("MSR cpsr, %0" : : "r" (cpsr) : "cc", "memory");
}

/** \brief Get Mode
Expand Down
12 changes: 12 additions & 0 deletions cmsis/TARGET_CORTEX_A/cmsis_compiler.h
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,10 @@
#ifndef __PACKED
#define __PACKED __attribute__((packed))
#endif
#ifndef __COMPILER_BARRIER
#warning No compiler specific solution for __COMPILER_BARRIER. __COMPILER_BARRIER is ignored.
#define __COMPILER_BARRIER() (void)0
#endif


/*
Expand Down Expand Up @@ -144,6 +148,10 @@
#ifndef __PACKED
#define __PACKED __packed__
#endif
#ifndef __COMPILER_BARRIER
#warning No compiler specific solution for __COMPILER_BARRIER. __COMPILER_BARRIER is ignored.
#define __COMPILER_BARRIER() (void)0
#endif


/*
Expand Down Expand Up @@ -190,6 +198,10 @@
#ifndef __PACKED
#define __PACKED @packed
#endif
#ifndef __COMPILER_BARRIER
#warning No compiler specific solution for __COMPILER_BARRIER. __COMPILER_BARRIER is ignored.
#define __COMPILER_BARRIER() (void)0
#endif


#else
Expand Down
Loading