Update MCUXpresso SDK to new refactor

Updates targets using the deprecated
https://github.com/nxp-mcuxpresso/legacy-mcux-sdk to use
https://github.com/nxp-mcuxpresso/mcuxsdk-manifests instead.
pull/676/head
Mattia Moffa 2026-01-29 17:35:24 +01:00
parent 810be2d576
commit 109dbd08d9
8 changed files with 119 additions and 43 deletions

View File

@ -199,22 +199,25 @@ jobs:
make-args: CROSS_COMPILE=aarch64-linux-gnu-
nxp_mcxa_test:
uses: ./.github/workflows/test-build-mcux-sdk.yml
uses: ./.github/workflows/test-build-mcux-sdk-manifests.yml
with:
arch: arm
config-file: ./config/examples/mcxa.config
board-name: frdmmcxa153
nxp_mcxw_test:
uses: ./.github/workflows/test-build-mcux-sdk.yml
uses: ./.github/workflows/test-build-mcux-sdk-manifests.yml
with:
arch: arm
config-file: ./config/examples/mcxw.config
board-name: frdmmcxw71
nxp_mcxw_tz_test:
uses: ./.github/workflows/test-build-mcux-sdk.yml
uses: ./.github/workflows/test-build-mcux-sdk-manifests.yml
with:
arch: arm
config-file: ./config/examples/mcxw-tz.config
board-name: frdmmcxw71
nxp_mcxn_test:
uses: ./.github/workflows/test-build-mcux-sdk-manifests.yml

76
arch.mk
View File

