Not able to update firmware over UART using MCUboot: flag shows pending

I tried to update firmware over UART (using MCUboot).

The flag shows test pending, and was able to test the application and provide expected output.

But was not able to "confirm image", it shows Error:NMP timeout, when the confirm image command is executed.

Thanks in advance

Parents
  • Hi,

    Did you ever restart your application during the DFU procedure?

    Do you use Serial Recovery or an SMP Server in the application? (See my unofficial tutorial on MCUboot to learn the difference)

    Regards,
    Sigurd Hellesvik

  • Hi  
    Yes I'm using a example  samples/subsys/mgmt/mcumgr/smp_svr  from NCS v2.2

    I executed commands as shown below:

    Case:1 (I did reset)

    mcumgr <connection string> image test <hash of slot-1 image>
    sudo mcumgr <connection string> reset
    After the test, it reverts back.

    Case:2
    And by using the command : 
    sudo mcumgr <connection string> image confirm , it works without reverting the images.

    So,

    1. What should be done in case 1, so that the image files are not reverted after reset.

    2. In case 2, how can I update with a new image again (for the 2nd time), because I assume the images are swapped in this case after 1st update and it no longer receives  mcumgr command. 

    It shows  Error:NMP timeout, when trying to execute mcumgr command.

  •   Please find the attachment below:
    Issue: I can update the image file but the application does not run after update And also it stays in the bootloader mode.
    Thank you

  • Your sample works for me. See the recording:

  •   Thank you so much for the feedback.
    I will try it again if not then I will use 'ncs 2.4.0' version.

    Also in my case I dont see the 'hash' value as shown below:

    Images:
    image=0 slot=0
    version: 0.0.0.0
    bootable: false
    flags:
    hash: Unavailable
    Split status: N/A (0)

    Any reason why

  • In v2.4.0, Serial Recovery was upgraded to print some more information about the image.

    What you see is expected before v2.4.0

  •   with  v2.4.0 it works fine.

    Please can you provide an example for "SMP Client" (to transfer over UART) or suggestions on how to implement this?
    I am planning to run SMP Client in my laptop itself, to update firmware over UART.

    Any information on this is much appreciated. 
    Thanks!

Reply Children
Related