Updated submodule to latest wolfBoot master.

- Using new key tools
- update to wolfSSL 4.0.0
- update contiki repository submodule with wolfSSL 4.0.0
pull/1/head
Daniele Lacamera 2019-05-20 13:25:15 +02:00
parent d9b3a7c92f
commit a2442fe824
8 changed files with 50 additions and 25 deletions

View File

@ -3,10 +3,11 @@ 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.bin
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
@ -21,7 +22,7 @@ $(BOOT_ELF): nrf5_iot_sdk_3288530.zip $(WOLFBOOT_BIN) .contiki_patched
$(WOLFBOOT_BIN):
cp target.h $(WOLFBOOT)/include
cp nrf52.ld $(WOLFBOOT)/hal
make -C $(WOLFBOOT) BOOT0_OFFSET=0x10000 VTOR=0 TARGET=nrf52 DEBUG=0 wolfboot.bin
make -C $(WOLFBOOT) BOOT0_OFFSET=0x10000 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
@ -34,10 +35,10 @@ clean:
rm -f $(DTLS_OTA)/*.bin
rm -f tags
$(BOOT_IMG).v1.signed: $(BOOT_ELF)
$(WOLFBOOT)/tools/ed25519/ed25519_sign $(BOOT_IMG) $(WOLFBOOT)/ed25519.der 1
$(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
$(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

@ -1 +1 @@
Subproject commit 2b9689edae1322dc2cb34572a5804b51f7b8a1dd
Subproject commit 633b3406f986d6b2b4039c55b7e53b8b58794779

View File

@ -1,5 +1,16 @@
diff --git contiki/cpu/nrf52832/Makefile.nrf52832 contiki-nrf52-patched/cpu/nrf52832/Makefile.nrf52832
--- contiki/cpu/nrf52832/Makefile.nrf52832
+++ contiki/cpu/nrf52832/Makefile.nrf52832
@@ -163,7 +163,7 @@ CFLAGS += -DCONFIG_GPIO_AS_PINRESET
CFLAGS += -DBLE_STACK_SUPPORT_REQD
CFLAGS += -mcpu=cortex-m4
CFLAGS += -mthumb -mabi=aapcs --std=gnu99
-CFLAGS += -Wall -Werror
+CFLAGS += -Wall
CFLAGS += -ggdb
CFLAGS += -mfloat-abi=hard -mfpu=fpv4-sp-d16
# keep every function in separate section. This will allow linker to dump unused functions
diff --git contiki/cpu/nrf52832/ld/nrf52-pca10040-sd.ld contiki-nrf52-patched/cpu/nrf52832/ld/nrf52-pca10040-sd.ld
index f30aad455..0df4bc7b5 100644
--- contiki/cpu/nrf52832/ld/nrf52-pca10040-sd.ld
+++ contiki-nrf52-patched/cpu/nrf52832/ld/nrf52-pca10040-sd.ld
@@ -5,8 +5,8 @@ GROUP(-lgcc -lc -lnosys)
@ -15,7 +26,6 @@ index f30aad455..0df4bc7b5 100644
\ No newline at end of file
+INCLUDE "nrf5x_common.ld"
diff --git contiki/platform/nrf52dk/contiki-main.c contiki-nrf52-patched/platform/nrf52dk/contiki-main.c
index d97e6c609..a10bbe3d7 100644
--- contiki/platform/nrf52dk/contiki-main.c
+++ contiki-nrf52dk-patched/platform/nrf52dk/contiki-main.c
@@ -110,6 +110,7 @@ static void

View File

@ -4,6 +4,7 @@ CONTIKI_WITH_IPV6 = 1
CONTIKI_WITH_RPL = 0
CONTIKI_WITH_TCP = 0
CONTIKI_WITH_WOLFSSL = 1
WERROR=0
DEBUG=0
UIP_TCP=0
SMALL=1

View File

@ -68,3 +68,4 @@
#include "contiki-net.h"
#include "sys/cc.h"
#include "wolfssl.h"
#include "wolfssl/wolfcrypt/types.h"

View File

@ -14,16 +14,15 @@ WOLFSSL_ROOT:=../wolfBoot/lib/wolfssl
WOLFSSL_BUILD:=./build/lib
DEBUG?=0
CFLAGS=-mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 \
-DFREERTOS \
-DNVM_FLASH_WRITEONCE
-DNVM_FLASH_WRITEONCE
CFLAGS+=-mthumb -Wall -Wextra -Wno-main -Wstack-usage=1024 -ffreestanding -Wno-unused \
-Isrc \
-Ilib/bootutil/include -Iinclude/ -Ilib/wolfssl -I$(FREERTOS_PORT) -nostartfiles \
-IfreeRTOS -IfreeRTOS/include -I build/include -I$(WOLFBOOT)/include -I$(WOLFBOOT) \
-DWOLFSSL_USER_SETTINGS -I$(WOLFSSL_ROOT) -DPICO_PORT_CUSTOM \
-mthumb -mlittle-endian -mthumb-interwork -ffreestanding -fno-exceptions
-mthumb -mlittle-endian -mthumb-interwork -ffreestanding -fno-exceptions
ifneq ($(DEBUG),0)
CFLAGS+=-O0 -ggdb3
@ -103,7 +102,7 @@ WOLFSSL_OBJS += \
$(WOLFSSL_BUILD)/tls13.o
OBJS_SPMATH:= $(WOLFSSL_BUILD)/wolfcrypt/sp_c32.o \
$(WOLFSSL_BUILD)/wolfcrypt/sp_int.o
$(WOLFSSL_BUILD)/wolfcrypt/sp_int.o
OBJS+=$(WOLFSSL_OBJS) $(OBJS_SPMATH)
LIBS+=build/lib/libpicotcp.a
@ -112,16 +111,29 @@ vpath %.c $(dir $(WOLFSSL_ROOT)/src)
vpath %.c $(dir $(WOLFSSL_ROOT)/wolfcrypt/src)
wolfboot:LSCRIPT:=k64f_wolfboot.ld
wolfboot: image.bin
make -C ../wolfBoot TARGET=kinetis clean
cp -f src/target.h ../wolfBoot/include/
make -C ../wolfBoot TARGET=kinetis DEBUG=$(DEBUG) NVM_FLASH_WRITEONCE=1 wolfboot-align.bin
cp ../wolfBoot/wolfboot-align.bin .
../wolfBoot/tools/ed25519/ed25519_sign image.bin ../wolfBoot/ed25519.der 1
cat wolfboot-align.bin image.bin.v1.signed >factory.bin
wolfboot: image.bin wolfboot-align.bin
python3 ../wolfBoot/tools/keytools/sign.py image.bin ../wolfBoot/ed25519.der 1
cat wolfboot-align.bin image_v1_signed.bin >factory.bin
sleep 1
touch image.bin
../wolfBoot/tools/ed25519/ed25519_sign image.bin ../wolfBoot/ed25519.der 2
python3 ../wolfBoot/tools/keytools/sign.py image.bin ../wolfBoot/ed25519.der 2
wolfboot-align.bin:CFLAGS=-mthumb -Wall -Wextra -Wno-main -Wstack-usage=1024 -ffreestanding -Wno-unused \
-Isrc \
-Ilib/bootutil/include -Iinclude/ -Ilib/wolfssl -I$(FREERTOS_PORT) -nostartfiles \
-IfreeRTOS -IfreeRTOS/include -I build/include -I$(WOLFBOOT)/include -I$(WOLFBOOT) \
-DWOLFSSL_USER_SETTINGS -I$(WOLFSSL_ROOT) -DPICO_PORT_CUSTOM \
-mthumb -mlittle-endian -mthumb-interwork -ffreestanding -fno-exceptions
wolfboot-align.bin:CFLAGS+=-I$(KINETIS_DRIVERS)/drivers -I$(KINETIS_DRIVERS) -DCPU_MK64FN1M0VLL12 -I$(KINETIS_CMSIS)/Include -I$(PHY) -DDEBUG_CONSOLE_ASSERT_DISABLE=1 -mcpu=cortex-m3 -DNVM_FLASH_WRITEONCE=1
wolfboot-align.bin:LDFLAGS=$(CFLAGS) -Wl,-gc-sections -ffreestanding -nostartfiles -lc -lnosys -specs=nano.specs -Wl,-Map=image.map
wolfboot-align.bin:
make -C ../wolfBoot TARGET=kinetis NVM_FLASH_WRITEONCE=1 clean
cp -f src/target.h ../wolfBoot/include/
rm -f ../wolfBoot/hal/kinetis.o
rm -f ../wolfBoot/src/*.o
rm -f $(KINETIS_DRIVERS)/drivers/*.o
make -C ../wolfBoot TARGET=kinetis DEBUG=$(DEBUG) NVM_FLASH_WRITEONCE=1 wolfboot-align.bin
cp ../wolfBoot/wolfboot-align.bin .
@ -166,7 +178,7 @@ image.elf: wolfboot_target $(WOLFSSL_BUILD)/wolfcrypt $(LIBS) $(OBJS) $(LSCRIPT)
$(LD) $(LDFLAGS) -Wl,--start-group $(OBJS) $(LIBS) -Wl,--end-group -o $@ -T $(LSCRIPT)
clean:
rm -f *.bin *.elf $(OBJS) wolfboot.map *.bin *.hex src/*.o freeRTOS/*.o $(FREERTOS_PORT)/*.o *.signed *.map tags
rm -f *.bin *.elf $(OBJS) wolfboot.map *.bin *.hex src/*.o freeRTOS/*.o $(FREERTOS_PORT)/*.o *.map tags
make -C picotcp clean
FORCE:

View File

@ -3,11 +3,11 @@ ifdef WOLFBOOT_OFFSET
WOLFBOOT:=$(abspath $(RIOTBASE)/../../wolfBoot/)
CFLAGS += -I$(WOLFBOOT)/include
SIGNTOOL ?= $(WOLFBOOT)/tools/ed25519/ed25519_sign
KEYGENTOOL ?= $(WOLFBOOT)/tools/ed25519/ed25519_keygen
SIGNTOOL ?= python3 $(WOLFBOOT)/tools/keytools/sign.py
KEYGENTOOL ?= python3 $(WOLFBOOT)/tools/keytools/keygen.py
BINFILE ?= $(BINDIR)/$(APPLICATION).bin
SIGN_BINFILE = $(BINDIR)/$(APPLICATION).bin.v5.signed
SIGN_BINFILE = $(BINDIR)/$(APPLICATION)_v5_signed.bin
WOLFBOOT_KEYFILE ?= $(WOLFBOOT)/ed25519.der
WOLFBOOT_BIN ?= $(WOLFBOOT)/wolfboot.bin

@ -1 +1 @@
Subproject commit d3d938d087f095f2827c51ed6328f8e04c352f49
Subproject commit e6723ec831c1095bdbcf50a8cba636c72364e1c7