Cleanup include paths and use linker files from nuclei-sdk

This commit is contained in:
Stefan Kerkmann 2021-08-07 09:51:56 +02:00
parent b473923f42
commit 6e287a7c5e
1 changed files with 35 additions and 26 deletions

View File

@ -1,51 +1,60 @@
CROSS_COMPILE = riscv32-unknown-elf-
# Submodules
DEPS_SUBMODULES += hw/mcu/gd/nuclei-sdk
NUCLEI_SDK = hw/mcu/gd/nuclei-sdk
GD32VF103_SDK_SOC_COMMON = $(NUCLEI_SDK)/SoC/gd32vf103/Common
GD32VF103_SDK_DRIVER = $(GD32VF103_SDK_SOC_COMMON)/Source/Drivers
# Nuclei-SDK paths
GD32VF103_SDK_SOC = $(NUCLEI_SDK)/SoC/gd32vf103
GD32VF103_SDK_DRIVER = $(GD32VF103_SDK_SOC)/Common/Source/Drivers
LONGAN_NANO_SDK_BSP = $(GD32VF103_SDK_SOC)/Board/gd32vf103c_longan_nano
LINKER_SCRIPTS = $(LONGAN_NANO_SDK_BSP)/Source/GCC
LIBC_STUBS = $(GD32VF103_SDK_SOC)/Common/Source/Stubs
STARTUP_ASM = $(GD32VF103_SDK_SOC)/Common/Source/GCC
SKIP_NANOLIB = 1
CFLAGS += \
-march=rv32imac \
-mabi=ilp32 \
-mcmodel=medlow \
-mstrict-align \
-nostdlib -nostartfiles \
-DCFG_TUSB_MCU=OPT_MCU_GD32VF103 \
-DDOWNLOAD_MODE=DOWNLOAD_MODE_FLASHXIP \
-DGD32VF103
-march=rv32imac \
-mabi=ilp32 \
-mcmodel=medlow \
-mstrict-align \
-nostdlib -nostartfiles \
-DCFG_TUSB_MCU=OPT_MCU_GD32VF103 \
-DDOWNLOAD_MODE=DOWNLOAD_MODE_FLASHXIP \
-DGD32VF103
# mcu driver cause following warnings
#CFLAGS += -Wno-error=unused-parameter
CFLAGS += -Wno-error=unused-parameter
# All source paths should be relative to the top level.
LD_FILE = hw/bsp/$(BOARD)/gcc_gd32vf103xb_flashxip.ld # Longan Nano 128k ROM 32k RAM
# LD_FILE = hw/bsp/$(BOARD)/gcc_gd32vf103x8_flashxip.ld # Longan Nano Lite 64k ROM 20k RAM
LD_FILE = $(LINKER_SCRIPTS)/gcc_gd32vf103xb_flashxip.ld # Longan Nano 128k ROM 32k RAM
#LD_FILE = $(LINKER_SCRIPTS)/gcc_gd32vf103x8_flashxip.ld # Longan Nano Lite 64k ROM 20k RAM
SRC_C += \
src/portable/st/synopsys/dcd_synopsys.c \
src/portable/st/synopsys/dcd_synopsys.c \
$(GD32VF103_SDK_DRIVER)/gd32vf103_rcu.c \
$(GD32VF103_SDK_DRIVER)/gd32vf103_gpio.c \
$(GD32VF103_SDK_DRIVER)/Usb/gd32vf103_usb_hw.c \
$(GD32VF103_SDK_DRIVER)/gd32vf103_usart.c \
$(GD32VF103_SDK_SOC_COMMON)/Source/Stubs/sbrk.c \
$(GD32VF103_SDK_SOC_COMMON)/Source/Stubs/close.c \
$(GD32VF103_SDK_SOC_COMMON)/Source/Stubs/isatty.c \
$(GD32VF103_SDK_SOC_COMMON)/Source/Stubs/fstat.c \
$(GD32VF103_SDK_SOC_COMMON)/Source/Stubs/lseek.c \
$(GD32VF103_SDK_SOC_COMMON)/Source/Stubs/read.c
$(LONGAN_NANO_SDK_BSP)/Source/gd32vf103c_longan_nano.c \
$(LIBC_STUBS)/sbrk.c \
$(LIBC_STUBS)/close.c \
$(LIBC_STUBS)/isatty.c \
$(LIBC_STUBS)/fstat.c \
$(LIBC_STUBS)/lseek.c \
$(LIBC_STUBS)/read.c
SRC_S += \
$(GD32VF103_SDK_SOC_COMMON)/Source/GCC/startup_gd32vf103.S \
$(GD32VF103_SDK_SOC_COMMON)/Source/GCC/intexc_gd32vf103.S
$(STARTUP_ASM)/startup_gd32vf103.S \
$(STARTUP_ASM)/intexc_gd32vf103.S
INC += \
$(TOP)/hw/bsp/$(BOARD) \
$(TOP)/hw/bsp/$(BOARD) \
$(TOP)/$(NUCLEI_SDK)/NMSIS/Core/Include \
$(TOP)/$(GD32VF103_SDK_SOC_COMMON)/Include \
$(TOP)/$(GD32VF103_SDK_SOC_COMMON)/Include/Usb \
$(TOP)/$(GD32VF103_SDK_SOC)/Common/Include \
$(TOP)/$(GD32VF103_SDK_SOC)/Common/Include/Usb \
$(TOP)/$(LONGAN_NANO_SDK_BSP)/Include
# For freeRTOS port source
FREERTOS_PORT = RISC-V