tinyusb/hw/bsp/ra/family.mk

103 lines
3.0 KiB
Makefile

FSP_RA = hw/mcu/renesas/fsp/ra/fsp
include $(TOP)/$(BOARD_PATH)/board.mk
# Don't include options setting in .bin file since it create unnecessary large file due to padding
OBJCOPY_BIN_OPTION = --only-section .text --only-section .data --only-section .rodata --only-section .bss
# ----------------------
# Port & Speed Selection
# ----------------------
RHPORT_SPEED ?= OPT_MODE_FULL_SPEED OPT_MODE_HIGH_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
# --------------
# Compiler Flags
# --------------
CFLAGS += \
-DCFG_TUSB_MCU=OPT_MCU_RAXXX \
-DBOARD_TUD_RHPORT=${RHPORT_DEVICE} \
-DBOARD_TUD_MAX_SPEED=${RHPORT_DEVICE_SPEED} \
-DBOARD_TUH_RHPORT=${RHPORT_HOST} \
-DBOARD_TUH_MAX_SPEED=${RHPORT_HOST_SPEED}
CFLAGS_GCC += \
-flto \
-Wno-error=undef \
-Wno-error=strict-prototypes \
-Wno-error=cast-align \
-Wno-error=cast-qual \
-Wno-error=unused-but-set-variable \
-Wno-error=unused-variable \
-ffreestanding
LDFLAGS_GCC += \
-nostartfiles -nostdlib \
-specs=nosys.specs -specs=nano.specs
# -----------------
# Sources & Include
# -----------------
SRC_C += \
src/portable/renesas/rusb2/dcd_rusb2.c \
src/portable/renesas/rusb2/hcd_rusb2.c \
src/portable/renesas/rusb2/rusb2_common.c \
${BOARD_PATH}/ra_gen/common_data.c \
${BOARD_PATH}/ra_gen/pin_data.c \
$(FSP_RA)/src/bsp/cmsis/Device/RENESAS/Source/startup.c \
$(FSP_RA)/src/bsp/cmsis/Device/RENESAS/Source/system.c \
$(FSP_RA)/src/bsp/mcu/all/bsp_clocks.c \
$(FSP_RA)/src/bsp/mcu/all/bsp_common.c \
$(FSP_RA)/src/bsp/mcu/all/bsp_delay.c \
$(FSP_RA)/src/bsp/mcu/all/bsp_group_irq.c \
$(FSP_RA)/src/bsp/mcu/all/bsp_guard.c \
$(FSP_RA)/src/bsp/mcu/all/bsp_io.c \
$(FSP_RA)/src/bsp/mcu/all/bsp_irq.c \
$(FSP_RA)/src/bsp/mcu/all/bsp_register_protection.c \
$(FSP_RA)/src/bsp/mcu/all/bsp_rom_registers.c \
$(FSP_RA)/src/bsp/mcu/all/bsp_sbrk.c \
$(FSP_RA)/src/bsp/mcu/all/bsp_security.c \
$(FSP_RA)/src/r_ioport/r_ioport.c \
INC += \
$(TOP)/$(BOARD_PATH) \
$(TOP)/$(BOARD_PATH)/ra_cfg/fsp_cfg \
$(TOP)/$(BOARD_PATH)/ra_cfg/fsp_cfg/bsp \
$(TOP)/$(BOARD_PATH)/ra_gen \
$(TOP)/lib/CMSIS_6/CMSIS/Core/Include \
$(TOP)/$(FSP_RA)/src/bsp/cmsis/Device/RENESAS/Include \
$(TOP)/$(FSP_RA)/inc \
$(TOP)/$(FSP_RA)/inc/api \
$(TOP)/$(FSP_RA)/inc/instances \
$(TOP)/$(FSP_RA)/src/bsp/mcu/all \
$(TOP)/$(FSP_RA)/src/bsp/mcu/$(MCU_VARIANT) \
ifndef LD_FILE
LD_FILE = $(BOARD_PATH)/script/fsp.ld
endif
LDFLAGS += -L$(TOP)/$(BOARD_PATH)/script
LDFLAGS += -Wl,--defsym=end=__bss_end__
# For freeRTOS port source
# hack to use the port provided by renesas
FREERTOS_PORTABLE_SRC = $(FSP_RA)/src/rm_freertos_port