@ -689,6 +689,8 @@ ifeq ($(TARGET),mcxa)
-I$(MCUXPRESSO_DRIVERS) \
-I$(MCUXPRESSO_DRIVERS)/drivers \
-I$(MCUXPRESSO_DRIVERS)/drivers/common \
-I$(MCUXPRESSO_DRIVERS)/drivers/romapi \
-I$(MCUXPRESSO_DRIVERS)/../periph \
-I$(MCUXPRESSO)/drivers \
-I$(MCUXPRESSO)/drivers/common \
-I$(MCUXPRESSO_CMSIS)/Include \
@ -707,7 +709,7 @@ ifeq ($(TARGET),mcxa)
OBJS+=\
$(MCUXPRESSO_DRIVERS)/drivers/fsl_clock.o \
$(MCUXPRESSO)/drivers/mcx_spc/fsl_spc.o \
$(MCUXPRESSO_DRIVERS)/project_template/clock_config.o
$(MCUXPRESSO_PROJECT_TEMPLATE)/clock_config.o
endif
ifeq ($(TARGET),mcxw)
@ -718,7 +720,8 @@ ifeq ($(TARGET),mcxw)
CFLAGS+=\
-I$(MCUXPRESSO_DRIVERS) \
-I$(MCUXPRESSO_DRIVERS)/drivers \
-I$(MCUXPRESSO_DRIVERS)/periph2 \
-I$(MCUXPRESSO_DRIVERS)/drivers/romapi \
-I$(MCUXPRESSO_DRIVERS)/../periph2 \
-I$(MCUXPRESSO)/drivers \
-I$(MCUXPRESSO)/drivers/flash_k4 \
-I$(MCUXPRESSO)/drivers/ccm32k \
@ -739,9 +742,9 @@ ifeq ($(TARGET),mcxw)
OBJS+=\
$(MCUXPRESSO_DRIVERS)/drivers/fsl_clock.o \
$(MCUXPRESSO)/drivers/spc/fsl_spc.o \
$(MCUXPRESSO_DRIVERS)/project_template/clock_config.o \
$(MCUXPRESSO_PROJECT_TEMPLATE)/clock_config.o \
$(MCUXPRESSO)/drivers/ccm32k/fsl_ccm32k.o \
$(MCUXPRESSO_DRIVERS)/drivers/fsl_romapi.o
$(MCUXPRESSO_DRIVERS)/drivers/romapi/fsl_romapi.o
endif
ifeq ($(TARGET),mcxn)
@ -987,22 +990,34 @@ ifeq ($(TARGET),ti_hercules)
endif
ifeq ($(TARGET),lpc)
CFLAGS+=\
-I$(MCUXPRESSO_DRIVERS) \
-I$(MCUXPRESSO_DRIVERS)/drivers \
-I$(MCUXPRESSO)/drivers \
-I$(MCUXPRESSO)/drivers/common \
-I$(MCUXPRESSO_CMSIS)/Include \
-I$(MCUXPRESSO_CMSIS)/Core/Include
CFLAGS+=\
-DCPU_$(MCUXPRESSO_CPU) -DDEBUG_CONSOLE_ASSERT_DISABLE=1
OBJS+=\
$(MCUXPRESSO_DRIVERS)/drivers/fsl_clock.o \
$(MCUXPRESSO_DRIVERS)/drivers/fsl_power.o \
$(MCUXPRESSO_DRIVERS)/drivers/fsl_reset.o
LIBS+=\
$(MCUXPRESSO_DRIVERS)/mcuxpresso/libpower_softabi.a
ifeq ($(MCUXSDK),1)
# Some targets in the SDK use drivers from a different target
MCUXPRESSO_DRIVERS_SHARED?=$(MCUXPRESSO_DRIVERS)
ifneq (,$(filter LPC54628%,$(MCUXPRESSO_CPU)))
MCUXPRESSO_DRIVERS_SHARED=$(MCUXPRESSO)/devices/LPC/LPC54000/LPC54628
else ifneq (,$(filter LPC54605% LPC54606% LPC54607% LPC54608% LPC54616% LPC54618%,$(MCUXPRESSO_CPU)))
MCUXPRESSO_DRIVERS_SHARED=$(MCUXPRESSO)/devices/LPC/LPC54000/LPC54608
else ifneq (,$(filter LPC54018M% LPC54S018M%,$(MCUXPRESSO_CPU)))
MCUXPRESSO_DRIVERS_SHARED=$(MCUXPRESSO)/devices/LPC/LPC54000/LPC54S018M
else ifneq (,$(filter LPC54005% LPC54016% LPC54018% LPC54S005% LPC54S016% LPC54S018%,$(MCUXPRESSO_CPU)))
MCUXPRESSO_DRIVERS_SHARED=$(MCUXPRESSO)/devices/LPC/LPC54000/LPC54S018
endif
CFLAGS+=\
-I$(MCUXPRESSO_DRIVERS) \
-I$(MCUXPRESSO_DRIVERS_SHARED)/drivers \
-I$(MCUXPRESSO_DRIVERS)/../periph \
-I$(MCUXPRESSO)/drivers \
-I$(MCUXPRESSO)/drivers/common \
-I$(MCUXPRESSO)/drivers/flashiap \
-I$(MCUXPRESSO_CMSIS)/Include \
-I$(MCUXPRESSO_CMSIS)/Core/Include
CFLAGS+=\
-DCPU_$(MCUXPRESSO_CPU) -DDEBUG_CONSOLE_ASSERT_DISABLE=1
CFLAGS+=-DDCB=CoreDebug -DDCB_DEMCR_TRCENA_Msk=CoreDebug_DEMCR_TRCENA_Msk
OBJS+=\
$(MCUXPRESSO_DRIVERS_SHARED)/drivers/fsl_clock.o \
$(MCUXPRESSO_DRIVERS_SHARED)/drivers/fsl_power.o \
$(MCUXPRESSO_DRIVERS_SHARED)/drivers/fsl_reset.o
CFLAGS+=\
-I$(MCUXPRESSO)/drivers/flashiap \
-I$(MCUXPRESSO)/drivers/flexcomm
@ -1013,11 +1028,26 @@ ifeq ($(TARGET),lpc)
$(MCUXPRESSO)/drivers/flexcomm/usart/fsl_usart.o \
$(MCUXPRESSO)/drivers/flexcomm/fsl_flexcomm.o
else
CFLAGS+=\
-I$(MCUXPRESSO_DRIVERS) \
-I$(MCUXPRESSO_DRIVERS)/drivers \
-I$(MCUXPRESSO)/drivers \
-I$(MCUXPRESSO)/drivers/common \
-I$(MCUXPRESSO_CMSIS)/Include \
-I$(MCUXPRESSO_CMSIS)/Core/Include
CFLAGS+=\
-DCPU_$(MCUXPRESSO_CPU) -DDEBUG_CONSOLE_ASSERT_DISABLE=1
OBJS+=\
$(MCUXPRESSO_DRIVERS)/drivers/fsl_common.o \
$(MCUXPRESSO_DRIVERS)/drivers/fsl_flashiap.o \
$(MCUXPRESSO_DRIVERS)/drivers/fsl_usart.o \
$(MCUXPRESSO_DRIVERS)/drivers/fsl_flexcomm.o
$(MCUXPRESSO_DRIVERS)/drivers/fsl_clock.o \
$(MCUXPRESSO_DRIVERS)/drivers/fsl_power.o \
$(MCUXPRESSO_DRIVERS)/drivers/fsl_reset.o
LIBS+=\
$(MCUXPRESSO_DRIVERS)/mcuxpresso/libpower_softabi.a
OBJS+=\
$(MCUXPRESSO_DRIVERS)/drivers/fsl_common.o \
$(MCUXPRESSO_DRIVERS)/drivers/fsl_flashiap.o \
$(MCUXPRESSO_DRIVERS)/drivers/fsl_usart.o \
$(MCUXPRESSO_DRIVERS)/drivers/fsl_flexcomm.o
endif
endif

