Просмотр исходного кода

use adafruit-nrfutil dfu as default flash target for feather nrf52840

hathach 6 лет назад
Родитель
Сommit
90fea785c6
2 измененных файлов с 14 добавлено и 2 удалено
  1. 7 0
      examples/make.mk
  2. 7 2
      hw/bsp/feather_nrf52840_express/board.mk

+ 7 - 0
examples/make.mk

@@ -14,6 +14,13 @@ CP = cp
 RM = rm
 PYTHON ?= python
 
+check_defined = \
+    $(strip $(foreach 1,$1, \
+    $(call __check_defined,$1,$(strip $(value 2)))))
+__check_defined = \
+    $(if $(value $1),, \
+    $(error Undefined make flag: $1$(if $2, ($2))))
+
 # Select the board to build for.
 ifeq ($(BOARD),)
   $(info You must provide a BOARD parameter with 'BOARD=')

+ 7 - 2
hw/bsp/feather_nrf52840_express/board.mk

@@ -50,5 +50,10 @@ JLINK_IF = swd
 # For uf2 conversion
 UF2_FAMILY = 0xADA52840
 
-# flash using jlink
-flash: flash-jlink
+$(BUILD)/$(BOARD)-firmware.zip: $(BUILD)/$(BOARD)-firmware.hex
+	adafruit-nrfutil dfu genpkg --dev-type 0x0052 --sd-req 0xFFFE --application $^ $@
+	
+# flash using adafruit-nrfutil dfu
+flash: $(BUILD)/$(BOARD)-firmware.zip
+	@:$(call check_defined, SERIAL, example: SERIAL=/dev/ttyACM0)
+	adafruit-nrfutil --verbose dfu serial --package $^ -p $(SERIAL) -b 115200 --singlebank --touch 1200