Skip to content
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

mcux-sdk: Update to SDK 2.15.000 #329

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
42 changes: 9 additions & 33 deletions mcux/README
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,17 @@ MCUXpresso SDK

Origin:
NXP MCUXpresso SDK
https://github.com/NXPmicro/mcux-sdk
https://github.com/nxp-mcuxpresso/mcux-sdk
SHA: acc105f1e6304bf3a16ebbb503f8882a4daa1408

NXP Kinetis Connectivity Software
https://www.nxp.com/webapp/Download?colCode=KW40Z-CONNECTIVITY-SOFTWARE&appType=license&Parent_nodeId=1432854896956716810497&Parent_pageType=product
https://www.nxp.com/webapp/Download?colCode=MKW2XD-MRC20A-CONNECTIVITY-SW&appType=license&Parent_nodeId=1425322332576706617013&Parent_pageType=productI

NXP MCUXpresso SDK USB
https://github.com/NXPmicro/mcux-sdk-middleware-usb

https://github.com/nxp-mcuxpresso/mcux-sdk-middleware-usb
SHA: c8317a37546b18bef2072d6075e061d668b3f1c7
dleach02 marked this conversation as resolved.
Show resolved Hide resolved

Status:
Some older Kinetis W family SoCs are not supported in MCUXpresso SDK, but
Expand Down Expand Up @@ -58,37 +61,10 @@ License Link:
https://spdx.org/licenses/BSD-3-Clause.html