View File

@ -1,11 +1,11 @@
ARCH?=ARM
TARGET?=lpc
SIGN?=ECC256
MCUXSDK?=0
MCUXPRESSO?=$(PWD)/../FRDM-K64F
MCUXPRESSO_CMSIS?=$(MCUXPRESSO)/CMSIS
MCUXSDK?=1
MCUXPRESSO?=$(PWD)/../NXP/mcuxpresso-sdk/mcuxsdk
MCUXPRESSO_CMSIS?=$(PWD)/../NXP/CMSIS_5/CMSIS
MCUXPRESSO_CPU?=LPC54606J512BD208
MCUXPRESSO_DRIVERS?=$(MCUXPRESSO)/devices/LPC54606
MCUXPRESSO_DRIVERS?=$(MCUXPRESSO)/devices/LPC/LPC54000/LPC54606
DEBUG?=0
HASH?=SHA256
VTOR?=1

View File

@ -3,10 +3,12 @@ TARGET?=mcxa
SIGN?=ECC256
HASH?=SHA256
MCUXSDK?=1
MCUXPRESSO?=$(PWD)/../NXP/mcux-sdk
#MCUXPRESSO?=$(PWD)/../NXP/mcux-sdk
MCUXPRESSO?=$(PWD)/../NXP/mcuxpresso-sdk/mcuxsdk
MCUXPRESSO_CMSIS?=$(PWD)/../NXP/CMSIS_5/CMSIS
MCUXPRESSO_CPU?=MCXA153VLH
MCUXPRESSO_DRIVERS?=$(MCUXPRESSO)/devices/MCXA153
MCUXPRESSO_DRIVERS?=$(MCUXPRESSO)/devices/MCX/MCXA/MCXA153
MCUXPRESSO_PROJECT_TEMPLATE?=$(MCUXPRESSO)/examples/_boards/frdmmcxa153/project_template
DEBUG?=0
VTOR?=1
CORTEX_M0?=0

View File

@ -4,10 +4,11 @@ TARGET?=mcxw
SIGN?=ECC256
HASH?=SHA256
MCUXSDK?=1
MCUXPRESSO?=$(PWD)/../NXP/mcux-sdk
MCUXPRESSO?=$(PWD)/../NXP/mcuxpresso-sdk/mcuxsdk
MCUXPRESSO_CMSIS?=$(PWD)/../NXP/CMSIS_5/CMSIS
MCUXPRESSO_CPU?=MCXW716CMFTA
MCUXPRESSO_DRIVERS?=$(MCUXPRESSO)/devices/MCXW716C
MCUXPRESSO_DRIVERS?=$(MCUXPRESSO)/devices/MCX/MCXW/MCXW716C
MCUXPRESSO_PROJECT_TEMPLATE?=$(MCUXPRESSO)/examples/_boards/frdmmcxw71/project_template
DEBUG?=0
VTOR?=1
CORTEX_M0?=0

View File

@ -3,10 +3,11 @@ TARGET?=mcxw
SIGN?=ECC256
HASH?=SHA256
MCUXSDK?=1
MCUXPRESSO?=$(PWD)/../NXP/mcux-sdk
MCUXPRESSO?=$(PWD)/../NXP/mcuxpresso-sdk/mcuxsdk
MCUXPRESSO_CMSIS?=$(PWD)/../NXP/CMSIS_5/CMSIS
MCUXPRESSO_CPU?=MCXW716CMFTA
MCUXPRESSO_DRIVERS?=$(MCUXPRESSO)/devices/MCXW716C
MCUXPRESSO_DRIVERS?=$(MCUXPRESSO)/devices/MCX/MCXW/MCXW716C
MCUXPRESSO_PROJECT_TEMPLATE?=$(MCUXPRESSO)/examples/_boards/frdmmcxw71/project_template
DEBUG?=0
VTOR?=1
CORTEX_M0?=0

