77# - SD_HEX : to bootloader hex binary
88# ------------------------------------------------------------------------------
99
10+ # local customization
1011-include Makefile.user
1112
1213SDK_PATH = lib/sdk/components
@@ -37,7 +38,7 @@ OUT_NAME = $(BOARD)_bootloader-$(GIT_VERSION)
3738MERGED_FILE = $(OUT_NAME ) _$(SD_NAME ) _$(SD_VERSION )
3839
3940# ------------------------------------------------------------------------------
40- # Tool configure
41+ # Tool Configure
4142# ------------------------------------------------------------------------------
4243
4344# Toolchain commands
@@ -208,39 +209,46 @@ ASM_SRC = $(NRFX_PATH)/mdk/gcc_startup_$(MCU_SUB_VARIANT).S
208209# ------------------------------------------------------------------------------
209210
210211# src
211- IPATH += src
212- IPATH += src/boards
213- IPATH += src/boards/$(BOARD )
214- IPATH += src/cmsis/include
215- IPATH += src/usb
216- IPATH += $(TUSB_PATH )
212+ IPATH += \
213+ src \
214+ src/boards \
215+ src/boards/$(BOARD) \
216+ src/cmsis/include \
217+ src/usb \
218+ $(TUSB_PATH)
217219
218220# nrfx
219- IPATH += $(NRFX_PATH )
220- IPATH += $(NRFX_PATH ) /mdk
221- IPATH += $(NRFX_PATH ) /hal
222- IPATH += $(NRFX_PATH ) /drivers/include
223- IPATH += $(NRFX_PATH ) /drivers/src
224-
225- IPATH += $(SDK11_PATH ) /libraries/bootloader_dfu/hci_transport
226- IPATH += $(SDK11_PATH ) /libraries/bootloader_dfu
227- IPATH += $(SDK11_PATH ) /drivers_nrf/pstorage
228- IPATH += $(SDK11_PATH ) /ble/common
229- IPATH += $(SDK11_PATH ) /ble/ble_services/ble_dfu
230- IPATH += $(SDK11_PATH ) /ble/ble_services/ble_dis
231-
232- IPATH += $(SDK_PATH ) /libraries/timer
233- IPATH += $(SDK_PATH ) /libraries/scheduler
234- IPATH += $(SDK_PATH ) /libraries/crc16
235- IPATH += $(SDK_PATH ) /libraries/util
236- IPATH += $(SDK_PATH ) /libraries/hci/config
237- IPATH += $(SDK_PATH ) /libraries/uart
238- IPATH += $(SDK_PATH ) /libraries/hci
239- IPATH += $(SDK_PATH ) /drivers_nrf/delay
240-
241- # Softdevice
242- IPATH += $(SD_PATH ) /$(SD_FILENAME ) _API/include
243- IPATH += $(SD_PATH ) /$(SD_FILENAME ) _API/include/nrf52
221+ IPATH += \
222+ $(NRFX_PATH) \
223+ $(NRFX_PATH)/mdk \
224+ $(NRFX_PATH)/hal \
225+ $(NRFX_PATH)/drivers/include \
226+ $(NRFX_PATH)/drivers/src
227+
228+ # sdk11 for cdc/ble dfu
229+ IPATH += \
230+ $(SDK11_PATH)/libraries/bootloader_dfu/hci_transport \
231+ $(SDK11_PATH)/libraries/bootloader_dfu \
232+ $(SDK11_PATH)/drivers_nrf/pstorage \
233+ $(SDK11_PATH)/ble/common \
234+ $(SDK11_PATH)/ble/ble_services/ble_dfu \
235+ $(SDK11_PATH)/ble/ble_services/ble_dis
236+
237+ # later sdk with updated drivers
238+ IPATH += \
239+ $(SDK_PATH)/libraries/timer \
240+ $(SDK_PATH)/libraries/scheduler \
241+ $(SDK_PATH)/libraries/crc16 \
242+ $(SDK_PATH)/libraries/util \
243+ $(SDK_PATH)/libraries/hci/config \
244+ $(SDK_PATH)/libraries/uart \
245+ $(SDK_PATH)/libraries/hci \
246+ $(SDK_PATH)/drivers_nrf/delay
247+
248+ # SoftDevice
249+ IPATH += \
250+ $(SD_PATH)/$(SD_FILENAME)_API/include \
251+ $(SD_PATH)/$(SD_FILENAME)_API/include/nrf52
244252
245253# ------------------------------------------------------------------------------
246254# Compiler Flags
@@ -278,9 +286,6 @@ CFLAGS += \
278286# Suppress warning caused by SDK
279287CFLAGS += -Wno-unused-parameter -Wno-expansion-to-defined
280288
281- # TinyUSB tusb_hal_nrf_power_event
282- CFLAGS += -Wno-cast-function-type
283-
284289# Nordic Softdevice SDK header files contains inline assembler that has
285290# broken constraints. As a result the IPA-modref pass, introduced in gcc-11,
286291# is able to "prove" that arguments to wrapper functions generated with
@@ -332,6 +337,7 @@ LIBS += -lm -lc
332337# ------------------------------------------------------------------------------
333338# Assembler flags
334339# ------------------------------------------------------------------------------
340+
335341ASFLAGS += $(CFLAGS )
336342
337343# function for removing duplicates in a list
@@ -356,7 +362,7 @@ INC_PATHS = $(addprefix -I,$(IPATH))
356362# BUILD TARGETS
357363# ------------------------------------------------------------------------------
358364
359- .PHONY : all clean flash dfu-flash sd gdbflash gdb
365+ .PHONY : all clean flash dfu-flash flash-dfu flash-sd flash-mbr gdbflash gdb
360366
361367# default target to build
362368all : $(BUILD ) /$(OUT_NAME ) .out $(BUILD ) /$(OUT_NAME ) _nosd.hex $(BUILD ) /update-$(OUT_NAME ) _nosd.uf2 $(BUILD ) /$(MERGED_FILE ) .hex $(BUILD ) /$(MERGED_FILE ) .zip
@@ -431,7 +437,9 @@ copy-artifact: $(BIN)
431437 @$(CP ) $(BUILD ) /$(MERGED_FILE ) .hex $(BIN )
432438 @$(CP ) $(BUILD ) /$(MERGED_FILE ) .zip $(BIN )
433439
434- # ------------------- Flash target -------------------
440+ # --------------------------------------
441+ # Flash Target
442+ # --------------------------------------
435443
436444check_defined = \
437445 $(strip $(foreach 1,$1, \
@@ -440,29 +448,29 @@ __check_defined = \
440448 $(if $(value $1),, \
441449 $(error Undefined make flag : $1$(if $2, ($2) )))
442450
451+ # erase chip
452+ erase :
453+ @echo Erasing flash
454+ $(call FLASH_ERASE_CMD)
455+
443456# Flash the compiled
444457flash : $(BUILD ) /$(OUT_NAME ) _nosd.hex
445458 @echo Flashing: $(notdir $< )
446459 $(call FLASH_CMD,$< )
447460
448- erase :
449- @echo Erasing flash
450- $(call FLASH_ERASE_CMD)
451-
452461# flash SD only
453- sd :
462+ flash- sd :
454463 @echo Flashing: $(SD_HEX )
455464 $(call FLASH_NOUICR_CMD,$(SD_HEX ) )
456465
457466# flash MBR only
458- mbr :
467+ flash- mbr :
459468 @echo Flashing: $(MBR_HEX )
460469 $(call FLASH_NOUICR_CMD,$(MBR_HEX ) )
461470
462- # ------------------- Flash with NRFUTIL via DFU -------------------
463-
464- # dfu using CDC interface
465- dfu-flash : $(BUILD ) /$(MERGED_FILE ) .zip
471+ # dfu with adafruit-nrfutil using CDC interface
472+ dfu-flash : flash-dfu
473+ flash-dfu : $(BUILD ) /$(MERGED_FILE ) .zip
466474 @:$(call check_defined, SERIAL, example: SERIAL=/dev/ttyACM0)
467475 $(NRFUTIL ) --verbose dfu serial --package $< -p $(SERIAL ) -b 115200 --singlebank --touch 1200
468476
0 commit comments