This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

nrf52833 s113 DFU Package generation

Hi all :) ,

I'm trying to create my new zip folder with new image.

I connect to my nrf52833, then i click on dfu button into nrfConnect mobil app. 

I selec zip file option and strat uploading. Then the uC disconnect and restart. In the console, i see : 

<debug> nrf_sdh_ble: BLE event: 0x51.<CR>
<debug> nrf_sdh_ble: BLE event: 0x53.<CR>
<info> app: Device is preparing to enter bootloader mode.<CR>
<debug> app: Disconnected connection handle 0<CR>
<info> app: Disconnected 1 links.<CR>
<debug> app: In ble_dfu_buttonless_bootloader_start_finalize<CR>
<CR>
<info> app: Device will enter bootloader mode.<CR>
<info> app: Power management wants to reset to DFU mode.<CR>
<info> app: Power management allowed to reset to DFU mode.<CR>

When i scan, i see DfuTarg , i connect to it and according to the documentation, at the connexion to the advertiser bootloader, it should update application. But nothing happen it stay connected. after may be 1 minute, it exit but my old application start so update ahas not worked . 

I tried unsigned image but same result. I tried to increase application number too , same bad result.

Can you sum up please the different steps in order to be sure my config is ok please ? From bootloader program build ( with private key taken into account) , generation of settings.hex ?

All is a bit confusing with these files everywhere lol. I think i miss an obvious step somewhere and i also confuse between softdevice, bootloader files etc what to merge with merghex utilities etc ..

Hope my question is not to wide but i'm a bit lost with the seeral step and the order to proceed to be clean. As dfu process will be integrated to our own application, we need to really manage in a proper way all the steps to avoid having customers stuck with a corrupted device :D

Thank you very much !

  • Olfox said:
    App start only after uploading the zip file via dfu

     This indicates that the generated settings page doesn't contain the correct information needed by the bootloader to validate and boot the application.  The settings page is updated by the bootloader when you do DFU, so that explains why that part works. 

    Are you referring to "boot-validation" when you say "signed image", or that the update itself has to be signed? I would recommend to just disable boot validation when debugging, it makes it so that you don't have to update the settings page every time you make a change to the application.

    Generate and program settings page without app boot validation:

    nrfutil settings generate^
      --app-boot-validation NO_VALIDATION^
      --family NRF52^
      --application-version-string "1.0.0"^
      --bootloader-version 1^
      --bl-settings-version 2^
      --application <APPLICATION>.hex^
      settings.hex
      
      nrfjprog --program settings.hex --sectorerase -r

Related