summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhathach <thach@tinyusb.org>2018-06-27 15:22:44 +0700
committerhathach <thach@tinyusb.org>2018-06-27 15:22:44 +0700
commitc4f11dfd32e94559412f79ce09781d6780cbb76e (patch)
treef8ca7c8f5e1dc74ec8abcf0285b1ce80f13c1c14
parent8fbe1d73e9b65611c64aa01443ec5db692049cf8 (diff)
flash target update bootloader setting to skip crc checksum
-rw-r--r--ports/nrf/Makefile22
-rw-r--r--ports/nrf/boards/feather52840/mpconfigboard.mk2
-rw-r--r--ports/nrf/boards/pca10056/mpconfigboard.mk2
3 files changed, 10 insertions, 16 deletions
diff --git a/ports/nrf/Makefile b/ports/nrf/Makefile
index 6affbfbc1..fd7bfe1e1 100644
--- a/ports/nrf/Makefile
+++ b/ports/nrf/Makefile
@@ -226,7 +226,7 @@ OBJ += $(addprefix $(BUILD)/, $(SRC_SHARED_MODULE_EXPANDED:.c=.o))
$(BUILD)/$(FATFS_DIR)/ff.o: COPT += -Os
$(filter $(PY_BUILD)/../extmod/vfs_fat_%.o, $(PY_O)): COPT += -Os
-.phony: all flash sd binary hex
+.phony: all flash sd binary hex bootloader
all: binary hex
@@ -252,29 +252,22 @@ FLASHER ?=
ifeq ($(FLASHER),)
-# Adafruit use bootloader that requires writing to its settting ( app valid = 0x0001, crc = 0x0000 )
-ifneq (,$(filter $(BOARD),feather52832 feather52840))
-
+# Also update to bootloader settting to validate application and skip checksum ( app valid = 0x0001, crc = 0x0000 )
flash: $(BUILD)/$(OUTPUT_FILENAME).hex
nrfjprog --program $< --sectorerase -f $(MCU_VARIANT)
nrfjprog --erasepage $(BOOT_SETTING_ADDR) -f $(MCU_VARIANT)
nrfjprog --memwr $(BOOT_SETTING_ADDR) --val 0x00000001 -f $(MCU_VARIANT)
nrfjprog --reset -f $(MCU_VARIANT)
-else
-
-flash: $(BUILD)/$(OUTPUT_FILENAME).hex
- nrfjprog --program $< --sectorerase -f $(MCU_VARIANT)
- nrfjprog --reset -f $(MCU_VARIANT)
-
-endif
-
sd: $(BUILD)/$(OUTPUT_FILENAME).hex
nrfjprog --eraseall -f $(MCU_VARIANT)
nrfjprog --program $(SOFTDEV_HEX) -f $(MCU_VARIANT)
nrfjprog --program $< --sectorerase -f $(MCU_VARIANT)
nrfjprog --reset -f $(MCU_VARIANT)
+bootloader:
+ nrfjprog --program $(BOOT_FILE).hex -f nrf52 --chiperase --reset
+
else ifeq ($(FLASHER), pyocd)
flash: $(BUILD)/$(OUTPUT_FILENAME).hex
@@ -291,7 +284,7 @@ endif
#####################
# Flash with DFU
#####################
-.phony: bootloader dfu-gen dfu-flash dfu-bootloader uf2
+.phony: dfu-gen dfu-flash dfu-bootloader uf2
ifeq ($(OS),Windows_NT)
NRFUTIL = ../../lib/nrfutil/binaries/win32/nrfutil.exe
@@ -322,9 +315,6 @@ uf2: $(BUILD)/$(OUTPUT_FILENAME).hex
$(ECHO) "Create $(OUTPUT_FILENAME).uf2"
$(PYTHON2) $(TOP)/tools/uf2/utils/uf2conv.py -c -o "$(BUILD)/$(OUTPUT_FILENAME).uf2" $^
-# Flash bootloader with Jlink
-bootloader:
- nrfjprog --program $(BOOT_FILE).hex -f nrf52 --chiperase --reset
$(BUILD)/dfu-package.zip: dfu-gen
diff --git a/ports/nrf/boards/feather52840/mpconfigboard.mk b/ports/nrf/boards/feather52840/mpconfigboard.mk
index 87f3a407f..52c0f5940 100644
--- a/ports/nrf/boards/feather52840/mpconfigboard.mk
+++ b/ports/nrf/boards/feather52840/mpconfigboard.mk
@@ -3,6 +3,8 @@ MCU_VARIANT = nrf52
MCU_SUB_VARIANT = nrf52840
SOFTDEV_VERSION ?= 6.0.0
+BOOT_SETTING_ADDR = 0xFF000
+
LD_FILE = boards/bluefruit_$(MCU_SUB_VARIANT)_$(SD_LOWER)_$(SOFTDEV_VERSION).ld
BOOT_FILE = boards/$(BOARD)/bootloader/$(SOFTDEV_VERSION)/$(BOARD)_bootloader_$(SOFTDEV_VERSION)_s140
diff --git a/ports/nrf/boards/pca10056/mpconfigboard.mk b/ports/nrf/boards/pca10056/mpconfigboard.mk
index 87f3a407f..52c0f5940 100644
--- a/ports/nrf/boards/pca10056/mpconfigboard.mk
+++ b/ports/nrf/boards/pca10056/mpconfigboard.mk
@@ -3,6 +3,8 @@ MCU_VARIANT = nrf52
MCU_SUB_VARIANT = nrf52840
SOFTDEV_VERSION ?= 6.0.0
+BOOT_SETTING_ADDR = 0xFF000
+
LD_FILE = boards/bluefruit_$(MCU_SUB_VARIANT)_$(SD_LOWER)_$(SOFTDEV_VERSION).ld
BOOT_FILE = boards/$(BOARD)/bootloader/$(SOFTDEV_VERSION)/$(BOARD)_bootloader_$(SOFTDEV_VERSION)_s140