mirror of
https://github.com/sergeyyarkov/ch32v00x-template-mk.git
synced 2026-10-11 10:19:07 +03:00
64 lines
2.0 KiB
Makefile
64 lines
2.0 KiB
Makefile
# === Directories path =============================================================================
|
|
EVT_DIR=/opt/wch/CH32V003EVT/EVT/EXAM/SRC
|
|
PLATFORM_DIR=platform/ch32v00x
|
|
# ==================================================================================================
|
|
|
|
|
|
|
|
# === 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
|
|
CC_FLAGS+=-I./platform/ch32v00x
|
|
# ==================================================================================================
|
|
|
|
|
|
|
|
# === Linker options ===============================================================================
|
|
LDSCRIPT+=./ld/Link.ld
|
|
LD_FLAGS+=-T$(LDSCRIPT)
|
|
# ==================================================================================================
|
|
|
|
|
|
|
|
# Adds WCH SDK to compile flow
|
|
STARTUP_SRC=$(PLATFORM_DIR)/startup_ch32v00x.S
|
|
PLATFORM_SRCS=$(shell find $(PLATFORM_DIR) -name "*.c")
|
|
|
|
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+=$(patsubst $(PLATFORM_DIR)/%.c,$(OBJ_DIR)/$(PLATFORM_DIR)/%.o,$(PLATFORM_SRCS))
|
|
OBJS+=$(OBJ_DIR)/$(basename $(notdir $(STARTUP_SRC))).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)/$(PLATFORM_DIR)/%.o: $(PLATFORM_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 $@
|