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. 

  • Hi again Hung, we have finally decided to move on with the ESB alternative for the transport layer of the SMP protocol, but may also move to BLE later.

    We are struggling a little bit with the SMP request packets assembly, is there any chance that you provide some reference to the source code of the application used in mobile devices to provide the image when working with BLE?

    Thank you very much,

    Leopoldo

  • Hi Leopoldo, 

    I think the best source is to look at the nRF Connect Device Manager example we have on Android here.

    I also suggest to capture a sniffer trace so that you get the raw data getting out of the phone and can try to replicate it with your ESB device. 

Reply Children
Related