Flash area error while doing DFU using nRF Connect

Dear support team,

I am getting an error while performing DFU using nRF Connect.

My SDK version is 2.4.2, I need to do DFU using BLE simultaneously, for that i tried to modify Example mcuboot_smp_ble_simultaneous , but without modifying anything, while performing DFU by compiling this code i am getting this error, Even after getting this error new imaged is flashed successfully after DFU. i don't know the reason. my complete serial log is attached bellow. 

If any idea regarding this, please help. Thanks in advance.
Parents
  • Hi,

    Which target board do you build for?

    Regards,
    Sigurd Hellesvik

  • Krishnachandran_a said:
    We are using "Test and Confirm" mode.

    I suspect that the error you get are related to the operations done by this.
    Do you see the same error if you use "Confirm only"? Since Simultaneous multi-image DFU does not support reverting, it is no need to use "test" either way.

    Krishnachandran_a said:

    Actually No.(Custom board we are not using external flash), we didn't  find specific example or configuration to use internal flash. , we tried to remove bellow mentioned code from overlay file. that time we are getting compilation error.  If there is an example tailored for internal flash, we would be grateful for your assistance in sharing it with us.

    / {
        chosen {
            nordic,pm-ext-flash = &mx25r64;
        };
    };

    I suggest that you eliminate this error with external flash first, and then move on to internal flash.

    I know we have a custom sample (zip file) for internal flash FOTA for the nRF5340 somewhere, I just need to find it first. I think it should be in a public ticket somewhere.

  • Hi, 

    Thanks for the update.

    Do you see the same error if you use "Confirm only"?

    Tried both methods, and in both methods we are getting the same error.

  • I had a private post but was asked to continue the discussion here.

    We see the same behavior, the error prints both with "Test & Confirm" as well as "Confirm Only". The update is successful.

    We were suspicious that the DFU process tried to query the active net core slot. This was because a call to boot_read_bank_header() with the PM_mcuboot_primary_1_ID slot (slot 1 for our device) gives the same return code, but it seems to be unrelated.

    I looked for the source of the error message and it seems to be an unintended consequence of handling the state of the device.

    img_mgmt_state_write()   in img_mgmt_state.c
        - Seems like the function tries to fetch the current image state
        as a respons to the img_mgmt_state_write() smp command/function call

    img_mgmt_state_read()    in img_mgmt_state.c
        - Iterates through the first updatable_imgage_number*2 slots, so 4
        for our device

    img_mgmt_read_info()     in img_mgmt.c

    img_mgmt_erased_val()    in zephyr_img_mgmt.c
        - Prints the error message


    We are using nRF Connect SDK 2.4.1

    Best regards
    Kjell Arne

  • I am trying to reproduce this, with v2.4.2, the nRF5340DK and my Simultaneous DFU for app and net core of nRF5340 sample.

    I get the following log from the application core:

    In which I can not see the error you see.

    That means something is different here. I think finding the difference might help us figure out what is happening.

    Can you see any differences?
    Do you see the same error with my sample?
    Do you use custom hardware?

  • Do you see the same error with my sample?

    Yes,  Could you please enable Log and try. ie. CONFIG_LOG=y in project config file.

    thanks

Reply Children
No Data