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

DFU in multiprotocol BLE/Thread application

Hi,

1. I'm developing multiprotocol BLE/Thread app with Thread SDK 1.0 and I want to ask if there's a possibilty to perform DFU over Thread in that case? In Thread Secure DFU Example description there's something like this written:

"The Thread stack does not use the SoftDevice, but the --sd-req 0x00 option is required to indicate that no SoftDevice is used."

So what in case of multiprotocol solution? Do I need just to insert the number of SoftDevice?

Thanks in advance,

Marek

Parents
  • I have not tested the Thread DFU yet, but I see that it uses the same bootloader library as the BLE bootloader, so I assume that it is only the transport layer that is changed.

    So if your application requires a softdevice, which it does if you use BLE, you must use --sd-req 0xNN, which matches the softdevice that you are using.

     

    You need to use coap_dfu_init(), yes. Just remember to also flash the bootloader before you run the project. At least in the regular BLE bootloader projects, it will return an error if it can't find any bootloader.

    I can't see that it uses the same function to look for the bootloader, but I assume it has the same check. Either way, you would need the bootloader in order to perform the DFU.

     

    I suggest that you try the guide for the Thread DFU example first, just to see that you get the bootloader is up and running before you try to implement it in a BLE + Thread project.

     

    Best regards,

    Edvin

Reply
  • I have not tested the Thread DFU yet, but I see that it uses the same bootloader library as the BLE bootloader, so I assume that it is only the transport layer that is changed.

    So if your application requires a softdevice, which it does if you use BLE, you must use --sd-req 0xNN, which matches the softdevice that you are using.

     

    You need to use coap_dfu_init(), yes. Just remember to also flash the bootloader before you run the project. At least in the regular BLE bootloader projects, it will return an error if it can't find any bootloader.

    I can't see that it uses the same function to look for the bootloader, but I assume it has the same check. Either way, you would need the bootloader in order to perform the DFU.

     

    I suggest that you try the guide for the Thread DFU example first, just to see that you get the bootloader is up and running before you try to implement it in a BLE + Thread project.

     

    Best regards,

    Edvin

Children
No Data
Related