|
Name |
|
Date |
Size |
#Lines |
LOC |
| .. | | - | - |
| CMSIS/ | | 04-Jan-2025 | - | 359,876 | 226,783 |
| arch/ | | 04-Jan-2025 | - | 93 | 72 |
| boards/ | | 04-Jan-2025 | - | 108,946 | 61,160 |
| cmake/ | | 04-Jan-2025 | - | 555 | 478 |
| cmsis_drivers/ | | 04-Jan-2025 | - | 38,196 | 30,428 |
| components/ | | 04-Jan-2025 | - | 281,147 | 192,239 |
| devices/ | | 04-Jan-2025 | - | 17,435,129 | 7,937,569 |
| drivers/ | | 04-Jan-2025 | - | 544,132 | 283,575 |
| middleware/mmcau/ | | 04-Jan-2025 | - | 11,402 | 9,627 |
| platform/drivers/netc/socs/imxrt1180/ | | 04-Jan-2025 | - | 397 | 233 |
| scripts/kconfig/ | | 04-Jan-2025 | - | 13,316 | 7,626 |
| tools/ | | 04-Jan-2025 | - | 525 | 422 |
| utilities/ | | 04-Jan-2025 | - | 16,496 | 11,590 |
| .gitignore | D | 04-Jan-2025 | 340 | 12 | 12 |
| CODE_OF_CONDUCT.md | D | 04-Jan-2025 | 5.4 KiB | 134 | 98 |
| CODE_OF_CONDUCT_CN.md | D | 04-Jan-2025 | 3.8 KiB | 89 | 52 |
| CONTRIBUTING.md | D | 04-Jan-2025 | 9.9 KiB | 184 | 140 |
| CONTRIBUTING_CN.md | D | 04-Jan-2025 | 10 KiB | 170 | 124 |
| COPYING-BSD-3 | D | 04-Jan-2025 | 1.4 KiB | 27 | 21 |
| Kconfig | D | 04-Jan-2025 | 353 | 16 | 13 |
| LA_OPT_NXP_Software_License RTAudio.txt | D | 04-Jan-2025 | 34.7 KiB | 155 | 115 |
| LA_OPT_NXP_Software_License.txt | D | 04-Jan-2025 | 47 KiB | 770 | 704 |
| README.md | D | 04-Jan-2025 | 9.2 KiB | 135 | 103 |
| README_CN.md | D | 04-Jan-2025 | 8.4 KiB | 106 | 77 |
| SW-Content-Register.txt | D | 04-Jan-2025 | 63.5 KiB | 905 | 833 |
| all_devices.cmake | D | 04-Jan-2025 | 646 | 19 | 16 |
| middleware_baremetal.cmake | D | 04-Jan-2025 | 247 | 12 | 7 |
| west.yml | D | 04-Jan-2025 | 4.2 KiB | 156 | 155 |
README.md
1# MCUXpresso SDK: mcux-sdk
2
3![NXP_logo](docs/nxp_logo_small.png)[EN](./README.md)|[中文](./README_CN.md)
4[![Version](https://img.shields.io/github/v/release/NXPMicro/mcux-sdk)](https://github.com/NXPmicro/mcux-sdk/releases/latest)
5[![Contributors](https://img.shields.io/github/contributors/NXPMicro/mcux-sdk)](https://github.com/NXPmicro/mcux-sdk/graphs/contributors)
6[![Issues](https://img.shields.io/github/issues/NXPMicro/mcux-sdk)](https://github.com/NXPmicro/mcux-sdk/issues)
7[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](https://github.com/NXPmicro/mcux-sdk/pulls)
8
9MCUXpresso 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.
10
11The whole MCUXpresso SDK delivery is composed of separate project/repo deliveries. The idea we split the whole SDK delivery to separate projects/repos is inspired by [Zephyr](https://github.com/zephyrproject-rtos/zephyr), and the projects are split following below rules:
12* Fundamental project for device/board enablement with shared drivers and components.
13* RTOS projects
14* Middleware projects
15* Examples project built on above deliveries
16
17In this way we want to benefit user from below aspects:
181. Avoid huge size in a single repository.
192. Provide flexibility for user to select needed projects to build their application.
203. Provide ability for user to fetch needed project version to build their application.
21
22We also uses [Zephyr west tool](https://docs.zephyrproject.org/latest/guides/west/index.html) to do multi-repository management, it allows user to self create ```west.yml``` to select needed projects for downstream use.
23
24## Overview
25This mcux-sdk project/repo provides the fundamental support for all NXP hot parts:
26
27* Arm® CMSIS-CORE startup and device header files and CMSIS-DSP standard libraries
28* Open-source peripheral drivers that provide stateless, high-performance, easy-to-use APIs
29* Drivers for communication peripherals also include high-level transactional APIs for high-performance data transfers
30* High-quality software: all drivers and startup code are MISRA-C: 2012 compliant and checked with Coverity® static analysis tools
31
32**The project can work solely**, if you only want to get the fundamental support for SoC(s) or board(s), you just use the original Git way to clone and checkout the project.
33
34**The project is also the main repository to achieve the whole SDK delivery**, it contains the [west.yml](https://github.com/NXPmicro/mcux-sdk/blob/main/west.yml) which keeps description and revision for other projects in the overall MCUXpresso delivery. Not all MCUXpresso SDK middleware are available in this MCUXpresso SDK Github delivery, checking west.yml for each release you will see the available middleware included in the release. The superset of available middlewares is listed as below for your information:
35- RTOS
36 - [FreeRTOS-Kernel](https://github.com/nxp-mcuxpresso/FreeRTOS-Kernel)
37 - [Azure RTOS](https://github.com/NXP/azure-rtos)
38- Middleware
39 - [Sdmmc](https://github.com/nxp-mcuxpresso/mcux-sdk-middleware-sdmmc)
40 - [Multicore(erpc, rpmsg-lite)](https://github.com/nxp-mcuxpresso/mcux-sdk-middleware-multicore)
41 - [eIQ(deepviewrt, glow, tensorflow-lite)](https://github.com/nxp-mcuxpresso/mcux-sdk-middleware-eiq)
42 - [Fatfs](https://github.com/nxp-mcuxpresso/fatfs)
43 - [Usb](https://github.com/nxp-mcuxpresso/mcux-sdk-middleware-usb)
44 - [Mbedtls](https://github.com/nxp-mcuxpresso/mbedtls)
45 - [Wifi](https://github.com/NXP/wifi_nxp)
46 - [Lwip](https://github.com/nxp-mcuxpresso/lwip)
47 - [Littlefs](https://github.com/nxp-mcuxpresso/littlefs)
48 - [Edgefast_bluetooth(full feature)](https://github.com/nxp-mcuxpresso/mcux-sdk-middleware-edgefast-bluetooth)
49 - [Wireless Ethermind(full feature)](https://github.com/NXP/mcux-sdk-middleware-ethermind)
50 - [Ieee_802.15.4](https://github.com/NXP/mcux-sdk-middleware-ieee_802.15.4)
51 - [Bluetooth-controller](https://github.com/NXP/mcux-sdk-middleware-bluetooth-controller)
52 - [Bluetooth-host](https://github.com/NXP/mcux-sdk-middleware-bluetooth-host)
53 - [Connectivity-framework](https://github.com/NXP/mcux-sdk-middleware-connectivity-framework)
54 - [Maestro framework](https://github.com/nxp-mcuxpresso/maestro)
55 - [Mcuboot_opensource](https://github.com/nxp-zephyr/mcuboot)
56 - [EAP SDK](https://github.com/nxp-mcuxpresso/EAP)
57 - [VIT](https://github.com/nxp-mcuxpresso/VIT)
58 - [VoiceSeeker](https://github.com/nxp-mcuxpresso/VoiceSeeker)
59 - [NatureDSP](https://github.com/nxp-mcuxpresso/NatureDSP)
60 - [Wpa_supplicant-rtos](https://github.com/nxp-mcuxpresso/wpa_supplicant-rtos)
61 - [Secure-subsystem](https://github.com/nxp-mcuxpresso/mcux-secure-subsystem)
62 - [XCVR](https://github.com/nxp-mcuxpresso/mcux-sdk-middleware-xcvr)
63
64### How to get the whole SDK delivery
65You need to have both Git and West installed in order to get a new delivery of the whole SDK or update the existing SDK deliveries. Follow below guide according to your scenario:
66* Clone/check-out a new delivery of whole SDK
67
68 Execute below commands to achieve the whole SDK delivery at revision ```${revision}``` and place it in a folder named ```mcuxsdk```
69 ```
70 west init -m https://github.com/NXPmicro/mcux-sdk --mr ${revision} mcuxsdk
71 cd mcuxsdk
72 west update
73 ```
74 Replace ```${revision}``` with any SDK revision(branch/tag/commit SHA) you wish to achieve. This can be ```main``` if you want the latest state, or any commit SHA or tag.
75
76* Update existing west cloned SDK whole delivery
77
78 Assume you have followed previous commands to clone/check-out whole SDK delivery to the west workspace mcuxsdk, then the main repository of SDK is located in mcuxsdk/core. If you would like to update/check-out to another revision, you need to first update the main repository to the expected revision, then update the west workspace:
79
80 When you would like to update SDK full delivery in the latest branch of main repository, follow below commands:
81
82 ```
83 cd mcuxsdk/core
84 git pull
85 west update
86 ```
87
88 If the ```${revision}``` is different revision from that used in main repository, such as different branch, different tag or different commit SHA, you could follow below commands:
89 ```
90 cd mcuxsdk/core
91 git fetch
92 git checkout ${revision}
93 west update
94 ```
95
96## Releases
97
98There 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. **Note currently we only have MCUX releases.**
99
100### MCUX Release
101The 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.
102
103The "MCUX_" releases are categorized into mainline releases and NPI release.
104* 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.
105* 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.
106
107Each 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.
108
109### Main Release
110The 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_'**.
111
112Below figure takes 2.9.0 and 2.10.0 release as an example to show the relationship between MCUX release and Main release.
113![Release Introduction](docs/Getting_Started/images/github_release_introduction.png)
114
115
116## Supported development tools and systems
117* Tools
118 * MCUXpresso IDE
119 * GCC ARM Embedded
120
121 For version of the tool used, please check the release notes for each release.
122* Systems
123
124 See [Supported development systems](docs/supported_development_systems.md) for the list of boards/socs currently support in this project.
125
126## Getting Started
127See [Getting Start Guide](docs/Getting_Started.md) to start explore the project.
128
129## License
130Most 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)
131
132## Contribution
133Contributions are greatly welcomed! For detail guideline of contribution please check [Contribution Guide](CONTRIBUTING.md).
134
135