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

two sets of nRF52840 device Firmware upgrade without phone or tablet

We have a question about firmware upgrade during our development based on nRF52840. I understand that there are couple ways to upgrade the firmware by phone/tablet/PC. However, we would like to make this happen - Using one nRF52840 device to upgrade the firmware for another nRF52840. Let's me define the first nRF52840 as "Host". When the Host has a new fireware, it will transfer the new firmware to another nRF52840 through Bluetooth. After it receives the whole firmware, it will upgrade. The whole process is similar to the IoT fireware upgrade. Can you help to review if you have some suggestions how to make it happen? Any suggestions are welcome. Thanks

Parents
  • Hi,

    Could you explain you application a little bit more? Do you need to update only 2 devices or do you have have multiple devices to update? Can I ask why you want a device A to update device B? Why not use the phone (or the DFU master) to update both devices?

    -Marjeris

  • I would like to ask one host to upgrade multiple devices. Because our using environment request this function.

  • Hi jordanliu25,

    So here are a couple of options for you. If you are going to upgrade multiple devices you should maybe consider using Mesh DFU. But you will need to update the first device through UART, then this device will store the update and then also forward it to the other devices withing radio range in the mesh network.

    If you don't want to use Mesh or if we are only talking about a couple of devices to update you could also use a new feature which was introduce in SDK15.3 which lets you store a external application without activating it.

    This way you could use you phone to update device A. Device A receives the update and stores it at bank 1 without updating its application. Then you will need to modify you application in device A to act as a DFU master to update device B. After device B is updated device A can activate the image and replace its own application.  See the relase notes under "DFU" from SDK 15.3 for more information here.

    Best Regards,

    Marjeris

Reply
  • Hi jordanliu25,

    So here are a couple of options for you. If you are going to upgrade multiple devices you should maybe consider using Mesh DFU. But you will need to update the first device through UART, then this device will store the update and then also forward it to the other devices withing radio range in the mesh network.

    If you don't want to use Mesh or if we are only talking about a couple of devices to update you could also use a new feature which was introduce in SDK15.3 which lets you store a external application without activating it.

    This way you could use you phone to update device A. Device A receives the update and stores it at bank 1 without updating its application. Then you will need to modify you application in device A to act as a DFU master to update device B. After device B is updated device A can activate the image and replace its own application.  See the relase notes under "DFU" from SDK 15.3 for more information here.

    Best Regards,

    Marjeris

Children
No Data
Related