Beware that this post is related to an SDK in maintenance mode
More Info: Consider nRF Connect SDK for new designs

FOTA on nRF52810 with NCS

Hi Nordic,

I am new to the nRF52810 and would like to start a project using nRF Connect SDK + FOTA update (I have some experience with the nRF5 SDK and nRF52840). The Application is mainly a Beacon, sending some data via Advertisment.

I got to the Point, where I have MCUBoot + 2 App Slots (32kB + 80kB + 80kB). Unfortunately, the FW will not fit into the 80kB slot with all the BLE SMP stuff, which make me wonder:

1) Is there any chance to get this running?

2) Is there any chance to have FOTA with NCS on this chip?

3) Should I go back to nRF5-SDK and use a single slot DFU-Bootloader in this case?

4) Would it possible to mix some old DFU-Single-Slot-Bootloader with a Zephyr-FW that uses a partition with the S112-Softdevice, instead of the builtin BL-Stack (even though it's not officially supported)?

Parents
  • Hi,

    1) Is there any chance to get this running?

    It is not possible to do single slot DFU over BLE with nRF Connect SDK. Therefore, if you cannot fit you application in the available 80 kB (one of the two same sized slots), you could consider adding an external flash or switching to an nRF with more flash (like the nRF52832). 

    2) Is there any chance to have FOTA with NCS on this chip?

    No. (Serial DFU would be possible with only one slot though.)

    3) Should I go back to nRF5-SDK and use a single slot DFU-Bootloader in this case?

    If your application is as simple as it seems, and you don't need any of the new features in nRF Connect SDK, and never will for this product, then it might be a good idea in this case (though generally I would recomend the nRF Connect SDK over the old nRF5 SDK).

    4) Would it possible to mix some old DFU-Single-Slot-Bootloader with a Zephyr-FW that uses a partition with the S112-Softdevice, instead of the builtin BL-Stack (even though it's not officially supported)?

    In theory you could use a nRF5 SDK BLE bootloadser that use the SoftDevice. That would likely not be a solution in this case though, as the Zephyr application will need to include it's own full BLE stack, and you would likely not be able to fit everythign.

    Summig up, it seems to me that option 3 is most suitable in this specific case.

  • Hello,

    Thanks for the suggestions!

    I would like to clarify Option 4: Theoretical it would be possible *NOT* to use the BLE Stack from Zephyr (CONFIG_BT=n) but to include the headers from the Softdevice and use the SVCALLs in zephyr. Why wouldn't that work? For my case, I don't even need multithreading and I could disable it.

Reply Children
Related