MCUMGR remote firmware update

| Host |  <---- UART ----> | nRF52833 (central) |  <-- BLE--> | nRF52833 (Target) |


I have a requirement where I hope to update the central's firmware image through the Host.
However, I also want the Host to be able to update the firmware image of the target through the central.

As a beginner, I'm currently unsure how to proceed.

From what I understand, it seems possible to enable MCUMGR functionality on the Zephyr running on the central.
But I'm not sure how firmware updates can be performed between the central and target.

Which nordic zephyr examples can I refer to?
or suggestions regarding this design architecture?

Parents Reply
  • I would like to ask a question about the DFU SMP service.

    In dfu_smp.c ,
    Why does bt_dfu_smp_command invokes bt_gatt_write_without_response ?

    	/* Send request */
    	ret = bt_gatt_write_without_response(dfu_smp->conn,
    					     dfu_smp->handles.smp,
    					     cmd_data,
    					     cmd_size,
    					     false);
    	if (ret) {
    		dfu_smp->cbs.rsp_part = NULL;
    	}


    How can we ensure that the SMP server receives every data packet sent by the Central during image upload?

Children
Related