DFU nrf52833 bootloader check even if NO_VALIDATION

Hi Nordic,

I'm able to do dfu without validation after few days of studying documentations and forum.

Here is the settings page i'm flashing:

nrfutil settings generate ^
--app-boot-validation NO_VALIDATION ^
--sd-boot-validation NO_VALIDATION ^
--softdevice C:\nordic\s113nrf52701\s113_nrf52_7.0.1_softdevice.hex ^
--family NRF52 ^
--application myfw.hex ^
--application-version 1 ^
--bootloader-version 1 ^
--bl-settings-version 2 ^
settings.hex

nrfjprog --sectorerase --program settings.hex --verify

pause

But i had to disable :

#define NRF_BL_APP_SIGNATURE_CHECK_REQUIRED 0

#define NRF_DFU_REQUIRE_SIGNED_APP_UPDATE 0

#define NRF_DFU_APP_ACCEPT_SAME_VERSION 1

#define NRF_DFU_APP_DOWNGRADE_PREVENTION 0

Here is the commands i'm using to create zip file:

nrfutil pkg generate ^
--debug-mode ^
--sd-req 0xCC ^
--app-boot-validation NO_VALIDATION ^
--application fw_B.hex ^
--hw-version 52 ^
fw_B.zip

I notice a difference in flashing behavior of the nordic App. usaully with signed image, i can see the upload opration in the graphic. But in my case without validation, after clicking DFU button and selecting my fw_B zip file, it prints:

-inittialising... 

- Starting DFU (no upload appears in the graph yet)

- Starting Bootloader

Here i see that it reset, and bootlader (dfutarg) is connected listing three charac.

- Uploading new image ( without graphic showing the upload operation)

- reset and boot successfully my new image.

So it works but there is few differences with signed image and it pop up few questions in my mind:

Questions:

1) Is setting page have to be flashed before the bootloader ?

2) Could my problem coming from the fact i'm specifying application-version 1 after the argument --app-bootvalidation NO VALIDATION in settings page generation command?

3) When i generate the zip, i'm using --debug-mode that should avoid the version check. Does it works if bootladoer has NRF_BL_APP_SIGNATURE_CHECK_REQUIRED 1 in sdk_config?

4) How is set the priority if bootloader has version checked in sdk config, but setting page have  --app-bootvalidation NO VALIDATION ?

5) i have a concern about #define NRF_BL_DFU_ENTER_METHOD_BUTTONLESS 0 . I'm using the buttonless dfu mode, that is working, but this setting is clear to 0. How is it possible?

6) In sdk_config.h : #define NRF_DFU_IN_APP 0 . We have a custom Flutter application that have to be able to do dfu. Should i set this field to 1 to autorize it ?

Sorry for all this questions but even if i search a lot in the forum, it is still confusing. i tried a lot of combinations, but it seems that some of them can replace others, making the stuff complex to understand.

To Debug , i think i will erase all the chip to remove bootloader, and comment ble_dfu_buttonless_async_svci_init() in the main of my app. it is the easiest to avoid to change every time the bootloader settings or generate each time a signed image...

Thanks for all this clarifications 

Parents Reply Children
No Data
Related