Patch List:
1. Delete the .a binary archive files after an SDK update before committing the changes. These files are still present in the SDK github repo but have been
deleted from the Zephyr HAL
2. mcux-sdk/drivers/caam/fsl_caam.c: Move used job descriptors in the CAAM driver from the stack to noncacheable section. At time of writing, there should
1. mcux-sdk/drivers/caam/fsl_caam.c: Move used job descriptors in the CAAM driver from the stack to noncacheable section. At time of writing, there should
be four being used for entropy in zephyr.
3. fsl_common.h: add #ifdef ZEPHYR #endif to include Zephyr's sys utils
4. mcux-sdk/drivers/pit/fsl_pit.c: add guards to avoid compilation warnings when building
with SDK clock control driver disabled.
5. devices: MIMX8QM6: Add header files for QM's DSP core
6. devices: MIMX8QM6_dsp.h: Adjust DSP core interrupts
7. devices: MIMX8QM6_dsp.h: Add missing LPUART IRQ macro
8. MIMX8QM6: drivers: fsl_clock.c: Report NULL frequency for unsupported core
9. devices: MIMX8QX6: Add header files for QXP's DSP core
10. MIMX8QX6: scfw_api: Switch to including generic fsl_device_registers.h
11. mcux-sdk/drivers/i3c/fsl_i3c.c: add guards to avoid compilation warnings when building
with SDK clock control driver disabled for SoC has no reset driver.
12. MCUXGH-1081[IRQSTEER] Improve for portability
13. drivers: irqsteer: Add function for querying the master interrupts status
14. devices: MIMX8ML8: Fix naming inconsistency
15. devices: MIMX8ML8: Add missing FSL_FEATURE_* macros
16. devices: MIMX8ML8: fsl_clock: Add missing definitions for IRQ_STEER
17. devices: MIMX9352: Add new SAI-related FSL_FEATURE_* macros
18. drivers: fsl_sai: Allow enabling/disabling implicit channel configuration
19. drivers: fsl_sai: Allow NULL FIFO watermark
20. drivers: fsl_sai: Fix compilation warnings when asserts are disabled
21. mcux-sdk/drivers/ftm/fsl_ftm.c: make public FTM_GetInstance() function (mcux-sdk#155)
22. mcux-sdk-middleware-usb: fix ip control return value for ip3511
23. drivers: edma: Introduce revision 2 of eDMA driver
24. devices: MIMX9352: Add SoC layer definitions required for using edma rev2
25. exclude the following directories and files from mcux-sdk update to reduce HAL size:
2. Patched middleware_usb_common_header.cmake file to address build issue. PR submitted to upstream
3. exclude the following directories and files from mcux-sdk update to reduce HAL size:
- All *.a binary archive files. Files are still present in the SDK github repo but are not allowed in Zephyr Project
- mcux-sdk\manifests
- mcux-sdk\middleware\issdk\docs
- mcux-sdk\docs
26. mcux: mcux-sdk: Fix "loop" labels in inline assembly to use unique identifiers.
27. mcux-sdk-middleware-usb: Fix build issues with the code from github
42 changes: 0 additions & 42 deletions mcux/mcux-sdk/.github/ISSUE_TEMPLATE/bug_report.md

This file was deleted.

28 changes: 0 additions & 28 deletions mcux/mcux-sdk/.github/ISSUE_TEMPLATE/enhancement.md

This file was deleted.

38 changes: 0 additions & 38 deletions mcux/mcux-sdk/.github/PULL_REQUEST_TEMPLATE.md

This file was deleted.

17 changes: 0 additions & 17 deletions mcux/mcux-sdk/.github/workflows/close_pr_to_cmsis.yml

This file was deleted.

7 changes: 0 additions & 7 deletions mcux/mcux-sdk/COPYING-BSD-3
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,3 @@ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
215 changes: 213 additions & 2 deletions mcux/mcux-sdk/LA_OPT_NXP_Software_License.txt

Large diffs are not rendered by default.

70 changes: 17 additions & 53 deletions mcux/mcux-sdk/README.md
Original file line number Diff line number Diff line change
@@ -1,28 +1,8 @@
# MCUXpresso SDK: mcux-sdk
# Overview

![NXP_logo](docs/nxp_logo_small.png)[EN](./README.md)|[中文](./README_CN.md)
[![Version](https://img.shields.io/github/v/release/NXPMicro/mcux-sdk)](https://github.com/NXPmicro/mcux-sdk/releases/latest)
[![Contributors](https://img.shields.io/github/contributors/NXPMicro/mcux-sdk)](https://github.com/NXPmicro/mcux-sdk/graphs/contributors)
[![Issues](https://img.shields.io/github/issues/NXPMicro/mcux-sdk)](https://github.com/NXPmicro/mcux-sdk/issues)
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](https://github.com/NXPmicro/mcux-sdk/pulls)
MCUXpresso SDK is a comprehensive software enablement package designed to simplify and accelerate application development with Arm® Cortex®-M-based devices from NXP, including its general purpose, crossover and Bluetooth™-enabled MCUs.

MCUXpresso SDK is a comprehensive software enablement package designed to simplify and accelerate application development with Arm® Cortex®-M-based devices from NXP, including its general purpose, crossover and Bluetooth™-enabled MCUs. This project provides an alternative way for user to achieve the source code of MCUXpresso SDK besides SDK builder and MCUXpresso IDE.

The whole MCUXpresso SDK delivery is composed of separate project deliveries. The idea we split the whole SDK delivery to separate projects is inspired by [Zephyr](https://github.com/zephyrproject-rtos/zephyr), and the projects are planned as below:
* Fundamental project for device/board enablement with shared drivers and components.
* RTOS projects
* Middleware projects
* Examples project built on above deliveries

In this way we want to benefit user from below aspects:
1. Avoid huge size in a single repository.
2. Provide flexibility for user to select needed projects to build their application.
3. Provide ability for user to fetch needed project version to build their application.

To satisfy the expectation we leveraged [Zephyr west tool](https://docs.zephyrproject.org/latest/guides/west/index.html) which helps do multi-repository management and allow user to self create ```west.yml``` to select needed projects for downstream use.

## Overview
This project provides the fundamental support for all NXP hot parts:
Previously user should get MCUXpresso SDK via mcuxpresso.nxp.com or MCUXpresso IDE. Now NXP MCUXpresso SDK project provides a new way for user to achieve this. You could find all NXP hot parts in this project and get below features:

* Arm® CMSIS-CORE startup and device header files and CMSIS-DSP standard libraries
* Open-source peripheral drivers that provide stateless, high-performance, easy-to-use APIs
Expand Down Expand Up @@ -64,42 +44,26 @@ You need to have both Git and West installed in order to get a new delivery of t
git checkout ${revision}
west update
```
Other features like RTOS support and middleware stacks currently are not demonstrated in this project. If you are interest in these features please go mcuxpresso.nxp.com to find full SDK support.

## Releases

There are two types of release in the project. The MCUXpresso SDK release and GitHub Main SDK release. Below description uses **MCUX release** short for MCUXpresso SDK release, use **Main release** short for GitHub Main SDK release.
# Releases

### MCUX Release
The MCUX release launches once a new release is available on [SDK Builder](http://mcuxpresso.nxp.com/). Users previously using [SDK Builder](http://mcuxpresso.nxp.com/) could easily find the exact same code base MCUX release with same 2.x.y version of SDK archive package, software examples build/run quality are guaranteed in the release. **MCUX releases will be prefixed with 'MCUX_'**, and every release will be merged into main branch to ensure main branch has all released boards/socs support.
There are two types of release in the project. The MCUXpresso SDK release and GitHub SDK release.

The "MCUX_" releases are categorized into mainline releases and NPI release.
* For mainline releases, usually it's planned twice a year to do a global feature update for NXP hot parts. The x in 2.x.y version increments each time a mainline release goes out.
* For NPI release, it aims to support a new soc product recently launched in the market. It is built with verified features in previous mainline release. The release name is suffixed with NPI name to identify it's an NPI release.
The MCUXpresso SDK release launches once a new release is available on [SDK Builder](http://mcuxpresso.nxp.com/). In each release, you could find same code base for boards/socs with same version SDK archive you've got from [SDK Builder](http://mcuxpresso.nxp.com/), software examples build/run quality are guaranteed. Releases will be prefixed with 'MCUX_'.

Each MCUX release is made on previous mainline release tag/NPI release tag, thus user could easily check the difference between two releases using ````git diff```` command.
The GitHub SDK release is a regular release take place in every six months. It releases the latest code base and feature set for SDK on all NXP hot parts. Releases will be prefixed with 'GITHUB_'.

### Main Release
The Main release is a regular release made in main branch. It releases the latest code base and feature set on main branch, which is expected to include all the previous 'MCUX_' release content and new enablement on main branch for NXP hot parts. **Main releases will be prefixed with 'MAIN_'**.
Below figure takes 2.9.0 and 2.10.0 release as an example to show the relationship between MCUXpresso Release and GitHUB release.
![Release Introduction](docs/Getting_Started/images/github_release_introduction2.png)
# Supported boards and socs
See [Supported development systems](docs/supported_development_systems.md) for the list of boards/socs support in this project.

Below figure takes 2.9.0 and 2.10.0 release as an example to show the relationship between MCUX release and Main release.
![Release Introduction](docs/Getting_Started/images/github_release_introduction.png)

## Supported development tools and systems
* Tools
* MCUXpresso IDE
* GCC ARM Embedded

For version of the tool used, please check the release notes in each release.
* Systems

See [Supported development systems](docs/supported_development_systems.md) for the list of boards/socs currently support in this project.

## Getting Started
# Getting Started
See [Getting Start Guide](docs/Getting_Started.md) to start explore the project.

## License
All SDK drivers, components, device support files, board support files in this project are under BSD-3-Clause license, license copy please check [COPYING_BSD-3](COPYING-BSD-3). The ARM CMSIS component is under Apache License 2.0, license copy check [Apache License 2.0](CMSIS/LICENSE.txt). License information for all components could be found in [SW-Content-Register.txt](SW-Content-Register.txt)

## Contribution
Contributions are greatly welcomed! For detail guideline of contribution please check [Contribution Guide](CONTRIBUTING.md).
# License
Most of software in the project is open-source and licensed under BSD-3-Clause, see [COPYING_BSD-3](COPYING-BSD-3). Whole license information for the project could be found in [SW-Content-Register.txt](SW-Content-Register.txt)

# Contribution
Currently we are not ready to accept contribution, you could create an issue to suggest a new idea or track a bug. Contribution will be open soon.
Loading