summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--hw/bsp/py32f0/boards/py32f071_dev_board/board.cmake1
-rw-r--r--hw/bsp/py32f0/boards/py32f071_dev_board/board.mk2
-rw-r--r--hw/bsp/py32f0/family.cmake30
-rw-r--r--hw/bsp/py32f0/family.mk17
4 files changed, 23 insertions, 27 deletions
diff --git a/hw/bsp/py32f0/boards/py32f071_dev_board/board.cmake b/hw/bsp/py32f0/boards/py32f071_dev_board/board.cmake
index 4c0f227ce..2ecf476bd 100644
--- a/hw/bsp/py32f0/boards/py32f071_dev_board/board.cmake
+++ b/hw/bsp/py32f0/boards/py32f071_dev_board/board.cmake
@@ -1,4 +1,5 @@
set(PYOCD_TARGET py32f071xb)
+set(PY32_SERIES PY32F071)
set(LD_FILE_GNU ${CMAKE_CURRENT_LIST_DIR}/py32f071xb.ld)
function(update_board TARGET)
diff --git a/hw/bsp/py32f0/boards/py32f071_dev_board/board.mk b/hw/bsp/py32f0/boards/py32f071_dev_board/board.mk
index 235465d68..00003f364 100644
--- a/hw/bsp/py32f0/boards/py32f071_dev_board/board.mk
+++ b/hw/bsp/py32f0/boards/py32f071_dev_board/board.mk
@@ -1,3 +1,5 @@
+PY32_SERIES = PY32F071
+
CFLAGS += \
-DPY32F071xB \
-DCFG_EXAMPLE_MSC_DUAL_READONLY \
diff --git a/hw/bsp/py32f0/family.cmake b/hw/bsp/py32f0/family.cmake
index 2416ace88..df6dec42b 100644
--- a/hw/bsp/py32f0/family.cmake
+++ b/hw/bsp/py32f0/family.cmake
@@ -2,27 +2,19 @@ include_guard()
include(${CMAKE_CURRENT_LIST_DIR}/boards/${BOARD}/board.cmake)
-if (NOT DEFINED PY32_SDK_NAME)
- set(PY32_SDK_NAME PY32F071_Firmware)
-endif ()
-if (NOT DEFINED PY32_SERIES)
- set(PY32_SERIES PY32F071)
-endif ()
-if (NOT DEFINED PY32_TEMPLATE)
- set(PY32_TEMPLATE PY32F071xx_Templates)
-endif ()
-if (NOT DEFINED PY32_STARTUP)
- set(PY32_STARTUP startup_py32f071xx.s)
-endif ()
-if (NOT DEFINED PY32_SYSTEM_SOURCE)
- set(PY32_SYSTEM_SOURCE system_py32f071.c)
-endif ()
-if (NOT DEFINED PY32_HAL_PREFIX)
- set(PY32_HAL_PREFIX py32f071)
+if (NOT DEFINED MCU_VARIANT)
+ set(MCU_VARIANT PY32F071)
endif ()
+string(TOLOWER ${MCU_VARIANT} PY32_SERIES_LOWER)
+set(PY32_SDK_NAME ${MCU_VARIANT}_Firmware)
+set(PY32_TEMPLATE ${MCU_VARIANT}xx_Templates)
+set(PY32_STARTUP startup_${PY32_SERIES_LOWER}xx.s)
+set(PY32_SYSTEM_SOURCE system_${PY32_SERIES_LOWER}.c)
+set(PY32_HAL_PREFIX ${PY32_SERIES_LOWER})
+
set(PY32_SDK ${TOP}/hw/mcu/puya/${PY32_SDK_NAME})
-set(PY32_HAL ${PY32_SDK}/Drivers/${PY32_SERIES}_HAL_Driver)
-set(PY32_CMSIS ${PY32_SDK}/Drivers/CMSIS/Device/${PY32_SERIES})
+set(PY32_HAL ${PY32_SDK}/Drivers/${MCU_VARIANT}_HAL_Driver)
+set(PY32_CMSIS ${PY32_SDK}/Drivers/CMSIS/Device/${MCU_VARIANT})
set(CMAKE_SYSTEM_CPU cortex-m0plus CACHE INTERNAL "System Processor")
set(CMAKE_TOOLCHAIN_FILE ${TOP}/examples/build_system/cmake/toolchain/arm_${TOOLCHAIN}.cmake)
diff --git a/hw/bsp/py32f0/family.mk b/hw/bsp/py32f0/family.mk
index 7ddfea5f7..b01a9eefa 100644
--- a/hw/bsp/py32f0/family.mk
+++ b/hw/bsp/py32f0/family.mk
@@ -2,17 +2,18 @@ UF2_FAMILY_ID = 0x0
include $(TOP)/$(BOARD_PATH)/board.mk
-PY32_SDK_NAME ?= PY32F071_Firmware
-PY32_SERIES ?= PY32F071
-PY32_TEMPLATE ?= PY32F071xx_Templates
-PY32_STARTUP ?= startup_py32f071xx.s
-PY32_SYSTEM_SOURCE ?= system_py32f071.c
-PY32_HAL_PREFIX ?= py32f071
+MCU_VARIANT ?= PY32F071
+PY32_SERIES_LOWER = $(subst PY32F,py32f,$(MCU_VARIANT))
+PY32_SDK_NAME = $(MCU_VARIANT)_Firmware
+PY32_TEMPLATE = $(MCU_VARIANT)xx_Templates
+PY32_STARTUP = startup_$(PY32_SERIES_LOWER)xx.s
+PY32_SYSTEM_SOURCE = system_$(PY32_SERIES_LOWER).c
+PY32_HAL_PREFIX = $(PY32_SERIES_LOWER)
SDK_DIR = hw/mcu/puya/$(PY32_SDK_NAME)
-HAL_DIR = $(SDK_DIR)/Drivers/$(PY32_SERIES)_HAL_Driver
+HAL_DIR = $(SDK_DIR)/Drivers/$(MCU_VARIANT)_HAL_Driver
CMSIS_DIR = $(SDK_DIR)/Drivers/CMSIS
-CMSIS_DEVICE_DIR = $(CMSIS_DIR)/Device/$(PY32_SERIES)
+CMSIS_DEVICE_DIR = $(CMSIS_DIR)/Device/$(MCU_VARIANT)
DEPS_SUBMODULES += $(SDK_DIR)