@@ -127,6 +127,10 @@ ifeq ($(TARGET),nxp_t1024)
127127 MAIN_TARGET:=factory_wstage1.bin
128128endif
129129
130+ ifeq ($(FLASH_OTP_ROT ) ,1)
131+ MAIN_TARGET:=include/target.h tools/keytools/otp/otp-keystore-primer factory.bin
132+ endif
133+
130134ASFLAGS: =$(CFLAGS )
131135BOOTLOADER_PARTITION_SIZE? =$$(( $(WOLFBOOT_PARTITION_BOOT_ADDRESS ) - $(ARCH_FLASH_OFFSET ) ) )
132136
@@ -184,6 +188,7 @@ $(PRIVATE_KEY):
184188 $(Q )$(MAKE ) keytools_check
185189 $(Q ) (test $( SIGN) = NONE) || (" $( KEYGEN_TOOL) " $( KEYGEN_OPTIONS) -g $( PRIVATE_KEY) ) || true
186190 $(Q ) (test $( SIGN) = NONE) && (echo " // SIGN=NONE" > src/keystore.c) || true
191+ $(Q ) (test $( FLASH_OTP_ROT) = 0) || (make -C tools/keytools/otp) || true
187192
188193keytools : include/target.h
189194 @echo " Building key tools"
@@ -239,7 +244,7 @@ wolfboot_stage1.bin: wolfboot.elf stage1/loader_stage1.bin
239244 $(Q ) cp stage1/loader_stage1.bin wolfboot_stage1.bin
240245
241246wolfboot.elf : include/target.h $(LSCRIPT ) $(OBJS ) $(LIBS ) $(BINASSEMBLE ) FORCE
242- $(Q ) (test $( SIGN) = NONE) || (grep -q $( SIGN_ALG) src/keystore.c) || \
247+ $(Q ) (test $( SIGN) = NONE) || (test $( FLASH_OTP_ROT ) = 1) || ( grep -q $( SIGN_ALG) src/keystore.c) || \
243248 (echo " Key mismatch: please run 'make distclean' to remove all keys if you want to change algorithm" && false)
244249 @echo " \t[LD] $@ "
245250 @echo $(OBJS )
@@ -279,6 +284,8 @@ hex: wolfboot.hex
279284
280285src/keystore.c : $(PRIVATE_KEY )
281286
287+ flash_keystore : $(PRIVATE_KEY ) src/flash_otp_keystore.o
288+
282289keys : $(PRIVATE_KEY )
283290
284291clean :
@@ -302,6 +309,7 @@ utilsclean: clean
302309 $(Q )$(MAKE ) -C tools/test-update-server -s clean
303310 $(Q )$(MAKE ) -C tools/uart-flash-server -s clean
304311 $(Q )$(MAKE ) -C tools/unit-tests -s clean
312+ $(Q )$(MAKE ) -C tools/keytools/otp -s clean
305313
306314keysclean : clean
307315 $(Q ) rm -f * .pem * .der tags ./src/* _pub_key.c ./src/keystore.c include/target.h
@@ -359,6 +367,12 @@ cppcheck:
359367 --suppress=" objectIndex" --suppress=" comparePointers" \
360368 --error-exitcode=89 --std=c89 src/* .c hal/* .c hal/spi/* .c hal/uart/* .c
361369
370+ otp : tools/keytools/otp/otp-keystore-primer.bin
371+
372+ tools/keytools/otp/otp-keystore-primer.bin : FORCE
373+ make -C tools/keytools/otp clean
374+ make -C tools/keytools/otp
375+
362376% .o :% .c
363377 @echo " \t[CC-$( ARCH) ] $@ "
364378 $(Q )$(CC ) $(CFLAGS ) -c $(OUTPUT_FLAG ) $@ $^
0 commit comments