65 lines
2.0 KiB
Makefile
65 lines
2.0 KiB
Makefile
NRF52_SDK_ROOT=$(PWD)/nrf5x-softdevice
|
|
CROSS_COMPILE:=arm-none-eabi-
|
|
OBJCOPY:=$(CROSS_COMPILE)objcopy
|
|
JLINK_OPTS = -Device NRF52 -if swd -speed 1000
|
|
DTLS_OTA=$(PWD)/dtls-ota
|
|
BOOT_IMG:=$(DTLS_OTA)/dtls-ota
|
|
BOOT_ELF:=$(DTLS_OTA)/dtls-ota.nrf52dk
|
|
WOLFBOOT:=$(PWD)/../wolfBoot
|
|
WOLFBOOT_BIN:=$(WOLFBOOT)/wolfboot.bin
|
|
DEBUG?=0
|
|
|
|
all: $(DTLS_OTA)/dtls-ota-signed.bin
|
|
|
|
.contiki_patched:
|
|
patch -p0 < contiki-nrf52-softdevice-wolfBoot.patch
|
|
touch .contiki_patched
|
|
|
|
$(BOOT_ELF): nrf5_iot_sdk_3288530.zip $(WOLFBOOT_BIN) .contiki_patched
|
|
echo "**"
|
|
make -C $(DTLS_OTA) TARGET=nrf52dk NRF52_SDK_ROOT=$(NRF52_SDK_ROOT) SMALL=1
|
|
|
|
$(WOLFBOOT_BIN):
|
|
cp nrf52.ld $(WOLFBOOT)/hal
|
|
make -C $(WOLFBOOT) \
|
|
WOLFBOOT_PARTITION_BOOT_ADDRESS=0x2f000 \
|
|
WOLFBOOT_SECTOR_SIZE=0x1000 \
|
|
WOLFBOOT_PARTITION_SIZE=0x28000 \
|
|
WOLFBOOT_PARTITION_SWAP_ADDRESS=0x57000 \
|
|
WOLFBOOT_PARTITION_UPDATE_ADDRESS=0x58000 \
|
|
VTOR=0 TARGET=nrf52 DEBUG=$(DEBUG) wolfboot.bin
|
|
|
|
nrf5_iot_sdk_3288530.zip:
|
|
wget https://developer.nordicsemi.com/nRF5_IoT_SDK/nRF5_IoT_SDK_v0.9.x/nrf5_iot_sdk_3288530.zip
|
|
unzip nrf5_iot_sdk_3288530.zip -d ./nrf5x-softdevice
|
|
|
|
clean:
|
|
make -C $(WOLFBOOT) clean
|
|
make -C ota-server clean
|
|
make -C $(DTLS_OTA) TARGET=nrf52dk NRF52_SDK_ROOT=$(NRF52_SDK_ROOT) clean
|
|
rm -f $(DTLS_OTA)/*.bin
|
|
rm -f tags
|
|
|
|
$(BOOT_IMG)_v1_signed.bin: $(BOOT_ELF)
|
|
python3 $(WOLFBOOT)/tools/keytools/sign.py $(BOOT_IMG).bin $(WOLFBOOT)/ed25519.der 1
|
|
|
|
$(DTLS_OTA)/dtls-ota-signed.bin: $(BOOT_IMG)_v1_signed.bin
|
|
mv $^ $@
|
|
|
|
$(DTLS_OTA)/dtls-ota-force-update.bin: $(DTLS_OTA)/dtls-ota-signed.bin
|
|
$(OBJCOPY) -I binary -O binary $^ tmp.bin --pad-to=0x27FFB --gap-fill=255
|
|
cat tmp.bin force-update > $@
|
|
rm tmp.bin
|
|
|
|
flash-update: $(DTLS_OTA)/dtls-ota-force-update.bin
|
|
JLinkExe $(JLINK_OPTS) -CommanderScript flash_update.jlink
|
|
|
|
flash: $(BOOT_ELF) $(WOLFBOOT_BIN) $(DTLS_OTA)/dtls-ota-signed.bin
|
|
JLinkExe $(JLINK_OPTS) -CommanderScript flash_all.jlink
|
|
|
|
erase:
|
|
JLinkExe $(JLINK_OPTS) -CommanderScript flash_erase.jlink
|
|
|
|
gdbserver:
|
|
JLinkGDBServer -device nrf52 -if swd -port 3333
|