From 49a817b6688d8910a491dd3b2a11e238d3a2a4f8 Mon Sep 17 00:00:00 2001 From: alex-luxonis Date: Sat, 24 Apr 2021 18:16:15 +0300 Subject: [PATCH 1/2] Add UsbRomBoot::keepUsbBootAfterAppRestart, telling the bootloader/app to not restart to bootloader, but keep USB boot until the next power-cycle/hard-reset (slightly faster, and less complicated to deal with virtual machines) --- include/depthai-bootloader-shared/Bootloader.hpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/include/depthai-bootloader-shared/Bootloader.hpp b/include/depthai-bootloader-shared/Bootloader.hpp index 034c6f0..05add04 100644 --- a/include/depthai-bootloader-shared/Bootloader.hpp +++ b/include/depthai-bootloader-shared/Bootloader.hpp @@ -21,6 +21,9 @@ namespace request { // Common Command cmd; UsbRomBoot() : cmd(USB_ROM_BOOT) {} + + // Data + bool keepUsbBootAfterAppRestart = false; }; struct BootApplication { // Common From 2f38e221c161d23c2451788eca7dce9992f137ad Mon Sep 17 00:00:00 2001 From: alex-luxonis Date: Sat, 24 Apr 2021 18:19:41 +0300 Subject: [PATCH 2/2] UpdateFlash: add BOOT_HEADER, allowing to flash a boot override header, for example for a non-volatile change to USB boot --- include/depthai-bootloader-shared/Bootloader.hpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/include/depthai-bootloader-shared/Bootloader.hpp b/include/depthai-bootloader-shared/Bootloader.hpp index 05add04..a22ffbc 100644 --- a/include/depthai-bootloader-shared/Bootloader.hpp +++ b/include/depthai-bootloader-shared/Bootloader.hpp @@ -39,8 +39,12 @@ namespace request { UpdateFlash() : cmd(UPDATE_FLASH) {} // Data - enum Storage : uint32_t { SBR, BOOTLOADER }; + enum Storage : uint32_t { SBR, BOOTLOADER, BOOT_HEADER }; + // TODO make BOOT_HEADER and BOOTLOADER storage not overlap. + // Then we could have separate actions to update BOOT_HEADER only. + enum BootHeader : uint32_t { CUSTOM_PAYLOAD, USB, /* FLASH_SPI_QUAD, */ }; Storage storage; + BootHeader bootHeader; uint32_t totalSize; uint32_t numPackets; };