-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
64 lines (51 loc) · 1.69 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
SDK_PATH_WINDOWS := G:/_business/_nrf_SDK/17.0.2_d674dde
SDK_PATH_POSIX := /home/xianii/SDK/nRF5_SDK_17.0.2_d674dde
ARM_GCC_PATH := C:/ARM-GCC
SDK_ROOT := $(if $(filter Windows%,$(OS)),$(SDK_PATH_WINDOWS),$(SDK_PATH_POSIX))
OUTPUT_PATH := build
OUTPUT_BIN := ./build/project_name
.PHONY: default format flash flash_softdevice erase
default:
@echo CMAKE build
cmake \
-S "./" \
-B "$(OUTPUT_PATH)" \
-G "Ninja" \
-DTOOLCHAIN_PREFIX="$(ARM_GCC_PATH)" \
-DCMAKE_TOOLCHAIN_FILE="./cmake/arm-none-eabi.cmake" \
-DNRF5_SDK_PATH="$(SDK_PATH_WINDOWS)" \
-DNRF5_APPCONFIG_PATH="./config"
cmake --build $(OUTPUT_PATH)
# Format
format:
@echo Astyle source code format
astyle --project=".astylerc" -r **.c,**.h --exclude=build -v -Q
# Flash the program
flash:
@echo OpenOCD Flashing: $(OUTPUT_BIN)
openocd -c 'set OUTPUT_BIN $(OUTPUT_BIN)' -f ./script/openocd.cfg
flash_erase:
@echo OpenOCD Eraseall
openocd -f ./script/openocd_erase.cfg
# Flash softdevice
flash_softdevice:
@echo Flashing: s132_nrf52_7.2.0_softdevice.hex
ifneq (,$(filter Windows%,$(OS)))
openocd -c 'set SDK_ROOT $(SDK_PATH_WINDOWS)' -f ./script/openocd_softdevice.cfg
else
openocd -f ./script/sd_path_posix.cfg -f ./script/openocd_softdevice.cfg
endif
# Flash the program
debug:
@echo OpenOCD DEBUG
openocd -f ./script/openocd_gdb.cfg
jlink_flash: default
@echo jlink Flashing: $(OUTPUT_BIN)
nrfjprog -f nrf52 --program $(OUTPUT_BIN) --sectorerase
nrfjprog -f nrf52 --reset
jlink_flash_softdevice:
@echo Flashing: s132_nrf52_7.2.0_softdevice.hex
nrfjprog -f nrf52 --program $(SDK_ROOT)/components/softdevice/s132/hex/s132_nrf52_7.2.0_softdevice.hex --sectorerase
nrfjprog -f nrf52 --reset
jlink_erase:
nrfjprog -f nrf52 --eraseall