summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhathach <[email protected]>2026-03-14 00:11:45 +0700
committerhathach <[email protected]>2026-03-14 00:11:45 +0700
commit36400d108fc3d5aad754305d2667456321ad3412 (patch)
tree623141f22863b6e03c301232a9977ebf0589874c
parente2ead60107ce2e1324c7578fcee98efb8f0c5975 (diff)
migrate kinetis_k32l build system to new mcux-devices paths
-rwxr-xr-x.github/workflows/ci_set_matrix.py6
-rw-r--r--hw/bsp/kinetis_k32l/boards/frdm_k32l2a4s/board.cmake4
-rw-r--r--hw/bsp/kinetis_k32l/boards/frdm_k32l2a4s/board.mk10
-rw-r--r--hw/bsp/kinetis_k32l/boards/frdm_k32l2b/board.cmake4
-rw-r--r--hw/bsp/kinetis_k32l/boards/frdm_k32l2b/board.mk10
-rw-r--r--hw/bsp/kinetis_k32l/boards/kuiic/board.cmake2
-rw-r--r--hw/bsp/kinetis_k32l/boards/kuiic/board.mk8
-rw-r--r--hw/bsp/kinetis_k32l/family.cmake43
-rw-r--r--hw/bsp/kinetis_k32l/family.mk32
9 files changed, 64 insertions, 55 deletions
diff --git a/.github/workflows/ci_set_matrix.py b/.github/workflows/ci_set_matrix.py
index 1ea5199cf..98d15c8f9 100755
--- a/.github/workflows/ci_set_matrix.py
+++ b/.github/workflows/ci_set_matrix.py
@@ -35,9 +35,9 @@ family_list = {
"gd32vf103": ["riscv-gcc"],
"hpmicro": ["riscv-gcc"],
"imxrt": ["arm-gcc", "arm-clang"],
- "kinetis_k": ["arm-gcc", "arm-clang"],
- "kinetis_k32l": ["arm-gcc", "arm-clang"],
- "kinetis_kl": ["arm-gcc", "arm-clang"],
+ "kinetis_k": ["arm-gcc"],
+ "kinetis_k32l": ["arm-gcc"],
+ "kinetis_kl": ["arm-gcc"],
"lpc11": ["arm-gcc", "arm-clang"],
"lpc13": ["arm-gcc", "arm-clang"],
"lpc15": ["arm-gcc", "arm-clang"],
diff --git a/hw/bsp/kinetis_k32l/boards/frdm_k32l2a4s/board.cmake b/hw/bsp/kinetis_k32l/boards/frdm_k32l2a4s/board.cmake
index d7cafa495..3e7a4cac6 100644
--- a/hw/bsp/kinetis_k32l/boards/frdm_k32l2a4s/board.cmake
+++ b/hw/bsp/kinetis_k32l/boards/frdm_k32l2a4s/board.cmake
@@ -4,7 +4,7 @@ set(MCU_CORE ${MCU_VARIANT})
set(JLINK_DEVICE K32L2A41xxxxA)
set(PYOCD_TARGET K32L2A)
-set(LD_FILE_GNU ${SDK_DIR}/K32L/${MCU_VARIANT}/gcc/K32L2A41xxxxA_flash.ld)
+set(LD_FILE_GNU ${MCUX_DEVICES}/K32L/${MCU_VARIANT}/gcc/K32L2A41xxxxA_flash.ld)
function(update_board TARGET)
target_sources(${TARGET} PUBLIC
@@ -14,6 +14,6 @@ function(update_board TARGET)
CPU_K32L2A41VLH1A
)
target_include_directories(${TARGET} PUBLIC
- ${SDK_DIR}/K32L/periph1
+ ${MCUX_DEVICES}/K32L/periph1
)
endfunction()
diff --git a/hw/bsp/kinetis_k32l/boards/frdm_k32l2a4s/board.mk b/hw/bsp/kinetis_k32l/boards/frdm_k32l2a4s/board.mk
index fb3eb2a03..513b78d66 100644
--- a/hw/bsp/kinetis_k32l/boards/frdm_k32l2a4s/board.mk
+++ b/hw/bsp/kinetis_k32l/boards/frdm_k32l2a4s/board.mk
@@ -1,4 +1,4 @@
-MCU = K32L2A41A
+MCU_VARIANT = K32L2A41A
CFLAGS += -DCPU_K32L2A41VLH1A
@@ -6,7 +6,13 @@ CFLAGS += -DCPU_K32L2A41VLH1A
CFLAGS_GCC += -Wno-error=unused-parameter -Wno-error=redundant-decls -Wno-error=cast-qual
# All source paths should be relative to the top level.
-LD_FILE = $(MCU_DIR)/gcc/K32L2A41xxxxA_flash.ld
+LD_FILE = $(MCUX_DEVICES)/K32L/$(MCU_VARIANT)/gcc/K32L2A41xxxxA_flash.ld
+
+INC += \
+ $(TOP)/$(MCUX_DEVICES)/K32L/periph1
+
+SRC_C += \
+ $(BOARD_PATH)/clock_config.c
# For flash-jlink target
JLINK_DEVICE = K32L2A41xxxxA
diff --git a/hw/bsp/kinetis_k32l/boards/frdm_k32l2b/board.cmake b/hw/bsp/kinetis_k32l/boards/frdm_k32l2b/board.cmake
index f02230063..0efb0cb3f 100644
--- a/hw/bsp/kinetis_k32l/boards/frdm_k32l2b/board.cmake
+++ b/hw/bsp/kinetis_k32l/boards/frdm_k32l2b/board.cmake
@@ -4,7 +4,7 @@ set(MCU_CORE ${MCU_VARIANT})
set(JLINK_DEVICE K32L2B31xxxxA)
set(PYOCD_TARGET K32L2B)
-set(LD_FILE_GNU ${SDK_DIR}/K32L/${MCU_VARIANT}/gcc/K32L2B31xxxxA_flash.ld)
+set(LD_FILE_GNU ${MCUX_DEVICES}/K32L/${MCU_VARIANT}/gcc/K32L2B31xxxxA_flash.ld)
function(update_board TARGET)
target_sources(${TARGET} PUBLIC
@@ -14,6 +14,6 @@ function(update_board TARGET)
CPU_K32L2B31VLH0A
)
target_include_directories(${TARGET} PUBLIC
- ${SDK_DIR}/K32L/periph2
+ ${MCUX_DEVICES}/K32L/periph2
)
endfunction()
diff --git a/hw/bsp/kinetis_k32l/boards/frdm_k32l2b/board.mk b/hw/bsp/kinetis_k32l/boards/frdm_k32l2b/board.mk
index 9cf36c500..b204a142c 100644
--- a/hw/bsp/kinetis_k32l/boards/frdm_k32l2b/board.mk
+++ b/hw/bsp/kinetis_k32l/boards/frdm_k32l2b/board.mk
@@ -1,4 +1,4 @@
-MCU = K32L2B31A
+MCU_VARIANT = K32L2B31A
CFLAGS += -DCPU_K32L2B31VLH0A
@@ -6,7 +6,13 @@ CFLAGS += -DCPU_K32L2B31VLH0A
CFLAGS += -Wno-error=unused-parameter -Wno-error=redundant-decls
# All source paths should be relative to the top level.
-LD_FILE = $(MCU_DIR)/gcc/K32L2B31xxxxA_flash.ld
+LD_FILE = $(MCUX_DEVICES)/K32L/$(MCU_VARIANT)/gcc/K32L2B31xxxxA_flash.ld
+
+INC += \
+ $(TOP)/$(MCUX_DEVICES)/K32L/periph2
+
+SRC_C += \
+ $(BOARD_PATH)/clock_config.c
# For flash-jlink target
JLINK_DEVICE = K32L2B31xxxxA
diff --git a/hw/bsp/kinetis_k32l/boards/kuiic/board.cmake b/hw/bsp/kinetis_k32l/boards/kuiic/board.cmake
index c99029109..506f23e51 100644
--- a/hw/bsp/kinetis_k32l/boards/kuiic/board.cmake
+++ b/hw/bsp/kinetis_k32l/boards/kuiic/board.cmake
@@ -14,6 +14,6 @@ function(update_board TARGET)
CPU_K32L2B31VLH0A
)
target_include_directories(${TARGET} PUBLIC
- ${SDK_DIR}/K32L/periph2
+ ${MCUX_DEVICES}/K32L/periph2
)
endfunction()
diff --git a/hw/bsp/kinetis_k32l/boards/kuiic/board.mk b/hw/bsp/kinetis_k32l/boards/kuiic/board.mk
index 2bc5b1e34..4dc4ff60b 100644
--- a/hw/bsp/kinetis_k32l/boards/kuiic/board.mk
+++ b/hw/bsp/kinetis_k32l/boards/kuiic/board.mk
@@ -1,4 +1,4 @@
-MCU = K32L2B31A
+MCU_VARIANT = K32L2B31A
CFLAGS += -DCPU_K32L2B31VLH0A
@@ -8,6 +8,12 @@ CFLAGS += -Wno-error=unused-parameter -Wno-error=redundant-decls
# All source paths should be relative to the top level.
LD_FILE = $(BOARD_PATH)/kuiic.ld
+INC += \
+ $(TOP)/$(MCUX_DEVICES)/K32L/periph2
+
+SRC_C += \
+ $(BOARD_PATH)/clock_config.c
+
# For flash-jlink target
JLINK_DEVICE = K32L2B31xxxxA
diff --git a/hw/bsp/kinetis_k32l/family.cmake b/hw/bsp/kinetis_k32l/family.cmake
index 694017cb4..020695589 100644
--- a/hw/bsp/kinetis_k32l/family.cmake
+++ b/hw/bsp/kinetis_k32l/family.cmake
@@ -1,7 +1,7 @@
include_guard()
-set(MCUX_DIR ${TOP}/hw/mcu/nxp/mcuxsdk-core)
-set(SDK_DIR ${TOP}/hw/mcu/nxp/mcux-devices-kinetis)
+set(MCUX_CORE ${TOP}/hw/mcu/nxp/mcuxsdk-core)
+set(MCUX_DEVICES ${TOP}/hw/mcu/nxp/mcux-devices-kinetis)
set(CMSIS_DIR ${TOP}/lib/CMSIS_6)
# include board specific
@@ -18,14 +18,11 @@ set(FAMILY_MCUS KINETIS_K32L CACHE INTERNAL "")
# Startup & Linker script
#------------------------------------
if (NOT DEFINED LD_FILE_GNU)
- set(LD_FILE_GNU ${SDK_DIR}/K32L/${MCU_VARIANT}/gcc/${MCU_CORE}_flash.ld)
+ set(LD_FILE_GNU ${MCUX_DEVICES}/K32L/${MCU_VARIANT}/gcc/${MCU_CORE}_flash.ld)
endif ()
-set(LD_FILE_Clang ${LD_FILE_GNU})
-
if (NOT DEFINED STARTUP_FILE_GNU)
- set(STARTUP_FILE_GNU ${SDK_DIR}/K32L/${MCU_VARIANT}/gcc/startup_${MCU_VARIANT}.S)
+ set(STARTUP_FILE_GNU ${MCUX_DEVICES}/K32L/${MCU_VARIANT}/gcc/startup_${MCU_VARIANT}.S)
endif ()
-set(STARTUP_FILE_Clang ${STARTUP_FILE_GNU})
#------------------------------------
# Board Target
@@ -33,24 +30,25 @@ set(STARTUP_FILE_Clang ${STARTUP_FILE_GNU})
function(family_add_board BOARD_TARGET)
add_library(${BOARD_TARGET} STATIC
# driver
- ${MCUX_DIR}/drivers/gpio/fsl_gpio.c
- ${MCUX_DIR}/drivers/lpuart/fsl_lpuart.c
+ ${MCUX_CORE}/drivers/gpio/fsl_gpio.c
+ ${MCUX_CORE}/drivers/common/fsl_common_arm.c
+ ${MCUX_CORE}/drivers/lpuart/fsl_lpuart.c
# mcu
- ${SDK_DIR}/K32L/${MCU_VARIANT}/system_${MCU_VARIANT}.c
- ${SDK_DIR}/K32L/${MCU_VARIANT}/drivers/fsl_clock.c
+ ${MCUX_DEVICES}/K32L/${MCU_VARIANT}/system_${MCU_VARIANT}.c
+ ${MCUX_DEVICES}/K32L/${MCU_VARIANT}/drivers/fsl_clock.c
)
target_compile_definitions(${BOARD_TARGET} PUBLIC
__STARTUP_CLEAR_BSS
)
target_include_directories(${BOARD_TARGET} PUBLIC
${CMSIS_DIR}/CMSIS/Core/Include
- ${MCUX_DIR}/drivers/common
- ${MCUX_DIR}/drivers/gpio
- ${MCUX_DIR}/drivers/lpuart
- ${MCUX_DIR}/drivers/port
- ${MCUX_DIR}/drivers/smc
- ${SDK_DIR}/K32L/${MCU_VARIANT}
- ${SDK_DIR}/K32L/${MCU_VARIANT}/drivers
+ ${MCUX_CORE}/drivers/common
+ ${MCUX_CORE}/drivers/gpio
+ ${MCUX_CORE}/drivers/lpuart
+ ${MCUX_CORE}/drivers/port
+ ${MCUX_CORE}/drivers/smc
+ ${MCUX_DEVICES}/K32L/${MCU_VARIANT}
+ ${MCUX_DEVICES}/K32L/${MCU_VARIANT}/drivers
)
update_board(${BOARD_TARGET})
@@ -82,19 +80,12 @@ function(family_configure_example TARGET RTOS)
--specs=nosys.specs --specs=nano.specs
-nostartfiles
)
- elseif (CMAKE_C_COMPILER_ID STREQUAL "Clang")
- target_link_options(${TARGET} PUBLIC
- "LINKER:--script=${LD_FILE_GNU}"
- )
+ set_source_files_properties(${CMAKE_CURRENT_FUNCTION_LIST_DIR}/family.c PROPERTIES COMPILE_FLAGS "-Wno-missing-prototypes")
elseif (CMAKE_C_COMPILER_ID STREQUAL "IAR")
target_link_options(${TARGET} PUBLIC
"LINKER:--config=${LD_FILE_IAR}"
)
endif ()
-
- if (CMAKE_C_COMPILER_ID STREQUAL "GNU" OR CMAKE_C_COMPILER_ID STREQUAL "Clang")
- set_source_files_properties(${CMAKE_CURRENT_FUNCTION_LIST_DIR}/family.c PROPERTIES COMPILE_FLAGS "-Wno-missing-prototypes")
- endif ()
set_source_files_properties(${STARTUP_FILE_${CMAKE_C_COMPILER_ID}} PROPERTIES
SKIP_LINTING ON
COMPILE_OPTIONS -w)
diff --git a/hw/bsp/kinetis_k32l/family.mk b/hw/bsp/kinetis_k32l/family.mk
index e18348d4d..2802337d3 100644
--- a/hw/bsp/kinetis_k32l/family.mk
+++ b/hw/bsp/kinetis_k32l/family.mk
@@ -1,9 +1,9 @@
UF2_FAMILY_ID = 0x7f83e793
-SDK_DIR = hw/mcu/nxp/mcux-sdk
-MCU_DIR = $(SDK_DIR)/devices/$(MCU)
include $(TOP)/$(BOARD_PATH)/board.mk
CPU_CORE ?= cortex-m0plus
+MCUX_CORE = hw/mcu/nxp/mcuxsdk-core
+MCUX_DEVICES = hw/mcu/nxp/mcux-devices-kinetis
CFLAGS += \
-DCFG_TUSB_MCU=OPT_MCU_KINETIS_K32L
@@ -15,21 +15,21 @@ LDFLAGS_GCC += \
SRC_C += \
src/portable/nxp/khci/dcd_khci.c \
src/portable/nxp/khci/hcd_khci.c \
- $(MCU_DIR)/system_$(MCU).c \
- $(MCU_DIR)/drivers/fsl_clock.c \
- $(SDK_DIR)/drivers/gpio/fsl_gpio.c \
- $(SDK_DIR)/drivers/lpuart/fsl_lpuart.c
+ $(MCUX_DEVICES)/K32L/$(MCU_VARIANT)/system_$(MCU_VARIANT).c \
+ $(MCUX_DEVICES)/K32L/$(MCU_VARIANT)/drivers/fsl_clock.c \
+ $(MCUX_CORE)/drivers/gpio/fsl_gpio.c \
+ $(MCUX_CORE)/drivers/lpuart/fsl_lpuart.c \
+ $(MCUX_CORE)/drivers/common/fsl_common_arm.c
INC += \
$(TOP)/$(BOARD_PATH) \
- $(TOP)/lib/CMSIS_5/CMSIS/Core/Include \
- $(TOP)/$(MCU_DIR) \
- $(TOP)/$(MCU_DIR)/project_template \
- $(TOP)/$(MCU_DIR)/drivers \
- $(TOP)/$(SDK_DIR)/drivers/common \
- $(TOP)/$(SDK_DIR)/drivers/gpio \
- $(TOP)/$(SDK_DIR)/drivers/lpuart \
- $(TOP)/$(SDK_DIR)/drivers/port \
- $(TOP)/$(SDK_DIR)/drivers/smc \
+ $(TOP)/lib/CMSIS_6/CMSIS/Core/Include \
+ $(TOP)/$(MCUX_DEVICES)/K32L/$(MCU_VARIANT) \
+ $(TOP)/$(MCUX_DEVICES)/K32L/$(MCU_VARIANT)/drivers \
+ $(TOP)/$(MCUX_CORE)/drivers/common \
+ $(TOP)/$(MCUX_CORE)/drivers/gpio \
+ $(TOP)/$(MCUX_CORE)/drivers/lpuart \
+ $(TOP)/$(MCUX_CORE)/drivers/port \
+ $(TOP)/$(MCUX_CORE)/drivers/smc
-SRC_S += $(MCU_DIR)/gcc/startup_$(MCU).S
+SRC_S += $(MCUX_DEVICES)/K32L/$(MCU_VARIANT)/gcc/startup_$(MCU_VARIANT).S