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

How program beacon OTA

Good afternoon.

I have bought a "nRF51822 BluetoothRegistered Smart Beacon Kit (nRF6930, Rev 1.3.0)" this is the first time I work with this, docs say that it has installed softdevice s110 with sdk 7.

The problem is that I was testing a modification of the beacon program with sdk 12.2.0 and softdevice s130 2.0.1 in my nrf51-dk, now I need to use this program in the smart beacon kit. I checked if I could use softdevice 130 on my beacon here and here, is compatible with sd 130.

I have read a lot of posts of beacons about how could I program it, one of these, other of these, I have seen that I can program beacon using segger, cable adapter TC2030, J-Link LITE CortexM programmer.

I need to program beacon with an over the air update using mobile app. I have tried pressing the button on the beacon and after with "nRF Beacon app", uploading first softdevice but I recieved an error "init packet required". I was looking for about program OTA and init packet and I have found some posts from 2014-2015 where says I need to generate init packet (with bootloader, softdevice and application) using "nrfutil" command , I have read "nrfutil v2.2.0 User Guide" and Android-nRF-Connect.

My questions are:

  1. Bootloader is allways necesary?.
  2. I saw this example

nrfutil dfu genpkg --application [application].hex --application-version [version] --softdevice [softdevice].hex --bootloader [bootloader].hex --dev-type [type] --dev-revision [revision] --sd-req [list of supported Soft Device ids] [name of the distribution packet].zip

I have application.hex and softdevice.hex but I don´t know what are the others parameters and where/what bootloader I need to use.

Thanks.

Javier.

Parents
  • Hi Javier,

    If you want to perform Over-the-Air Device Firmware Updates(DFU), then yes, you need to have the bootloader present on the beacon.

    The beacon uses the Legacy Bootloader, so you need to use nrfutil v0.5.2, which can be dowloaded from here.

    Example usage of nrfutil v0.5.2

    nrfutil dfu genpkg --application application.hex --application-version 0xFFFFFFFF --dev-type 0xFFFF --dev-revision 0xFFFF --sd-req 0xFFFE distribution_packet.zip
    

    Best regards

    Bjørn

  • Well, then you will need to perform a SoftDevice+Bootloader+ Application update. So first you will need to compile the legacy bootloader from SDK v11.0.0 against the S130 v2.0.1 headers, because you cannot update the bootloader on the beacon kit to the Secure Bootloader in SDK v12.x.x due to size limitations. After you have generated the bootloader hex you can generate a zip file with all 3 images, i.e. SoftDevice+Bootloader+ Application, by adding the following options to the nrfutil command above

    --bootloader bootloader.hex --softdevice softdevice.hex
    
Reply
  • Well, then you will need to perform a SoftDevice+Bootloader+ Application update. So first you will need to compile the legacy bootloader from SDK v11.0.0 against the S130 v2.0.1 headers, because you cannot update the bootloader on the beacon kit to the Secure Bootloader in SDK v12.x.x due to size limitations. After you have generated the bootloader hex you can generate a zip file with all 3 images, i.e. SoftDevice+Bootloader+ Application, by adding the following options to the nrfutil command above

    --bootloader bootloader.hex --softdevice softdevice.hex
    
Children
No Data
Related