-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmakefile.mk
56 lines (44 loc) · 1.3 KB
/
makefile.mk
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
INCLUDE_PATH = -I../include/ -I../../include
CC_SYMBOLS =-DF_CPU=16000000
DEVICE_NAME = stm8s103f3
LIBSPEC =-lstm8 -mstm8
OBJS = $(SRC_NAME).rel $(ADD_LIBS) $(SRCS)
CC_FLAGS =--std-c99 --opt-code-size --disable-warning 197 --disable-warning 84 --disable-warning 185
CC = sdcc
LD = sdld
.PHONY: all compile clean flash complete read_eeprom show_seconds show_eeprom
all: clean $(OBJS)
@echo "Linking $(SRC_NAME).c with libs, Intel-Hex-File: $(SRC_NAME).ihx"
$(CC) $(LIBSPEC) $(INCLUDE_PATH) --out-fmt-ihx $(OBJS)
@echo " " 1>&2
@echo " ------ Programm build sucessfull -----" 1>&2
@echo " " 1>&2
compile:
$(CC) $(LIBSPEC) $(CC_FLAGS) $(CC_SYMBOLS) $(INCLUDE_PATH) $(SRC_NAME).c -c $(SRC_NAME).rel
clean:
@rm -f *.asm
@rm -f *.rst
@rm -f *.ihx
@rm -f *.rel
@rm -f *.sym
@rm -f *.lst
@rm -f *.map
@rm -f *.cdb
@rm -f *.lk
@rm -f *.mem
@echo "Cleaning done..."
%.rel: %.c
$(CC) $(LIBSPEC) $(CC_FLAGS) $(CC_SYMBOLS) $(INCLUDE_PATH) -c $< -o $@
flash:
ifeq ($(FLASHERPROG), 1)
stm8_bootflash /dev/ttyACM0 $(SRC_NAME).ihx notxbar 1>&2
else
stm8flash -c stlinkv2 -p $(DEVICE_NAME) -w $(SRC_NAME).ihx
endif
read_eeprom:
stm8flash -c stlinkv2 -p stm8s103f3 -s eeprom -r eeprom.bin
show_eeprom:
xxd eeprom.bin | head
show_seconds: read_eeprom
./parser eeprom.bin
complete: clean all flash