The NRF5 SDK supports the Bluetooth DFU SMP protocol.

hello,

  Our company has a product that uses the nrf5 SDK, with the main device using nrf52832 and the peripheral device using nrf52810. The main device upgrades the peripheral device through the Bluetooth DFU protocol.

  Currently, our peripheral device chip has been replaced with 54L05, using NCSv3.3.0. In order to be compatible with the previous main device, we need the nrf52832 nrf5 SDK to support the SMP upgrade protocol. Could you provide an example to assist us with our development?

Looking forward to your reply, thank you very much.

  • Hello,

    I am sorry, but we don't have support for the SMP protocol in the nRF5 SDK. Besides, the bootloaders are very different in the nRF5 SDK and in NCS, so you will not be able to DFU from nRF5 to NCS, if that was your plan.

    However, if you want SMP support in the nRF5 SDK you would have to implement this yourself. It is not something we provide, unfortunately. But to be honest, I don't see why you would want/need that either.

    Best regards,

    Edvin

  • hello,

    Thank you for your reply.

    The need arises because the previous peripheral device using the 52810 chip has been replaced with the 54L05, while the main device remains the 52832. This main device needs to support both the new and old peripheral devices simultaneously.

    I have an idea, could you help evaluate it,

    whether the main device only needs to send the peripheral device's upgrade file to the slave device using the SMP protocol via Bluetooth.

  • Hello Frank,

    Please note that I will be out of office for a few weeks, starting in 7 hours, so for follow up questions, I will place your ticket back in the pool before I leave today, so it will be re-assigned to someone else if you have any more questions. 

    Do you currently update the peripheral devices using the main device? How do you update the main device? Is it connected to internet in some way?

    One workaround would be to update all devices using e.g. a mobile phone, or a computer that supports both the old and new protocol.

    Another alternative is to update the main device to run NCS as well, but in this case, it will not be able to update the old peripherals. 

    A third option is to implement a custom transfer protocol, similar to the one in the nRF5 SDk on NCS. The bootloader doesn't really care how the image is placed in the flash, as long as it is present before a reset. 

    Have you tested DFU on the nRF54l05 in NCS? Do you have place for it on the internal flash, or do you have external flash as well?

    BR,

    Edvin

  • Hello Edvin,

    Thank you for your reply.

    There is an AP on the main device, and the AP connects to the network. The AP upgrades the main device through the serial port, and the AP can also send files of peripheral devices to the main device through the serial port.

    54l05 We have verified the upgrade (using nrf connect app on the phone). 54l05 partition (mcuboot + slot1 + slot2), receive code in the app, mcuboot swaps the two partitions.

    If a custom communication protocol is used, the 54l05 cannot use the existing SMP protocol. I believe that supporting the SMP protocol in the nRF5 SDK is the optimal solution, as it only needs to transmit to the 54l05 through the SMP protocol. Can you provide some examples of assistance for this solution?

    Looking forward to your reply, thank you very much.

    Frank

  • Frank said:
    Can you provide some examples of assistance for this solution?

    Sorry, I can't do that. Implementing the SMP functionality is not a small task. It is not a trivial task, as this is not only a simple transfer protocol. 

    Is the main device just an nRF52832 with an AP? Or is it connected to a larger system?

    BR,
    Edvin

Related