Skip to content

Commit 1bc26e6

Browse files
committed
Update mcux-sdk to SDK 2.11.0
Update to the MCUX SDK 2.11.0 release Signed-off-by: David Leach <[email protected]>
1 parent d7a110f commit 1bc26e6

File tree

1,856 files changed

+727887
-52449
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,856 files changed

+727887
-52449
lines changed

mcux/mcux-sdk/.github/ISSUE_TEMPLATE/bug_report.md

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,26 +8,35 @@ assignees: ''
88
---
99

1010
**Describe the bug**
11+
<!--
1112
A clear and concise description of what the bug is.
13+
-->
1214

1315
**To Reproduce**
14-
* Environment (please complete the following information):
15-
- Tag/Commit hash: [e.g. MCUX_2.9.0]
16-
- Toolchain: [e.g. ARMGCC 9-2020-q2-update]
17-
- Board/SoC: [e.g. FRDM-K64F]
18-
- Example [e.g. adc16_interrupt]
19-
* Steps to reproduce the behavior:
16+
17+
- Environment (please complete the following information):
18+
- Tag/Commit hash: [e.g. MCUX_2.9.0]
19+
- Toolchain: [e.g. ARMGCC 9-2020-q2-update]
20+
- Board/SoC: [e.g. FRDM-K64F]
21+
- Example [e.g. adc16_interrupt]
22+
- Steps to reproduce the behavior:
2023
Below uses adc16_interrupt example ARMGCC run issue on frdm-k64f as an example, you may follow similar description.
2124
1. cd frdmk64f\driver_examples\adc16\interrupt\armgcc
2225
2. [optional] If modified code is needed, please provide the modified code snippet.
2326
3. Run build_debug.bat to build example, see error. Skip the below steps for run error.
2427
4. Connect frdmk64f board to PC and do set up follow the description in frdmk64f\driver_examples\adc16\interrupt\readme.txt. Refer to the guide running a ARMGCC demo to download and run the example, see error in console output.
2528

2629
**Expected behavior**
30+
<!--
2731
A clear and concise description of what you expected to happen.
32+
-->
2833

2934
**Screenshots and console output**
35+
<!--
3036
If applicable, add screenshots and paste your console output to help explain your problem. If the error information is captured by other tools such as Oscilloscope, logic analyzer or wireshark, please share us the screenshot of these information which could help the progress.
37+
-->
3138

3239
**Additional context**
40+
<!--
3341
Add any other context about the problem here.
42+
-->

mcux/mcux-sdk/.github/ISSUE_TEMPLATE/enhancement.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,21 @@ assignees: ''
88
---
99

1010
**Is your enhancement proposal related to a problem? Please describe.**
11+
<!--
1112
A clear and concise description of what the problem is.
13+
-->
1214

1315
**Describe the solution you'd like**
16+
<!--
1417
A clear and concise description of what you want to happen.
18+
-->
1519

1620
**Describe alternatives you've considered**
21+
<!--
1722
A clear and concise description of any alternative solutions or features you've considered.
23+
-->
1824

1925
**Additional context**
26+
<!--
2027
Add any other context or graphics (drag-and-drop an image) about the feature request here.
28+
-->
Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
**Prerequisites**
2+
23
- [ ] I have checked latest main branch and the issue still exists.
34
- [ ] I did not see it is stated as known-issue in release notes.
45
- [ ] No similar GitHub issue is related to this change.
@@ -8,12 +9,16 @@
89
- [ ] I have added tests that prove my fix is effective or that my feature works.
910

1011
**Describe the pull request**
11-
12-
A clear and concise description for the change in this Pull Request and which issue is fixed.
12+
<!--
13+
A clear and concise description for the change in this Pull Request and which issue is fixed.
1314
1415
Fixes # (issue)
16+
-->
1517

16-
**Type of change** (please delete options that are not relevant):
18+
**Type of change**
19+
<!--
20+
(please delete options that are not relevant)
21+
-->
1722

1823
- [ ] Bug fix (non-breaking change which fixes an issue)
1924
- [ ] New feature (non-breaking change which adds functionality)
@@ -22,13 +27,12 @@ Fixes # (issue)
2227

2328
**Tests**
2429

25-
* Test configuration (please complete the following information):
26-
- Hardware setting:
27-
- Toolchain:
28-
- Test Tool preparation:
29-
- Any other dependencies:
30-
* Test executed
31-
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce.
32-
- [ ] Build Test
33-
- [ ] Run Test
34-
30+
- Test configuration (please complete the following information):
31+
- Hardware setting:
32+
- Toolchain:
33+
- Test Tool preparation:
34+
- Any other dependencies:
35+
- Test executed
36+
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce.
37+
- [ ] Build Test
38+
- [ ] Run Test

mcux/mcux-sdk/CMSIS/Core/Include/core_cm7.h

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2317,14 +2317,6 @@ __STATIC_FORCEINLINE void SCB_InvalidateICache_by_Addr (void *addr, int32_t isiz
23172317
#endif
23182318
}
23192319

2320-
/*
2321-
* Optimize the Data Cache functions, for the endless loop issue.
2322-
* More details, see https://github.com/ARM-software/CMSIS_5/issues/620
2323-
*/
2324-
#if (defined(__GNUC__) && !defined(__OPTIMIZE__))
2325-
#pragma GCC push_options
2326-
#pragma GCC optimize ("Og")
2327-
#endif
23282320

