DFU - Windows host, USB transport and proprietary protocol. A way out

Hi,
I have to develop a new nRF5340/Zephyr/MCUBoot-based device that communicates with a Windows application via USB.
The Windows application already manages other legacy products. For them all a proprietary protocol is already in place for downloading a new firmware image (DFU).
What is the simpler strategy to manage this on the device side ?
In the past I've used the SMP server plus MCUmgr (https://docs.zephyrproject.org/2.6.0/samples/subsys/mgmt/mcumgr/smp_svr/README.html), but in that case I worked with a serial transport, and did not have a proprietary protocol to abide by.

Thank You

Parents
  • Hi Gabriele, 

    I assume you are looking for DFU update with proprietary RF protocol, not USB ? 

    If it's the case we don't have an example for that. What we can suggest you to is to look into smpsvr example and follow what's been done there. Smpsvr supports UART and BLE. The main point is to receive the image via proprietary protocol and store it in the secondary slot with correct trailer. After that trigger MCUBoot to test and confirm (swap the image) . 

Reply
  • Hi Gabriele, 

    I assume you are looking for DFU update with proprietary RF protocol, not USB ? 

    If it's the case we don't have an example for that. What we can suggest you to is to look into smpsvr example and follow what's been done there. Smpsvr supports UART and BLE. The main point is to receive the image via proprietary protocol and store it in the secondary slot with correct trailer. After that trigger MCUBoot to test and confirm (swap the image) . 

Children
No Data
Related