Flash area error while doing DFU using nRF Connect

Dear support team,

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

[00:02:39.702,697] <inf> mcuboot_util: Swap type: none
[00:02:39.702,972] <err> mcumgr_img_grp: Failed to open flash area ID 1: -2

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. 

D: RDSR 40 QE 1 need 1: no-change
I: Starting bootloader
I: Swap type: none
I: Swap type: none
I: Bootloader chainload address offset: 0xc000
*** Booting Zephyr OS build 28a3fca7da5c ***
Change this to see it change.
[00:00:00.030,853] <inf> bt_hci_core: HW Platform: Nordic Semiconductor (0x0002)
[00:00:00.030,883] <inf> bt_hci_core: HW Variant: nRF53x (0x0003)
[00:00:00.030,914] <inf> bt_hci_core: Firmware: Standard Bluetooth controller (0x00) Version 224.11902 Build 2231721665
[00:00:00.032,623] <inf> bt_hci_core: Identity: C5:DB:0C:FE:67:B3 (random)
[00:00:00.032,653] <inf> bt_hci_core: HCI: version 5.4 (0x0d) revision 0x2077, manufacturer 0x0059
[00:00:00.032,653] <inf> bt_hci_core: LMP: version 5.4 (0x0d) subver 0x2077
Bluetooth initialized
Advertising successfully started
[00:02:39.702,697] <inf> mcuboot_util: Swap type: none
[00:02:39.702,972] <err> mcumgr_img_grp: Failed to open flash area ID 1: -2
[00:02:39.978,576] <inf> mcuboot_util: Swap type: none
D: RDSR 40 QE 1 need 1: no-change
I: Starting bootloader
I: Swap type: perm
I: Swap type: perm
I: Image upgrade secondary slot -> primary slot
I: Erasing the primary slot
I: Copying the secondary slot to the primary slot: 0x1af50 bytes
D: writing magic; fa_id=4 off=0xf3ff0 (0xffff0)
D: erasing secondary header
D: erasing secondary trailer
I: Image upgrade secondary slot -> primary slot
I: Erasing the primary slot
I: Copying the secondary slot to the primary slot: 0x2e8d4 bytes
D: writing magic; fa_id=1 off=0x3fff0 (0x3fff0)
I: Turned on network core
I: Turned off network core
D: erasing secondary header
D: erasing secondary trailer
I: Bootloader chainload address offset: 0xc000
ÿ*** Booting Zephyr OS build 28a3fca7da5c ***
Krishnachandran_Test....
[00:00:00.030,883] <inf> bt_hci_core: HW Platform: Nordic Semiconductor (0x0002)
[00:00:00.030,914] <inf> bt_hci_core: HW Variant: nRF53x (0x0003)
[00:00:00.030,944] <inf> bt_hci_core: Firmware: Standard Bluetooth controller (0x00) Version 224.11902 Build 2231721665
[00:00:00.032,653] <inf> bt_hci_core: Identity: C5:DB:0C:FE:67:B3 (random)
[00:00:00.032,684] <inf> bt_hci_core: HCI: version 5.4 (0x0d) revision 0x2077, manufacturer 0x0059
[00:00:00.032,684] <inf> bt_hci_core: LMP: version 5.4 (0x0d) subver 0x2077
Bluetooth initialized
Advertising successfully started
If any idea regarding this, please help. Thanks in advance.
Parents Reply
  • I ran the example myself now, and I saw the same error: "Failed to open flash area ID 1: -2".

    Digging into the error code, the error is that the mcumgr drivers try to open mcuboot_primary_1, which is in simulated RAM-flash. And this can not be opened as such.

    When we upload a new image with the app, the upload button will trigger multiple SMP Command being sent to the nRF. Among these is the image state command.
    With this, the nRF tries to return information about all images to the phone.
    Since the nRF cannot read the RAM-flash, as this is a "trick" we use to update the network core, it will return an error.

    This should not interfere in your DFU from what I can see.

Children
Related