23292321
/**
23302322
\brief Enable D-Cache
@@ -2385,6 +2377,25 @@ __STATIC_FORCEINLINE void SCB_DisableDCache (void)
23852377

23862378
ccsidr = SCB->CCSIDR;
23872379

2380+
#if (defined(__GNUC__) && !defined(__OPTIMIZE__))
2381+
/*
2382+
* For the endless loop issue with GCC O0.
2383+
* More details, see https://github.com/ARM-software/CMSIS_5/issues/620
2384+
*
2385+
* The issue only happens when local variables are in stack (GCC O0). If
2386+
* local variables are saved in general purpose register, then the function
2387+
* is OK.
2388+
*
2389+
* When local variables are in stack, after disabling the cache, flush the
2390+
* local variables cache line for data consistency.
2391+
*/
2392+
/* Clean and invalidate the local variable cache. */
2393+
SCB->DCCIMVAC = (uint32_t)(&sets);
2394+
SCB->DCCIMVAC = (uint32_t)(&ways);
2395+
SCB->DCCIMVAC = (uint32_t)(&ccsidr);
2396+
__DSB();
2397+
__ISB();
2398+
#endif
23882399
/* clean & invalidate D-Cache */
23892400
sets = (uint32_t)(CCSIDR_SETS(ccsidr));
23902401
do {
@@ -2508,9 +2519,6 @@ __STATIC_FORCEINLINE void SCB_CleanInvalidateDCache (void)
25082519
#endif
25092520
}
25102521

2511-
#if (defined(__GNUC__) && !defined(__OPTIMIZE__))
2512-
#pragma GCC pop_options
2513-
#endif
25142522

25152523
/**
25162524
\brief D-Cache Invalidate by address
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
#Description: CMSIS Include For Cortex-A; user_visible: True
2+
include_guard(GLOBAL)
3+
message("CMSIS_Include_core_ca component is included.")
4+
5+
target_sources(${MCUX_SDK_PROJECT_NAME} PRIVATE
6+
${CMAKE_CURRENT_LIST_DIR}/../Source/mmu_armv8a.c
7+
)
8+
9+
target_include_directories(${MCUX_SDK_PROJECT_NAME} PUBLIC
10+
${CMAKE_CURRENT_LIST_DIR}/.
11+
)
12+
Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
/**************************************************************************//**
2+
* @file cmsis_gcc.h
3+
* @brief CMSIS compiler generic header file
4+
* @version V1.0.0
5+
* @date 05. october 2021
6+
******************************************************************************/
7+
/*
8+
* Copyright (c) 2021 Arm Limited. All rights reserved.
9+
* Copyright 2021 NXP
10+
*
11+
* SPDX-License-Identifier: Apache-2.0
12+
*
13+
* Licensed under the Apache License, Version 2.0 (the License); you may
14+
* not use this file except in compliance with the License.
15+
* You may obtain a copy of the License at
16+
*
17+
* www.apache.org/licenses/LICENSE-2.0
18+
*
19+
* Unless required by applicable law or agreed to in writing, software
20+
* distributed under the License is distributed on an AS IS BASIS, WITHOUT
21+
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
22+
* See the License for the specific language governing permissions and
23+
* limitations under the License.
24+
*/
25+
26+
#ifndef __CMSIS_COMPILER_H
27+
#define __CMSIS_COMPILER_H
28+
29+
#if defined ( __ICCARM__ )
30+
#pragma system_include /* treat file as system include file for MISRA check */
31+
#elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)
32+
#pragma clang system_header /* treat file as system include file */
33+
#endif
34+
35+
#include <stdint.h>
36+
#include <string.h>
37+
38+
#ifdef __cplusplus
39+
extern "C" {
40+
#endif
41+
42+
/* Define compiler macros for CPU architecture, if not yet defined by the
43+
* compiler default macros
44+
*/
45+
#if __ARM_ARCH_8A__
46+
/* Macro already defined */
47+
#else
48+
#if defined(__ARM_ARCH_8A) && __ARM_ARCH_8A == 1
49+
#define __ARM_ARCH_8A__ 1
50+
#endif /* __ARM_ARCH_8A == 1 */
51+
#endif
52+
53+
#if defined ( __CC_ARM )
54+
#define __ASM __asm /*!< asm keyword for ARM Compiler */
55+
#define __INLINE __inline /*!< inline keyword for ARM Compiler */
56+
#define __STATIC_INLINE static __inline
57+
58+
#elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)
59+
#define __ASM __asm /*!< asm keyword for ARM Compiler */
60+
#define __INLINE __inline /*!< inline keyword for ARM Compiler */
61+
#define __STATIC_INLINE static __inline
62+
63+
#elif defined ( __GNUC__ )
64+
#include "cmsis_gcc.h"
65+
66+
#elif defined ( __ICCARM__ )
67+
#include "cmsis_iar.h"
68+
69+
#else
70+
#error Unknown compiler
71+
#endif
72+
73+
/* IO definitions (access restrictions to peripheral registers) */
74+
#ifdef __cplusplus
75+
#define __I volatile /*!< Defines 'read only' permissions */
76+
#else
77+
#define __I volatile const /*!< Defines 'read only' permissions */
78+
#endif
79+
#define __O volatile /*!< Defines 'write only' permissions */
80+
#define __IO volatile /*!< Defines 'read / write' permissions */
81+
82+
/* following defines should be used for structure members */
83+
#define __IM volatile const /*! Defines 'read only' structure member permissions */
84+
#define __OM volatile /*! Defines 'write only' structure member permissions */
85+
#define __IOM volatile /*! Defines 'read / write' structure member permissions */
86+
#define RESERVED(N, T) T RESERVED##N; // placeholder struct members used for "reserved" areas
87+
88+
#ifdef __cplusplus
89+
}
90+
#endif
91+
92+
#endif /* __CMSIS_COMPILER_H */

0 commit comments

Comments
 (0)