54 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
		
		
			
		
	
	
			54 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
| 
								 | 
							
								# https://www.embecosm.com/resources/tool-chain-downloads/#riscv-stable
							 | 
						||
| 
								 | 
							
								#CROSS_COMPILE ?= riscv32-unknown-elf-
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Toolchain from https://nucleisys.com/download.php
							 | 
						||
| 
								 | 
							
								#CROSS_COMPILE ?= riscv-nuclei-elf-
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Toolchain from https://github.com/xpack-dev-tools/riscv-none-elf-gcc-xpack
							 | 
						||
| 
								 | 
							
								CROSS_COMPILE ?= riscv-none-elf-
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								CH32_FAMILY = ch32v10x
							 | 
						||
| 
								 | 
							
								SDK_DIR = hw/mcu/wch/ch32v103
							 | 
						||
| 
								 | 
							
								SDK_SRC_DIR = $(SDK_DIR)/EVT/EXAM/SRC
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								include $(TOP)/$(BOARD_PATH)/board.mk
							 | 
						||
| 
								 | 
							
								CPU_CORE ?= rv32imac-ilp32
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Port0 use FSDev, Port1 use USBFS
							 | 
						||
| 
								 | 
							
								PORT ?= 0
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								CFLAGS += \
							 | 
						||
| 
								 | 
							
									-mcmodel=medany \
							 | 
						||
| 
								 | 
							
									-ffat-lto-objects \
							 | 
						||
| 
								 | 
							
									-flto \
							 | 
						||
| 
								 | 
							
									-DCFG_TUSB_MCU=OPT_MCU_CH32V103
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# https://github.com/openwch/ch32v20x/pull/12
							 | 
						||
| 
								 | 
							
								CFLAGS += -Wno-error=strict-prototypes
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								LDFLAGS_GCC += \
							 | 
						||
| 
								 | 
							
									-nostdlib -nostartfiles \
							 | 
						||
| 
								 | 
							
									--specs=nosys.specs --specs=nano.specs \
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								LD_FILE = $(FAMILY_PATH)/linker/${CH32_FAMILY}.ld
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								SRC_C += \
							 | 
						||
| 
								 | 
							
									src/portable/wch/dcd_ch32_usbfs.c \
							 | 
						||
| 
								 | 
							
									$(SDK_SRC_DIR)/Core/core_riscv.c \
							 | 
						||
| 
								 | 
							
									$(SDK_SRC_DIR)/Peripheral/src/${CH32_FAMILY}_gpio.c \
							 | 
						||
| 
								 | 
							
									$(SDK_SRC_DIR)/Peripheral/src/${CH32_FAMILY}_misc.c \
							 | 
						||
| 
								 | 
							
									$(SDK_SRC_DIR)/Peripheral/src/${CH32_FAMILY}_rcc.c \
							 | 
						||
| 
								 | 
							
									$(SDK_SRC_DIR)/Peripheral/src/${CH32_FAMILY}_usart.c \
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								SRC_S += $(SDK_SRC_DIR)/Startup/startup_${CH32_FAMILY}.S
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								INC += \
							 | 
						||
| 
								 | 
							
									$(TOP)/$(BOARD_PATH) \
							 | 
						||
| 
								 | 
							
									$(TOP)/$(SDK_SRC_DIR)/Core \
							 | 
						||
| 
								 | 
							
									$(TOP)/$(SDK_SRC_DIR)/Peripheral/inc \
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								FREERTOS_PORTABLE_SRC = $(FREERTOS_PORTABLE_PATH)/RISC-V
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								OPENOCD_WCH_OPTION=-f $(TOP)/$(FAMILY_PATH)/wch-riscv.cfg
							 | 
						||
| 
								 | 
							
								flash: flash-openocd-wch
							 |