FOTA between two nRF5340

Hello,

I'm currently working with an nRF5340DK, trying to implement FOTA update by sending the firmware from another nRF5340DK. Is there an already developed feature/sample from nordic or zephyr to achieve this?

I started working with BLE FOTA sample, but it requires the use of an external device such as phone or tablet. I can work on implementing the client side on the other nRF5340, which as far as I know is not included in the samples, but my ideal intention is to work without BLE for now.

I also started to write a custom implementation of the SMP server/client, with the transport layer relying on ESB protocol, but the need to include RPC comunication between both cores for every iteration of the server requests/responses makes it a non-efficient way, and also a really complicated one.

What is the recomended path to follow for achiving an efficient FOTA between two nRF5340?

Thanks.

Parents
  • Hi Leopoldo, 

    I'm afraid that we don't have an example that show how you can send FOTA image from one nRF53 to another nRF53. So you may have to implement this on your own. 

    I agree that doing FOTA via ESB can be complicated. I would suggest to do it via BLE, at least the implementation of the communication between 2 cores is already taken care of by the BLE host and controller. And that the SMP_SVR is already implemented on the target's side. You only need to implement that on the FOTA master side. And that you may have other example code on Android/PC to refer to. 

    Of course it's not limited to BLE or SMP, you can use any protocol to deliver the image on the chip and trigger the test/confirm on MCUBoot after the image and the image trailer is placed in the correct location. 

    You can find the specification of SMP protocol here: https://docs.zephyrproject.org/latest/services/device_mgmt/smp_protocol.html

    You can also use a sniffer to capture the communication between the phone and the SMP_SVR on nRF53 so that you can reproduce the same communication between nRF53-nRF53. 

Reply
  • Hi Leopoldo, 

    I'm afraid that we don't have an example that show how you can send FOTA image from one nRF53 to another nRF53. So you may have to implement this on your own. 

    I agree that doing FOTA via ESB can be complicated. I would suggest to do it via BLE, at least the implementation of the communication between 2 cores is already taken care of by the BLE host and controller. And that the SMP_SVR is already implemented on the target's side. You only need to implement that on the FOTA master side. And that you may have other example code on Android/PC to refer to. 

    Of course it's not limited to BLE or SMP, you can use any protocol to deliver the image on the chip and trigger the test/confirm on MCUBoot after the image and the image trailer is placed in the correct location. 

    You can find the specification of SMP protocol here: https://docs.zephyrproject.org/latest/services/device_mgmt/smp_protocol.html

    You can also use a sniffer to capture the communication between the phone and the SMP_SVR on nRF53 so that you can reproduce the same communication between nRF53-nRF53. 

Children
Related