# === Directories path ============================================================================= EVT_DIR=/opt/wch/CH32V003EVT/EVT/EXAM/SRC # ================================================================================================== # === Toolchain ==================================================================================== OBJCOPY=riscv32-wch-elf-objcopy OBJDUMP=riscv32-wch-elf-objdump SIZE=riscv32-wch-elf-size CC=riscv32-wch-elf-gcc FLASHER_TOOL=wlink # ================================================================================================== # === Compiler options ============================================================================= CC_FLAGS+=-march=rv32ec_zicsr CC_FLAGS+=-mabi=ilp32e CC_FLAGS+=-I$(EVT_DIR)/Core CC_FLAGS+=-I$(EVT_DIR)/Peripheral/inc # ================================================================================================== # === Linker options =============================================================================== LDSCRIPT+=./ld/Link.ld LD_FLAGS+=-T$(LDSCRIPT) # ================================================================================================== # Adds WCH SDK to compile flow STARTUP_SRC=./startup_ch32v00x.S EVT_SRCS=$(shell find $(EVT_DIR)/Core -name "*.c") EVT_SRCS+=$(shell find $(EVT_DIR)/Peripheral -name "*.c") OBJS+=$(patsubst $(EVT_DIR)/%.c,$(OBJ_DIR)/evt/%.o,$(EVT_SRCS)) OBJS+=$(OBJ_DIR)/startup_ch32v00x.o prog_flash: $(OUT_DIR)/$(TARGET).bin $(FLASHER_TOOL) flash $< prog_test: $(FLASHER_TOOL) status # Compile SDK and init sources $(OBJ_DIR)/evt/%.o: $(EVT_DIR)/%.c @mkdir -p $(dir $@) $(CC) $(CC_FLAGS) -c $< -o $@ $(OBJ_DIR)/startup_ch32v00x.o: $(STARTUP_SRC) @mkdir -p $(dir $@) $(CC) $(CC_FLAGS) -c $< -o $@