Confirmation on Reset Time for nRF52810 with Secure Bootloader

Dear All,

I am working on a project using the nRF52810 with the secure bootloader configuration from the Nordic SDK 17.0.2. Specifically, we are using the example:

 ..\dfu\secure_bootloader\pca10040e_s112_ble

I would like to confirm whether a reset time of approximately 70ms is expected for this configuration.

Additionally, if this reset time could be reduced, could you provide any recommendations or optimizations to achieve a faster reset?

Thank you in advance for your support.

Kind regards,

Cristian

Parents
  • Hi,

    The boot time depends not only on the bootloader itself, but also heavily on clock sources and their ramp-up time.

    In particular if you use a 32.768 kHz cyrstal oscillator (LFXO, typically 250 ms startup time). However you are well below that, and other options (both for LF clock and HF clock) should leave you below 1 ms for clock startup.

    The main time spent in the bootloader is the integrity checks for the application and Softdevice. If the checks passes, the bootloader starts the applicaiton. Otherwise it goes into bootloader mode, so that you can replace the rejected application with a valid one.

    You can configure the bootloader to skip the integrity check in certain situations, such as:

    Further, the integrity checks (also called boot validation) can be entirely turned off, or the method changed. The option is set when generating the bootloader settings page and/or when generating the DFU package, using nrfutil, with the options --app-boot-validation and --sd-boot-validation. Time spent by the bootloader depend heavily on the choice of method. The option NO_VALIDATION disables the boot time integrity check altogether.

    Run the command nrfutil pkg generate --help for a full listing of method names to use with nrfutil, and see Boot validation modes for a full explanation of the various methods.

    Please note that these boot time integrity checks are for checking that the SoftDevice and application has not changed while residing on the SoC. They are entirely independent of the validation performed during DFU. Therefore, the system is still protected against unauthorized firmware image installation, regardless of method or existence of boot time validation.

    Regards,
    Terje

Reply
  • Hi,

    The boot time depends not only on the bootloader itself, but also heavily on clock sources and their ramp-up time.

    In particular if you use a 32.768 kHz cyrstal oscillator (LFXO, typically 250 ms startup time). However you are well below that, and other options (both for LF clock and HF clock) should leave you below 1 ms for clock startup.

    The main time spent in the bootloader is the integrity checks for the application and Softdevice. If the checks passes, the bootloader starts the applicaiton. Otherwise it goes into bootloader mode, so that you can replace the rejected application with a valid one.

    You can configure the bootloader to skip the integrity check in certain situations, such as:

    Further, the integrity checks (also called boot validation) can be entirely turned off, or the method changed. The option is set when generating the bootloader settings page and/or when generating the DFU package, using nrfutil, with the options --app-boot-validation and --sd-boot-validation. Time spent by the bootloader depend heavily on the choice of method. The option NO_VALIDATION disables the boot time integrity check altogether.

    Run the command nrfutil pkg generate --help for a full listing of method names to use with nrfutil, and see Boot validation modes for a full explanation of the various methods.

    Please note that these boot time integrity checks are for checking that the SoftDevice and application has not changed while residing on the SoC. They are entirely independent of the validation performed during DFU. Therefore, the system is still protected against unauthorized firmware image installation, regardless of method or existence of boot time validation.

    Regards,
    Terje

Children
No Data
Related