2021-03-03 20:07:17 +07:00
|
|
|
ST_FAMILY = h7
|
2024-11-07 15:04:19 +07:00
|
|
|
ST_PREFIX = stm32${ST_FAMILY}xx
|
2021-03-03 20:07:17 +07:00
|
|
|
ST_CMSIS = hw/mcu/st/cmsis_device_$(ST_FAMILY)
|
2024-11-07 15:04:19 +07:00
|
|
|
ST_HAL_DRIVER = hw/mcu/st/${ST_PREFIX}_hal_driver
|
|
|
|
ST_MFXSTM32L152 = hw/mcu/st/stm32-mfxstm32l152
|
|
|
|
|
|
|
|
UF2_FAMILY_ID = 0x6db66082
|
2021-03-03 20:07:17 +07:00
|
|
|
|
|
|
|
include $(TOP)/$(BOARD_PATH)/board.mk
|
2023-06-24 17:35:37 +07:00
|
|
|
CPU_CORE ?= cortex-m7
|
2020-07-02 11:58:40 +07:00
|
|
|
|
2024-11-07 15:04:19 +07:00
|
|
|
# ----------------------
|
|
|
|
# Port & Speed Selection
|
|
|
|
# ----------------------
|
|
|
|
RHPORT_SPEED ?= OPT_MODE_FULL_SPEED OPT_MODE_FULL_SPEED
|
|
|
|
RHPORT_DEVICE ?= 0
|
|
|
|
RHPORT_HOST ?= 0
|
|
|
|
|
|
|
|
# Determine RHPORT_DEVICE_SPEED if not defined
|
|
|
|
ifndef RHPORT_DEVICE_SPEED
|
|
|
|
ifeq ($(RHPORT_DEVICE), 0)
|
|
|
|
RHPORT_DEVICE_SPEED = $(firstword $(RHPORT_SPEED))
|
|
|
|
else
|
|
|
|
RHPORT_DEVICE_SPEED = $(lastword $(RHPORT_SPEED))
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
|
|
|
# Determine RHPORT_HOST_SPEED if not defined
|
|
|
|
ifndef RHPORT_HOST_SPEED
|
|
|
|
ifeq ($(RHPORT_HOST), 0)
|
|
|
|
RHPORT_HOST_SPEED = $(firstword $(RHPORT_SPEED))
|
|
|
|
else
|
|
|
|
RHPORT_HOST_SPEED = $(lastword $(RHPORT_SPEED))
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
2023-01-30 17:04:39 +07:00
|
|
|
# --------------
|
|
|
|
# Compiler Flags
|
|
|
|
# --------------
|
2020-05-23 13:29:30 +07:00
|
|
|
CFLAGS += \
|
2020-05-26 12:18:18 +07:00
|
|
|
-DCFG_TUSB_MCU=OPT_MCU_STM32H7 \
|
2024-11-07 15:04:19 +07:00
|
|
|
-DBOARD_TUD_RHPORT=${RHPORT_DEVICE} \
|
|
|
|
-DBOARD_TUD_MAX_SPEED=${RHPORT_DEVICE_SPEED} \
|
|
|
|
-DBOARD_TUH_RHPORT=${RHPORT_HOST} \
|
|
|
|
-DBOARD_TUH_MAX_SPEED=${RHPORT_HOST_SPEED} \
|
2020-05-23 13:29:30 +07:00
|
|
|
|
2023-01-30 17:04:39 +07:00
|
|
|
# GCC Flags
|
2023-06-24 19:31:33 +07:00
|
|
|
CFLAGS_GCC += \
|
2023-01-30 17:04:39 +07:00
|
|
|
-flto \
|
|
|
|
|
2020-05-23 13:29:30 +07:00
|
|
|
# suppress warning caused by vendor mcu driver
|
2024-04-24 22:11:08 +07:00
|
|
|
CFLAGS_GCC += \
|
|
|
|
-Wno-error=cast-align \
|
|
|
|
-Wno-error=unused-parameter \
|
2023-01-30 17:04:39 +07:00
|
|
|
|
2024-04-24 22:11:08 +07:00
|
|
|
LDFLAGS_GCC += \
|
|
|
|
-nostdlib -nostartfiles \
|
|
|
|
--specs=nosys.specs --specs=nano.specs
|
2023-11-23 12:43:13 +07:00
|
|
|
|
2023-01-30 17:04:39 +07:00
|
|
|
# -----------------
|
|
|
|
# Sources & Include
|
|
|
|
# -----------------
|
2021-10-30 20:42:55 +07:00
|
|
|
|
2020-05-23 13:29:30 +07:00
|
|
|
SRC_C += \
|
2021-10-28 12:52:18 +07:00
|
|
|
src/portable/synopsys/dwc2/dcd_dwc2.c \
|
2024-10-25 19:08:23 +07:00
|
|
|
src/portable/synopsys/dwc2/hcd_dwc2.c \
|
|
|
|
src/portable/synopsys/dwc2/dwc2_common.c \
|
2024-11-07 15:04:19 +07:00
|
|
|
$(ST_CMSIS)/Source/Templates/system_${ST_PREFIX}.c \
|
|
|
|
$(ST_HAL_DRIVER)/Src/${ST_PREFIX}_hal.c \
|
|
|
|
$(ST_HAL_DRIVER)/Src/${ST_PREFIX}_hal_cortex.c \
|
|
|
|
$(ST_HAL_DRIVER)/Src/${ST_PREFIX}_hal_dma.c \
|
|
|
|
$(ST_HAL_DRIVER)/Src/${ST_PREFIX}_hal_gpio.c \
|
|
|
|
${ST_HAL_DRIVER}/Src/${ST_PREFIX}_hal_i2c.c \
|
|
|
|
${ST_HAL_DRIVER}/Src/${ST_PREFIX}_hal_i2c_ex.c \
|
|
|
|
$(ST_HAL_DRIVER)/Src/${ST_PREFIX}_hal_pwr.c \
|
|
|
|
$(ST_HAL_DRIVER)/Src/${ST_PREFIX}_hal_pwr_ex.c \
|
|
|
|
$(ST_HAL_DRIVER)/Src/${ST_PREFIX}_hal_rcc.c \
|
|
|
|
$(ST_HAL_DRIVER)/Src/${ST_PREFIX}_hal_rcc_ex.c \
|
|
|
|
$(ST_HAL_DRIVER)/Src/${ST_PREFIX}_hal_uart.c \
|
|
|
|
$(ST_HAL_DRIVER)/Src/${ST_PREFIX}_hal_uart_ex.c \
|
2020-05-23 13:29:30 +07:00
|
|
|
|
|
|
|
INC += \
|
2021-03-03 20:07:17 +07:00
|
|
|
$(TOP)/$(BOARD_PATH) \
|
2020-10-30 14:14:28 +07:00
|
|
|
$(TOP)/lib/CMSIS_5/CMSIS/Core/Include \
|
2020-05-23 13:29:30 +07:00
|
|
|
$(TOP)/$(ST_CMSIS)/Include \
|
2021-03-03 20:07:17 +07:00
|
|
|
$(TOP)/$(ST_HAL_DRIVER)/Inc
|
2024-11-07 15:04:19 +07:00
|
|
|
|
|
|
|
# Startup
|
|
|
|
SRC_S_GCC += $(ST_CMSIS)/Source/Templates/gcc/startup_$(MCU_VARIANT).s
|
|
|
|
SRC_S_IAR += $(ST_CMSIS)/Source/Templates/iar/startup_$(MCU_VARIANT).s
|
|
|
|
|
|
|
|
# Linker
|
|
|
|
LD_FILE_IAR ?= $(ST_CMSIS)/Source/Templates/iar/linker/$(MCU_VARIANT)_flash.icf
|