Enabled DFU and OTA in nRF54L15

Hi,

I have developed a custom application on nRF54L15 and now I want to add OTA over BLE support in it.

For that, I am following Exercise 5 – FOTA over Bluetooth Low Energy.

I tried with the BLE_LBS sample as suggested and I am able to update the firmware but not always. On few occasions the device disconnects and then OTA fails every time and need to flash the device again. Below are the logs from the sample.

*** Booting My Application v2.9.0-5ab89f397924 ***
*** Using nRF Connect SDK v3.1.0-6c6e5b32496e ***
*** Using Zephyr OS v4.1.99-1612683d4010 ***
Starting Bluetooth Peripheral LBS sample by HD
I: 2 Sectors of 4096 bytes
I: alloc wra: 0, f70
I: data wra: 0, 10
I: SoftDevice Controller build revision:
I: fc de 41 eb a2 d1 42 24 |..A...B$
I: 00 b5 f8 57 9f ac 9d 9e |...W....
I: aa c9 b4 34 |...4
I: HW Platform: Nordic Semiconductor (0x0002)
I: HW Variant: nRF54Lx (0x0005)
I: Firmware: Standard Bluetooth controller (0x00) Version 252.16862 Build 1121034987
I: No ID address. App must call settings_load()
Bluetooth initialized
I: HCI transport: SDC
I: Identity: FF:75:86:D8:DA:AA (random)
I: HCI: version 6.1 (0x0f) revision 0x3069, manufacturer 0x0059
I: LMP: version 6.1 (0x0f) subver 0x3069
Advertising successfully started
Connected
W: Ignoring data for unknown channel ID 0x003a
I: Image index: 0, Swap type: none
I: Image index: 0, Swap type: none
I: Image index: 0, Swap type: none
Disconnected, reason 0x08
Connection object available from previous conn. Disconnect is complete!
Advertising successfully started

I have not yet created a pm_static.yml file for partitions. Sharing the auto generated file from the build folder.

 Please let me know what am I missing?

EMPTY_0:
  address: 0xd800
  end_address: 0xe000
  placement:
    after:
    - mcuboot
  region: flash_primary
  size: 0x800
EMPTY_1:
  address: 0x162000
  end_address: 0x163000
  placement:
    after:
    - mcuboot_secondary
  region: flash_primary
  size: 0x1000
app:
  address: 0xe800
  end_address: 0xb8000
  region: flash_primary
  size: 0xa9800
bootconf:
  address: 0xffd080
  end_address: 0xffd084
  region: bootconf
  size: 0x4
mcuboot:
  address: 0x0
  end_address: 0xd800
  placement:
    align:
      end: 0x1000
    before:
    - mcuboot_primary
  region: flash_primary
  size: 0xd800
mcuboot_pad:
  address: 0xe000
  end_address: 0xe800
  placement:
    align:
      start: 0x1000
    before:
    - mcuboot_primary_app
  region: flash_primary
  size: 0x800
mcuboot_primary:
  address: 0xe000
  end_address: 0xb8000
  orig_span: &id001
  - mcuboot_pad
  - app
  region: flash_primary
  sharers: 0x1
  size: 0xaa000
  span: *id001
mcuboot_primary_app:
  address: 0xe800
  end_address: 0xb8000
  orig_span: &id002
  - app
  region: flash_primary
  size: 0xa9800
  span: *id002
mcuboot_secondary:
  address: 0xb8000
  end_address: 0x162000
  placement:
    after:
    - mcuboot_primary
    align:
      start: 0x1000
  region: flash_primary
  share_size:
  - mcuboot_primary
  size: 0xaa000
otp:
  address: 0xffd500
  end_address: 0xffd9fc
  region: otp
  size: 0x4fc
settings_storage:
  address: 0x163000
  end_address: 0x165000
  placement:
    after:
    - app
    align:
      start: 0x1000
    before:
    - end
  region: flash_primary
  size: 0x2000
sram_primary:
  address: 0x20000000
  end_address: 0x2002f000
  region: sram_primary
  size: 0x2f000

Parents Reply Children
Related