-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmakefile
66 lines (38 loc) · 1.26 KB
/
makefile
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
57
58
59
60
61
62
63
64
SOURCES = main.c
PROG = firmware
ARCH = esp32
MDK = ..
ESPUTIL = ../esputil/esputil
CFLAGS = -W -Wall -Wextra -Werror -Wundef -Wshadow -pedantic \
-Wdouble-promotion -fno-common -Wconversion \
-mlongcalls -mtext-section-literals \
-Os -ffunction-sections -fdata-sections \
-I. -I$(MDK)/$(ARCH) $(EXTRA_CFLAGS)
LINKFLAGS = -Tlink.ld -nostdlib -nostartfiles -Wl,--gc-sections $(EXTRA_LINKFLAGS)
CWD = $(realpath $(CURDIR))
FLASH_ADDR = 0x1000 # 2nd stage bootloader flash offset
TOOLCHAIN = xtensa-esp32-elf
SRCS = boot.c $(SOURCES)
build: $(PROG).bin
tio:
sudo tio /dev/ttyUSB0
%:
$(TOOLCHAIN)-gcc $(CFLAGS) [email protected] boot.c $(LINKFLAGS) -o [email protected]
$(ESPUTIL) mkbin [email protected] [email protected]
$(ESPUTIL) flash $(FLASH_ADDR) [email protected]
sudo tio /dev/ttyUSB0
$(PROG).elf: $(SRCS)
$(TOOLCHAIN)-gcc $(CFLAGS) $(SRCS) $(LINKFLAGS) -o $@
# $(TOOLCHAIN)-size $@
$(PROG).bin: $(PROG).elf $(ESPUTIL)
$(ESPUTIL) mkbin $(PROG).elf $@
flash: $(PROG).bin $(ESPUTIL)
$(ESPUTIL) flash $(FLASH_ADDR) $(PROG).bin
monitor: $(ESPUTIL)
$(ESPUTIL) monitor
clean:
@rm -rf *.{bin,elf,map,lst,tgz,zip,hex} $(PROG)*
#sudo modprobe usbserial
#sudo modprobe cp210x
#sudo tio /dev/ttyUSB0
#dmesg