| 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 += \ |
| -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 += \ |
| -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 |