View File

@ -3220,8 +3220,27 @@ thread break: Stopped, 0x0, 0x0, cpuPowerPCBig, Connected (state, tid, pid, cpu
NXP MCXA153 is a Cortex-M33 microcontroller running at 96MHz.
The support has been tested using FRDM-MCXA153 with the onboard MCU-Link configured in JLink mode.
This requires the MCXA SDK from the NXP MCUXpresso SDK Builder. We tested using `SDK_2.14.2_MCXA153` and placed into `../NXP/MCXA153` by default (see .config or set with `MCUXPRESSO`).
MCUXpresso SDK Builder
This requires the [NXP MCUXpresso SDK](https://github.com/nxp-mcuxpresso/mcuxsdk-manifests),
placed into `../NXP/mcuxpresso-sdk` by default (see .config or set with
`MCUXPRESSO`).
To set up the MCUXpresso SDK:
```
cd ../NXP
# Install west
python -m venv west-venv
source west-venv/bin/activate
pip install west
# Set up the repository
west init -m https://github.com/nxp-mcuxpresso/mcuxsdk-manifests.git mcuxpresso-sdk
cd mcuxpresso-sdk
west update_board --set board frdmmcxa153
deactivate
```
### MCX A: Configuring and compiling
@ -3307,8 +3326,28 @@ c
NXP MCXW716 is a Cortex-M33 microcontroller running at 96MHz.
The support has been tested using FRDM-MCXW716 with the onboard MCU-Link configured in JLink mode.
This requires the MCXW SDK from the NXP MCUXpresso SDK Builder. We tested using [mcux-sdk](https://github.com/nxp-mcuxpresso/mcux-sdk) and [CMSIS_5](https://github.com/nxp-mcuxpresso/CMSIS_5)
placed under "../NXP". Adjust the MCUXPRESSO and MCUXPRESSO_CMSIS variables in your .config file according to your paths.
This requires the NXP MCUXpresso SDK. We tested using [mcuxsdk-manifests](https://github.com/nxp-mcuxpresso/mcuxsdk-manifests)
and [CMSIS_5](https://github.com/nxp-mcuxpresso/CMSIS_5) placed under "../NXP".
Adjust the MCUXPRESSO and MCUXPRESSO_CMSIS variables in your .config file
according to your paths.
To set up the MCUXpresso SDK:
```
cd ../NXP
# Install west
python -m venv west-venv
source west-venv/bin/activate
pip install west
# Set up the repository
west init -m https://github.com/nxp-mcuxpresso/mcuxsdk-manifests.git mcuxpresso-sdk
cd mcuxpresso-sdk
west update_board --set board frdmmcxw71
deactivate
```
### MCX W: Configuring and compiling

View File

@ -351,7 +351,7 @@ endif
ifeq ($(TARGET),mcxa)
LSCRIPT_TEMPLATE=ARM-mcxa.ld
APP_OBJS+=$(MCUXPRESSO_DRIVERS)/project_template/clock_config.o
APP_OBJS+=$(MCUXPRESSO_PROJECT_TEMPLATE)/clock_config.o
APP_OBJS+=$(MCUXPRESSO_DRIVERS)/drivers/fsl_clock.o
APP_OBJS+=$(MCUXPRESSO_DRIVERS)/drivers/fsl_reset.o
APP_OBJS+=$(MCUXPRESSO)/drivers/gpio/fsl_gpio.o
@ -378,9 +378,9 @@ ifeq ($(TARGET),mcxw)
APP_OBJS+=$(MCUXPRESSO_DRIVERS)/drivers/fsl_clock.o
APP_OBJS+=$(MCUXPRESSO)/drivers/gpio/fsl_gpio.o
APP_OBJS+=$(MCUXPRESSO)/drivers/spc/fsl_spc.o
APP_OBJS+=$(MCUXPRESSO_DRIVERS)/project_template/clock_config.o
APP_OBJS+=$(MCUXPRESSO_PROJECT_TEMPLATE)/clock_config.o
APP_OBJS+=$(MCUXPRESSO)/drivers/ccm32k/fsl_ccm32k.o
APP_OBJS+=$(MCUXPRESSO_DRIVERS)/drivers/fsl_romapi.o
APP_OBJS+=$(MCUXPRESSO_DRIVERS)/drivers/romapi/fsl_romapi.o
LDFLAGS+=--specs=nosys.specs
endif