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

NCS (Zephyr) + DFU over BLE + nRF52810 (small flash)

We are developing a new product and plan to use nRF52810. As I understand nRF52 will be supported for production in the new nRF Connect Release (1.3.0) that will come soon. We have previously used nRF SDK for a nRF52810 project with buttonless DFU over BLE successfully. But are interested in switching to new NCS with the new product.

However, I do not see how BLE DFU can take place since MCUboot requires two slots for the application. Also MCUboot and application cannot share the BLE stack. Is this correct? Since BLE stack is large, several copies of the application does not fit the small flash nor cannot the bootloader also have its own BLE stack.

If we want to have DFU over BLE are we required to use the old nRF SDK?

We do not have the requirement to always have a valid application image. For us it is okay that once DFU is started, it will be in DFU mode until a complete application is received, no backup required. (Bootloader is the backup).

Kind regards

Mattias

Parents
  • Hi,

    If I understand you correctly, with nRF5 SDK, you did an application DFU, without updating the SoftDevice. But with MCUBoot, the Application + Bluetooth Host + Bluetooth Link layer need to be part of the update, and this increases the total amount of flash needed for the DFU.

    I will ask the bootloader developers about this and get back to you next week.

  • Yes, that is correct. With nRF5 SDK we had no need to update the SoftDevice. Only the application.

    That is the question. Since the Bluetooth Link Layer + Bluetooth Host is large, multiple copies in the nRF52810 flash is not possible. I have found no way to share the Bluetooth stack between bootloader and application in your documentation. If we want to update our application over BLE are we required to use the old nRF SDK?

    Thanks for your reply

  • MattiasE said:
    If we want to update our application over BLE are we required to use the old nRF SDK?

    We don't have any solution that does not require dual bank. The whole app image(Zephyr Host+LL+ your own application) need to be part of the DFU. How large the image will be, will depend on both your application, and how you configure the Zephyr Host +LL. Depending on how much Bluetooth functionality you need, the Zephyr Host+LL can be configured to be very small. E.g. a simple beacon application is only around 50 kB.

Reply
  • MattiasE said:
    If we want to update our application over BLE are we required to use the old nRF SDK?

    We don't have any solution that does not require dual bank. The whole app image(Zephyr Host+LL+ your own application) need to be part of the DFU. How large the image will be, will depend on both your application, and how you configure the Zephyr Host +LL. Depending on how much Bluetooth functionality you need, the Zephyr Host+LL can be configured to be very small. E.g. a simple beacon application is only around 50 kB.

Children
Related