Sylvain Munaut | f5d7bf2 | 2020-09-14 10:23:50 +0200 | [diff] [blame] | 1 | #ice1usb |
| 2 | #ice1usb-proto-icebreaker |
| 3 | #ice1usb-proto-bitsty |
| 4 | #e1-tracer |
| 5 | BOARD ?= e1-tracer |
| 6 | CROSS ?= riscv-none-embed- |
| 7 | CC = $(CROSS)gcc |
| 8 | OBJCOPY = $(CROSS)objcopy |
| 9 | ICEPROG = iceprog |
| 10 | DFU_UTIL = dfu-util |
| 11 | |
| 12 | BOARD_DEFINE=BOARD_$(shell echo $(BOARD) | tr a-z\- A-Z_) |
| 13 | CFLAGS=-Wall -Os -march=rv32i -mabi=ilp32 -ffreestanding -flto -nostartfiles -fomit-frame-pointer -Wl,--gc-section --specs=nano.specs -D$(BOARD_DEFINE) -I. -I../common |
| 14 | |
| 15 | NO2USB_FW_VERSION=0 |
| 16 | include ../../../gateware/cores/no2usb/fw/fw.mk |
| 17 | CFLAGS += $(INC_no2usb) |
| 18 | |
| 19 | LNK=../common/lnk-app.lds |
| 20 | |
| 21 | HEADERS_common := $(addprefix ../common/, \ |
| 22 | console.h \ |
| 23 | dma.h \ |
| 24 | led.h \ |
| 25 | mini-printf.h \ |
| 26 | spi.h \ |
| 27 | utils.h \ |
| 28 | ) |
| 29 | |
| 30 | SOURCES_common := $(addprefix ../common/, \ |
| 31 | ../common/start.S \ |
| 32 | console.c \ |
| 33 | dma.c \ |
| 34 | led.c \ |
| 35 | mini-printf.c \ |
| 36 | spi.c \ |
| 37 | utils.c \ |
| 38 | ) |
| 39 | |
| 40 | HEADERS_common += $(HEADERS_no2usb) |
| 41 | SOURCES_common += $(SOURCES_no2usb) |
| 42 | |
| 43 | HEADERS_app=\ |
| 44 | config.h \ |
| 45 | e1.h \ |
| 46 | misc.h \ |
| 47 | usb_str_app.gen.h \ |
| 48 | $(NULL) |
| 49 | |
| 50 | SOURCES_app=\ |
| 51 | e1.c \ |
| 52 | fw_app.c \ |
| 53 | misc.c \ |
| 54 | usb_desc_app.c \ |
| 55 | usb_e1.c \ |
| 56 | $(NULL) |
| 57 | |
| 58 | |
| 59 | all: fw_app.bin |
| 60 | |
| 61 | |
| 62 | fw_app.elf: $(LNK) $(HEADERS_app) $(SOURCES_app) $(HEADERS_common) $(SOURCES_common) |
| 63 | $(CC) $(CFLAGS) -Wl,-Bstatic,-T,$(LNK),--strip-debug -o $@ $(SOURCES_common) $(SOURCES_app) |
| 64 | |
| 65 | |
| 66 | %.hex: %.bin |
| 67 | ../common/bin2hex.py $< $@ |
| 68 | |
| 69 | %.bin: %.elf |
| 70 | $(OBJCOPY) -O binary $< $@ |
| 71 | |
| 72 | prog: fw_app.bin |
| 73 | $(ICEPROG) -o 640k $< |
| 74 | |
| 75 | dfuprog: fw_app.bin |
| 76 | $(DFU_UTIL) -R -a 1 -D $< |
| 77 | |
| 78 | |
| 79 | clean: |
| 80 | rm -f *.bin *.hex *.elf *.o *.gen.h |
| 81 | |
| 82 | .PHONY: prog dfuprog clean |