Skip to content

Commit

Permalink
Apply MCUXpresso SDK 2.15.000 RW610&K32W1 release update
Browse files Browse the repository at this point in the history
This release update source combines the MCUXpresso SDK 2.15.000 RW610 and K32W1 release.
  • Loading branch information
McuxCIBot authored and mcuxsusan committed May 7, 2024
1 parent 2d0c01b commit 685a2f3
Show file tree
Hide file tree
Showing 331 changed files with 346,996 additions and 3,805 deletions.
40 changes: 37 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,43 @@ Previously user should get MCUXpresso SDK via mcuxpresso.nxp.com or MCUXpresso I
* 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
* Drivers for communication peripherals also include high-level transactional APIs for high-performance data transfers
* High-quality software: all drivers and startup code are MISRA-C: 2004 compliant and checked with Coverity® static analysis tools
* Software examples demonstrating the usage of peripheral drivers
* High-quality software: all drivers and startup code are MISRA-C: 2012 compliant and checked with Coverity® static analysis tools

**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.

**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. Currently available middleware sets are shown in below figure, user could click the middleware to navigate the middleware project repo.
[![MCUXSDK Graph](docs/sdk_graph.svg)](https://htmlpreview.github.io/?https://github.com/NXPmicro/mcux-sdk/blob/main/docs/sdk_graph.html)
You 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. You could follow below guide according to your scenario:
* Clone/check-out a new delivery of whole SDK

Execute below commands to achieve the whole SDK delivery at revision ```${revision}``` and place it in a folder named ```mcuxsdk```
```
west init -m https://github.com/NXPmicro/mcux-sdk --mr ${revision} mcuxsdk
cd mcuxsdk
west update
```
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.
* Update existing west cloned SDK whole delivery
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:
When you would like to update SDK full delivery in the latest branch of main repository, follow below commands:
```
cd mcuxsdk/core
git fetch
git rebase
west update
```
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:
```
cd mcuxsdk/core
git fetch
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
Expand All @@ -32,4 +66,4 @@ See [Getting Start Guide](docs/Getting_Started.md) to start explore the project.
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.
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.
88 changes: 86 additions & 2 deletions SW-Content-Register.txt
Original file line number Diff line number Diff line change
Expand Up @@ -209,9 +209,9 @@ littlefs Name: LittleFS
Url: https://github.com/littlefs-project/littlefs

lwip Name: lwIP TCP/IP Stack
Version: lwIP git repository (2023-01-03, branch:
Version: lwIP git repository (2024-02-19, branch:
master, SHA-1:
3fe8d2fc43a9b69f7ed28c63d44a7744f9c0def9)
d0efd9ef7ba08e54b46b1060e2b4629a4907391b)
Outgoing License: BSD-3-Clause
License File: middleware/lwip/COPYING
Format: source code
Expand Down Expand Up @@ -283,6 +283,17 @@ conn_fwloader Name: RW61X Firmware Binary
Location: components/conn_fwloader/fw_bin
Origin: NXP (Proprietary)

psa_crypto_driver Name: PSA CRYPTO DRIVER
Version: 1.0.0
Outgoing License: BSD-3-Clause
License File: COPYING-BSD-3
Format: source code
Description: PSA crypto driver interface to use
cryptographic library running on NXP crypto
Hardware IP
Origin: NXP (BSD-3-Clause)
Location: components/psa_crypto_driver

els_pkc Name: ELS PKC
Version: 1.9.0
Outgoing License: LA_OPT_NXP_Software_License v49
Expand Down Expand Up @@ -339,3 +350,76 @@ SDK_Examples Name: SDK examples
middleware.
Location: boards/<board>/
Origin: NXP (BSD-3-Clause)

BLE Name: Bluetooth Low Energy Application Source
Version: 1.8.18
Outgoing License: BSD-3-Clause
License File: COPYING-BSD-3
Format: Source code & header files
Description: Bluetooth Low Energy Software
Location: middleware/wireless/bluetooth
Origin: NXP (BSD-3-Clause)

BLE_Controller Name: Bluetooth Low Energy Controller
Version: 1.9.13.0
Outgoing License: LA_OPT_NXP_Software_License v49
September 2023 - Additional distribution license
granted, license in Section 2.3 applies
License File: LA_OPT_NXP_Software_License.txt
Format: Source code and binary
Description: Bluetooth Low Energy Controller
Firmware. Host Command Interface (HCI).
Location: middleware/wireless/ble_controller
Origin: NXP

multicore_mcmgr Name: MCMGR
Version: 4.1.4
Outgoing License: BSD-3-Clause
License File: COPYING-BSD-3
Format: source code
Description: Multicore manager
Location: middleware/multicore/mcmgr
Origin: NXP (BSD-3-Clause)

multicore Name: Multicore SDK
Version: 2.15.0
Outgoing License: BSD-3-Clause
License File: COPYING-BSD-3
Format: source code
Description: NXP Multicore Software Development
Kit.
Location: middleware/multicore
Origin: NXP (BSD-3-Clause)

multicore_rpmsg_lite Name: RPMsg-Lite
Version: 5.1.0
Outgoing License: BSD-3-Clause
License File: COPYING-BSD-3
Format: source code
Description: Open Asymmetric Multi Processing
(OpenAMP) framework project
Location: middleware/multicore/rpmsg_lite
Origin: Mentor Graphics Corporation & community
contributors
Url: https://github.com/NXPmicro/rpmsg-lite

secure-subsystem Name: secure subsystem
Version: 1.0
Outgoing License: BSD-3-Clause
License File: COPYING-BSD-3
Format: source code
Description: Add secure peripherals control.
Location: middleware/secure-subsystem
Origin: NXP (BSD-3-Clause)

Zigbee Name: K32W1 ZigBee 3.0 stack
Version: 1.0.13
Outgoing License: LA_OPT_NXP_Software_License v49
September 2023 - Additional distribution license
granted, license in Section 2.3 applies
License File: LA_OPT_NXP_Software_License.txt
Format: object code, source code, header files
Description: ZigBee 3.0 protocol stack for K32W148
platform
Location: middleware/wireless/zigbee
Origin: NXP
29 changes: 29 additions & 0 deletions boards/k32w148evk/board.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
/*
* Copyright 2021 NXP
* All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*/

#include <stdint.h>
#include "fsl_common.h"
#include "fsl_debug_console.h"
#include "board.h"

/*******************************************************************************
* Variables
******************************************************************************/

/*******************************************************************************
* Code
******************************************************************************/

/* Initialize debug console. */
void BOARD_InitDebugConsole(void)
{
uint32_t uartClkSrcFreq = BOARD_DEBUG_UART_CLK_FREQ;

CLOCK_SetIpSrc(kCLOCK_Lpuart1, kCLOCK_IpSrcFro6M);

DbgConsole_Init(BOARD_DEBUG_UART_INSTANCE, BOARD_DEBUG_UART_BAUDRATE, BOARD_DEBUG_UART_TYPE, uartClkSrcFreq);
}
123 changes: 123 additions & 0 deletions boards/k32w148evk/board.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
/*
* Copyright 2021-2022 NXP
* All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*/

#ifndef _BOARD_H_
#define _BOARD_H_

#include "clock_config.h"
#include "fsl_gpio.h"

/*******************************************************************************
* Definitions
******************************************************************************/
/*! @brief The board name */
#define BOARD_NAME "K32W148-EVK"

/* The UART to use for debug messages. */
#define BOARD_USE_LPUART
#define BOARD_DEBUG_UART_TYPE kSerialPort_Uart
#define BOARD_DEBUG_UART_BASEADDR (uint32_t) LPUART1
#define BOARD_DEBUG_UART_INSTANCE 1U
#define BOARD_DEBUG_UART_CLK_FREQ (CLOCK_GetFreq(kCLOCK_ScgSircClk))

#ifndef BOARD_DEBUG_UART_BAUDRATE
#define BOARD_DEBUG_UART_BAUDRATE (115200U)
#endif /* BOARD_DEBUG_UART_BAUDRATE */

/*! @brief The LPSPI channel used for the external NOR flash */
#define BOARD_EEPROM_LPSPI_BASEADDR LPSPI1
#define BOARD_LPSPI_CLK_FREQ 16000000U
#define BOARD_LPSPI_MRCC_ADDRESS kCLOCK_Lpspi1
#define BOARD_LPSPI_CLKSRC kCLOCK_IpSrcFro192M
#define BOARD_LPSPI_PCS_FOR_INIT kLPSPI_Pcs0
#define BOARD_LPSPI_PCS_FOR_TRANSFER kLPSPI_MasterPcs0
#define BOARD_LPSPI_MRCC_CLK_DIV 1U
#define BOARD_LPSPI_NOR_BAUDRATE 4000000U

/*! @brief The TPM channel used for board */
#define BOARD_TPM_CHANNEL 0U

#define LOGIC_LED_ON 1U
#define LOGIC_LED_OFF 0U

#ifndef BOARD_LED1_GPIO
#define BOARD_LED1_GPIO GPIOA
#endif
#ifndef BOARD_LED1_GPIO_PIN
#define BOARD_LED1_GPIO_PIN 19U
#endif

#ifndef BOARD_LED2_GPIO
#define BOARD_LED2_GPIO GPIOA
#endif
#ifndef BOARD_LED2_GPIO_PIN
#define BOARD_LED2_GPIO_PIN 20U
#endif

#ifndef BOARD_LED3_GPIO
#define BOARD_LED3_GPIO GPIOA
#endif
#ifndef BOARD_LED3_GPIO_PIN
#define BOARD_LED3_GPIO_PIN 21U
#endif

#define LED1_INIT(output) \
GPIO_PinWrite(BOARD_LED1_GPIO, BOARD_LED1_GPIO_PIN, output); \
BOARD_LED1_GPIO->PDDR |= (1U << BOARD_LED1_GPIO_PIN) /*!< Enable target LED1 */
#define LED1_ON() GPIO_PortSet(BOARD_LED1_GPIO, 1U << BOARD_LED1_GPIO_PIN) /*!< Turn on target LED1 */
#define LED1_OFF() GPIO_PortClear(BOARD_LED1_GPIO, 1U << BOARD_LED1_GPIO_PIN) /*!< Turn off target LED1 */
#define LED1_TOGGLE() GPIO_PortToggle(BOARD_LED1_GPIO, 1U << BOARD_LED1_GPIO_PIN) /*!< Toggle on target LED1 */

#define LED2_INIT(output) \
GPIO_PinWrite(BOARD_LED2_GPIO, BOARD_LED2_GPIO_PIN, output); \
BOARD_LED2_GPIO->PDDR |= (1U << BOARD_LED2_GPIO_PIN) /*!< Enable target LED2 */
#define LED2_ON() GPIO_PortSet(BOARD_LED2_GPIO, 1U << BOARD_LED2_GPIO_PIN) /*!< Turn on target LED2 */
#define LED2_OFF() GPIO_PortClear(BOARD_LED2_GPIO, 1U << BOARD_LED2_GPIO_PIN) /*!< Turn off target LED2 */
#define LED2_TOGGLE() GPIO_PortToggle(BOARD_LED2_GPIO, 1U << BOARD_LED2_GPIO_PIN) /*!< Toggle on target LED2 */

#define LED3_INIT(output) \
GPIO_PinWrite(BOARD_LED3_GPIO, BOARD_LED3_GPIO_PIN, output); \
BOARD_LED3_GPIO->PDDR |= (1U << BOARD_LED3_GPIO_PIN) /*!< Enable target LED3 */
#define LED3_ON() GPIO_PortSet(BOARD_LED3_GPIO, 1U << BOARD_LED3_GPIO_PIN) /*!< Turn on target LED3 */
#define LED3_OFF() GPIO_PortClear(BOARD_LED3_GPIO, 1U << BOARD_LED3_GPIO_PIN) /*!< Turn off target LED3 */
#define LED3_TOGGLE() GPIO_PortToggle(BOARD_LED3_GPIO, 1U << BOARD_LED3_GPIO_PIN) /*!< Toggle on target LED3 */

#define BOARD_SW2_NAME "SW2"
#define BOARD_SW2_GPIO GPIOD
#define BOARD_SW2_GPIO_PIN 1U
#define BOARD_SW2_IRQ GPIOD_INT0_IRQn
#define BOARD_SW2_IRQ_HANDLER GPIOD_INT0_IRQHandler

#define BOARD_SW3_NAME "SW3"
#define BOARD_SW3_GPIO GPIOC
#define BOARD_SW3_GPIO_PIN 6U
#define BOARD_SW3_IRQ GPIOC_INT0_IRQn
#define BOARD_SW3_IRQ_HANDLER GPIOC_INT0_IRQHandler

#define BOARD_SW4_NAME "SW4"
#define BOARD_SW4_GPIO GPIOA
#define BOARD_SW4_GPIO_PIN 4U
#define BOARD_SW4_IRQ GPIOA_INT0_IRQn
#define BOARD_SW4_IRQ_HANDLER GPIOA_INT0_IRQHandler

#define BOARD_ACCEL_I2C_BASEADDR LPI2C1

#if defined(__cplusplus)
extern "C" {
#endif /* __cplusplus */

/*******************************************************************************
* API
******************************************************************************/

void BOARD_InitDebugConsole(void);

#if defined(__cplusplus)
}
#endif /* __cplusplus */

#endif /* _BOARD_H_ */
Loading

0 comments on commit 685a2f3

Please sign in to comment.