2021-01-26 21:19:14 +07:00
|
|
|
UF2_FAMILY_ID = 0x57755a57
|
2021-03-03 20:25:44 +07:00
|
|
|
ST_FAMILY = f4
|
2021-03-18 16:28:44 +07:00
|
|
|
DEPS_SUBMODULES += lib/CMSIS_5 hw/mcu/st/cmsis_device_$(ST_FAMILY) hw/mcu/st/stm32$(ST_FAMILY)xx_hal_driver
|
2021-03-03 20:25:44 +07:00
|
|
|
|
|
|
|
ST_CMSIS = hw/mcu/st/cmsis_device_$(ST_FAMILY)
|
|
|
|
ST_HAL_DRIVER = hw/mcu/st/stm32$(ST_FAMILY)xx_hal_driver
|
2021-01-26 21:19:14 +07:00
|
|
|
|
2020-11-29 22:48:21 +07:00
|
|
|
include $(TOP)/$(BOARD_PATH)/board.mk
|
2023-06-24 18:09:05 +07:00
|
|
|
CPU_CORE ?= cortex-m4
|
2020-11-29 22:48:21 +07:00
|
|
|
|
2024-11-07 09:49:04 +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-10-31 21:09:58 +01:00
|
|
|
|
2023-01-22 11:56:50 +07:00
|
|
|
# --------------
|
|
|
|
# Compiler Flags
|
|
|
|
# --------------
|
2019-09-06 17:31:37 +07:00
|
|
|
CFLAGS += \
|
2023-10-31 21:09:58 +01:00
|
|
|
-DCFG_TUSB_MCU=OPT_MCU_STM32F4 \
|
2024-11-07 09:49:04 +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} \
|
2023-01-22 11:56:50 +07:00
|
|
|
|
|
|
|
# GCC Flags
|
2023-06-24 19:31:33 +07:00
|
|
|
CFLAGS_GCC += \
|
2019-11-20 16:06:40 +07:00
|
|
|
-flto \
|
2019-09-06 17:31:37 +07:00
|
|
|
|
2020-05-17 14:24:15 +07:00
|
|
|
# suppress warning caused by vendor mcu driver
|
2023-06-24 19:31:33 +07:00
|
|
|
CFLAGS_GCC += -Wno-error=cast-align
|
2023-01-22 11:56:50 +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-22 12:10:27 +07:00
|
|
|
# -----------------
|
|
|
|
# Sources & Include
|
|
|
|
# -----------------
|
2019-09-27 00:15:43 +07:00
|
|
|
|
2019-09-06 17:31:37 +07:00
|
|
|
SRC_C += \
|
2021-10-24 23:24:46 +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 \
|
2020-10-30 12:15:04 +07:00
|
|
|
$(ST_CMSIS)/Source/Templates/system_stm32$(ST_FAMILY)xx.c \
|
|
|
|
$(ST_HAL_DRIVER)/Src/stm32$(ST_FAMILY)xx_hal.c \
|
|
|
|
$(ST_HAL_DRIVER)/Src/stm32$(ST_FAMILY)xx_hal_cortex.c \
|
|
|
|
$(ST_HAL_DRIVER)/Src/stm32$(ST_FAMILY)xx_hal_rcc.c \
|
|
|
|
$(ST_HAL_DRIVER)/Src/stm32$(ST_FAMILY)xx_hal_rcc_ex.c \
|
|
|
|
$(ST_HAL_DRIVER)/Src/stm32$(ST_FAMILY)xx_hal_uart.c \
|
2023-03-06 12:45:47 +07:00
|
|
|
$(ST_HAL_DRIVER)/Src/stm32$(ST_FAMILY)xx_hal_dma.c \
|
2020-10-30 12:15:04 +07:00
|
|
|
$(ST_HAL_DRIVER)/Src/stm32$(ST_FAMILY)xx_hal_gpio.c
|
2019-09-06 17:31:37 +07:00
|
|
|
|
|
|
|
INC += \
|
2020-11-29 22:48:21 +07:00
|
|
|
$(TOP)/$(BOARD_PATH) \
|
2020-10-30 14:14:28 +07:00
|
|
|
$(TOP)/lib/CMSIS_5/CMSIS/Core/Include \
|
2019-09-06 17:31:37 +07:00
|
|
|
$(TOP)/$(ST_CMSIS)/Include \
|
2021-03-01 00:39:48 +07:00
|
|
|
$(TOP)/$(ST_HAL_DRIVER)/Inc
|
2019-09-06 17:31:37 +07:00
|
|
|
|
|
|
|
# flash target using on-board stlink
|
2020-01-10 15:09:59 +07:00
|
|
|
flash: flash-stlink
|