summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhathach <[email protected]>2023-03-19 17:58:20 +0700
committerhathach <[email protected]>2023-03-19 17:58:20 +0700
commit934baae9b8dd58dd17881ef8ad8bd3428b208b1f (patch)
treedfd4fcfbaae32530d596aa8f5f93205c8f6f7964
parent1154b7a9e733fd6571c2a47e52d6d49da0b3b096 (diff)
bsp lpc51
-rw-r--r--.github/workflows/build_arm.yml2
-rw-r--r--hw/bsp/lpc51/boards/lpcxpresso51u68/board.mk37
-rw-r--r--hw/bsp/lpc51/boards/lpcxpresso51u68/lpcxpresso51u68.c (renamed from hw/bsp/lpcxpresso51u68/lpcxpresso51u68.c)0
-rw-r--r--hw/bsp/lpc51/family.mk (renamed from hw/bsp/lpcxpresso51u68/board.mk)19
4 files changed, 44 insertions, 14 deletions
diff --git a/.github/workflows/build_arm.yml b/.github/workflows/build_arm.yml
index 01b390ac8..2b64e5410 100644
--- a/.github/workflows/build_arm.yml
+++ b/.github/workflows/build_arm.yml
@@ -36,7 +36,7 @@ jobs:
- 'imxrt'
- 'kinetis_k32 kinetis_kl'
- 'lpc11 lpc13 lpc15 lpc18'
- - 'lpc54 lpc55'
+ - 'lpc51 lpc54 lpc55'
- 'mm32 msp432e4'
- 'nrf'
- 'ra'
diff --git a/hw/bsp/lpc51/boards/lpcxpresso51u68/board.mk b/hw/bsp/lpc51/boards/lpcxpresso51u68/board.mk
new file mode 100644
index 000000000..27b9b371f
--- /dev/null
+++ b/hw/bsp/lpc51/boards/lpcxpresso51u68/board.mk
@@ -0,0 +1,37 @@
+MCU = LPC51U68
+
+CFLAGS += \
+ -DCPU_LPC51U68JBD64 \
+ -DCFG_TUSB_MEM_SECTION='__attribute__((section(".data")))'
+
+SRC_C += \
+ src/portable/nxp/lpc_ip3511/dcd_lpc_ip3511.c \
+ $(MCU_DIR)/system_LPC51U68.c \
+ $(MCU_DIR)/drivers/fsl_clock.c \
+ $(MCU_DIR)/drivers/fsl_power.c \
+ $(MCU_DIR)/drivers/fsl_reset.c \
+ $(SDK_DIR)/drivers/lpc_gpio/fsl_gpio.c \
+ $(SDK_DIR)/drivers/flexcomm/fsl_flexcomm.c \
+ $(SDK_DIR)/drivers/flexcomm/fsl_usart.c
+
+INC += \
+ $(TOP)/$(MCU_DIR)/../../CMSIS/Include \
+ $(TOP)/$(MCU_DIR) \
+ $(TOP)/$(MCU_DIR)/drivers \
+ $(TOP)/$(SDK_DIR)/drivers/common \
+ $(TOP)/$(SDK_DIR)/drivers/flexcomm \
+ $(TOP)/$(SDK_DIR)/drivers/lpc_iocon \
+ $(TOP)/$(SDK_DIR)/drivers/lpc_gpio
+
+SRC_S += $(MCU_DIR)/gcc/startup_LPC51U68.S
+
+LIBS += $(TOP)/$(MCU_DIR)/gcc/libpower.a
+
+# For freeRTOS port source
+FREERTOS_PORTABLE_SRC = $(FREERTOS_PORTABLE_PATH)/ARM_CM0
+
+JLINK_DEVICE = LPC51U68
+PYOCD_TARGET = LPC51U68
+
+# flash using pyocd (51u68 is not supported yet)
+flash: flash-pyocd
diff --git a/hw/bsp/lpcxpresso51u68/lpcxpresso51u68.c b/hw/bsp/lpc51/boards/lpcxpresso51u68/lpcxpresso51u68.c
index c94b0d6d8..c94b0d6d8 100644
--- a/hw/bsp/lpcxpresso51u68/lpcxpresso51u68.c
+++ b/hw/bsp/lpc51/boards/lpcxpresso51u68/lpcxpresso51u68.c
diff --git a/hw/bsp/lpcxpresso51u68/board.mk b/hw/bsp/lpc51/family.mk
index b1a126c51..8a64f0945 100644
--- a/hw/bsp/lpcxpresso51u68/board.mk
+++ b/hw/bsp/lpc51/family.mk
@@ -1,27 +1,26 @@
SDK_DIR = hw/mcu/nxp/mcux-sdk
DEPS_SUBMODULES += $(SDK_DIR)
+MCU_DIR = $(SDK_DIR)/devices/$(MCU)
+include $(TOP)/$(BOARD_PATH)/board.mk
+
CFLAGS += \
-flto \
-mthumb \
-mabi=aapcs \
-mcpu=cortex-m0plus \
- -DCPU_LPC51U68JBD64 \
-DCFG_TUSB_MCU=OPT_MCU_LPC51UXX \
- -DCFG_TUSB_MEM_SECTION='__attribute__((section(".data")))' \
-DCFG_TUSB_MEM_ALIGN='__attribute__((aligned(64)))'
# mcu driver cause following warnings
CFLAGS += -Wno-error=unused-parameter
-MCU_DIR = $(SDK_DIR)/devices/LPC51U68
-
# All source paths should be relative to the top level.
-LD_FILE = $(MCU_DIR)/gcc/LPC51U68_flash.ld
+LD_FILE = $(MCU_DIR)/gcc/$(MCU)_flash.ld
SRC_C += \
src/portable/nxp/lpc_ip3511/dcd_lpc_ip3511.c \
- $(MCU_DIR)/system_LPC51U68.c \
+ $(MCU_DIR)/system_$(MCU).c \
$(MCU_DIR)/drivers/fsl_clock.c \
$(MCU_DIR)/drivers/fsl_power.c \
$(MCU_DIR)/drivers/fsl_reset.c \
@@ -38,15 +37,9 @@ INC += \
$(TOP)/$(SDK_DIR)/drivers/lpc_iocon \
$(TOP)/$(SDK_DIR)/drivers/lpc_gpio
-SRC_S += $(MCU_DIR)/gcc/startup_LPC51U68.S
+SRC_S += $(MCU_DIR)/gcc/startup_$(MCU).S
LIBS += $(TOP)/$(MCU_DIR)/gcc/libpower.a
# For freeRTOS port source
FREERTOS_PORTABLE_SRC = $(FREERTOS_PORTABLE_PATH)/ARM_CM0
-
-JLINK_DEVICE = LPC51U68
-PYOCD_TARGET = LPC51U68
-
-# flash using pyocd (51u68 is not supported yet)
-flash: flash-pyocd