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

mesh DFU questions

hi everyone

I'm new for mesh. having read the document,but have some question.

1 Could the mesh DFU bootloader update the source devices' application through its serial port which connected to host.
the source node update the firmware of the target node ,and controled by host nrfutil throgh the serial port.
But how to update the firmware of the source node? could update it by the mesh DFU bootloader through its serial port?

2 If true (question 1).could you give some example. Is there any host tool or code?

3 In "Configuring and performing DFU over Mesh",Step 5: Flash the first application on all devices.here
"If you have built them with SEGGER Embedded Studio, move to the next step"
what is the reason? is it my english problem? if ignored Step 5,there will be no "first application" present in the target device.

sorry for my english,and hope the help.
thanks

  • Hello,

     

    1 Could the mesh DFU bootloader update the source devices' application through its serial port which connected to host.
    the source node update the firmware of the target node ,and controled by host nrfutil throgh the serial port.
    But how to update the firmware of the source node? could update it by the mesh DFU bootloader through its serial port?

     Yes, you can update the firmware of a mesh node via the serial port (as long as the mesh bootloader is programmed). It will update itself, but also broadcast the DFU image in case there are any other nodes in the network that use the same application ID that is set in the DFU image.

     

    2 If true (question 1).could you give some example. Is there any host tool or code?

     Just as if you would use that node to update other nodes in the network. Just make sure that the device page's application ID is matching the DFU image's application ID. Please refer to this guide:

    https://infocenter.nordicsemi.com/topic/com.nordic.infocenter.meshsdk.v5.0.0/md_doc_user_guide_modules_dfu_configuring_performing.html

    The application ID I refer to is set in Step 1: Generate a DFU file with nRF Util, and it must match in the DFU archive, and the ID used to sign the image in the section "Adding the public key from nRF Util to device page".

    3 In "Configuring and performing DFU over Mesh",Step 5: Flash the first application on all devices.here
    "If you have built them with SEGGER Embedded Studio, move to the next step"
    what is the reason? is it my english problem? if ignored Step 5,there will be no "first application" present in the target device.

     That is probably a typo. I believe it should say: "If you have built and flashed them with SEGGER Embedded Studio, move to the next step".

    It is correct as you say. You need to flash the bootloader (and preferably the first application) in order for DFU to work.

    Hopefully this clarifies some of your questions. The guide in the answer to question 2 is a good guide, and you should give it a go. Try to have two devices, and notice that both will be updated when you push the update via serial to one of them. Then try to use different application IDs for the two, and notice that only the device with the correct application ID will be updated.

    Best regards,

    Edvin

  • It is so grateful for the prompt and patient reply,and is so helpful!
    The detailed explanation help me a lot! It is time to try to test.
    thanks
    Best regards

Related