<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>OTA DFU on 54L15</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/122249/ota-dfu-on-54l15</link><description>Hi all, 
 we are wondering if there is a clean and reliable way to perform DFU on 54L15 via Thread? Our scenario: once the products get shipped to customers, the border router should be able to send some sort of message via Thread, which includes the</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 20 Jun 2025 10:51:24 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/122249/ota-dfu-on-54l15" /><item><title>RE: OTA DFU on 54L15</title><link>https://devzone.nordicsemi.com/thread/540003?ContentTypeID=1</link><pubDate>Fri, 20 Jun 2025 10:51:24 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:80a80547-f34b-45b8-aabf-f2eba3d0410e</guid><dc:creator>Marte Myrvold</dc:creator><description>&lt;p&gt;Hi&amp;nbsp;Allan,&lt;/p&gt;
&lt;p&gt;Vidar is out of office, so this ticket has been assigned to me.&lt;/p&gt;
&lt;p&gt;The best place to learn about DFU in the nRF Connect SDK is&amp;nbsp;&lt;a href="https://academy.nordicsemi.com/courses/nrf-connect-sdk-intermediate/lessons/lesson-9-bootloaders-and-dfu-fota/"&gt;Lesson 9 – Bootloaders and DFU/FOTA&lt;/a&gt;&amp;nbsp;in our nRF Connect SDK Intermediate course on DevAcademy.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;br /&gt;Marte&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: OTA DFU on 54L15</title><link>https://devzone.nordicsemi.com/thread/539629?ContentTypeID=1</link><pubDate>Tue, 17 Jun 2025 23:09:40 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a95e5fd8-a31d-460e-8093-06e50df5d64a</guid><dc:creator>Allan-led</dc:creator><description>&lt;p&gt;Thanks Vidar,&lt;/p&gt;
&lt;p&gt;I was not setting the SB_CONFIG_BOOTLOADER_MCUBOOT correctly. After setting it, the size was approximately halved. Do you have any recommendations for how to get started with DFU?&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Allan&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: OTA DFU on 54L15</title><link>https://devzone.nordicsemi.com/thread/539473?ContentTypeID=1</link><pubDate>Tue, 17 Jun 2025 06:40:40 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e7d134b5-cdfe-4597-afdc-eda7c73558fd</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Hi Allan,&lt;/p&gt;
&lt;p&gt;Please look at the build output to see the actual size of your application. This is not the same as the size you have allocated the app partition.&amp;nbsp; For comparison this is what I get when I build the same sample from SDK v3.0.2 with&amp;nbsp;&lt;span&gt;SB_CONFIG_BOOTLOADER_MCUBOOT&lt;/span&gt;&lt;span&gt;=y&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Build output&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;img style="max-height:240px;max-width:320px;" src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/pastedimage1750142263104v1.png" alt=" " /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Generated partitions.yml&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;pre class="ui-code" data-mode="text"&gt;EMPTY_0:
  address: 0xd800
  end_address: 0xe000
  placement:
    after:
    - mcuboot
  region: flash_primary
  size: 0x800
EMPTY_1:
  address: 0x174000
  end_address: 0x175000
  placement:
    after:
    - mcuboot_secondary
  region: flash_primary
  size: 0x1000
app:
  address: 0xe800
  end_address: 0xc1000
  region: flash_primary
  size: 0xb2800
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:
    before:
    - mcuboot_primary_app
  region: flash_primary
  size: 0x800
mcuboot_primary:
  address: 0xe000
  end_address: 0xc1000
  orig_span: &amp;amp;id001
  - mcuboot_pad
  - app
  region: flash_primary
  sharers: 0x1
  size: 0xb3000
  span: *id001
mcuboot_primary_app:
  address: 0xe800
  end_address: 0xc1000
  orig_span: &amp;amp;id002
  - app
  region: flash_primary
  size: 0xb2800
  span: *id002
mcuboot_secondary:
  address: 0xc1000
  end_address: 0x174000
  placement:
    after:
    - mcuboot_primary
    align:
      start: 0x1000
  region: flash_primary
  share_size:
  - mcuboot_primary
  size: 0xb3000
otp:
  address: 0xffd500
  end_address: 0xffd9fc
  region: otp
  size: 0x4fc
settings_storage:
  address: 0x175000
  end_address: 0x17d000
  placement:
    after:
    - app
    align:
      start: 0x1000
    before:
    - end
  region: flash_primary
  size: 0x8000
sram_primary:
  address: 0x20000000
  end_address: 0x20040000
  region: sram_primary
  size: 0x40000
&lt;/pre&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Vidar&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: OTA DFU on 54L15</title><link>https://devzone.nordicsemi.com/thread/539459?ContentTypeID=1</link><pubDate>Tue, 17 Jun 2025 00:51:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5c16588e-dd97-48b4-a65d-abb81543a03a</guid><dc:creator>Allan-led</dc:creator><description>&lt;p&gt;Hi Vidar,&lt;/p&gt;
&lt;p&gt;Thanks for your insights. I was wondering if you could elaborate on how to shrink the app size? In the link you gave&amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/122068/problem-with-flash-overflow-when-adding-ble-dfu-on-nrf52833"&gt;above&lt;/a&gt;, you talked about creating a sysbuild/mcuboot directory with a prj.conf file. You provided the conf file as well and I have included that in the directory.&lt;/p&gt;
&lt;p&gt;However, it seems like creating a new build with this new prj.conf file included doesn&amp;#39;t seem to shrink my project size.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Currently, I&amp;#39;m testing for the changes in partitions.yml with the given CLI sample from the SDK. I was wondering why does such a minimal project like CLI take up SO MUCH space, such that it is not possible for DFU? Below is the partitions.yml for the CLI sample, this should be reproducible on your guys&amp;#39; end as well. I am using the 54l15dk&lt;br /&gt;&lt;br /&gt;&lt;pre class="ui-code" data-mode="text"&gt;app:
  address: 0x0
  end_address: 0x17b000
  region: flash_primary
  size: 0x17b000
bootconf:
  address: 0xffd080
  end_address: 0xffd084
  region: bootconf
  size: 0x4
otp:
  address: 0xffd500
  end_address: 0xffd9fc
  region: otp
  size: 0x4fc
settings_storage:
  address: 0x17b000
  end_address: 0x17d000
  placement:
    after:
    - app
    before:
    - end
  region: flash_primary
  size: 0x2000
sram_primary:
  address: 0x20000000
  end_address: 0x20040000
  region: sram_primary
  size: 0x40000&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Best regards,&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Allan&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: OTA DFU on 54L15</title><link>https://devzone.nordicsemi.com/thread/539384?ContentTypeID=1</link><pubDate>Mon, 16 Jun 2025 12:36:49 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d5010a05-6fb9-4ac8-9320-2141d5a3de4e</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Hi Allan,&lt;/p&gt;
&lt;p&gt;The bootloader is enabled through &lt;a href="https://academy.nordicsemi.com/courses/nrf-connect-sdk-intermediate/lessons/lesson-8-sysbuild/"&gt;Sysbuild&lt;/a&gt; &amp;nbsp;in SDK v2.7.0 and later. This means you need to enable &lt;a href="https://academy.nordicsemi.com/courses/nrf-connect-sdk-intermediate/lessons/lesson-9-bootloaders-and-dfu-fota/topic/mcuboot-mcumgr-and-dfu-target/"&gt;SB_&lt;/a&gt;&lt;span&gt;&lt;a href="https://academy.nordicsemi.com/courses/nrf-connect-sdk-intermediate/lessons/lesson-9-bootloaders-and-dfu-fota/topic/mcuboot-mcumgr-and-dfu-target/"&gt;CONFIG_BOOTLOADER_MCUBOOT&lt;/a&gt; in sysbuild for the bootloader to become included in the build. After the bootloader is included you will see that MCUBoot starts at address 0x0 instead of the app in the generated&amp;nbsp;partitions.yml file.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
[quote user=""]Is our app too big for this purpose? In the sample code, the pm_static.yml file defines 2 sections for 2 versions of code. I don&amp;#39;t think we will be able to fit our code twice on RAM. Please correct me if this is incorrect.&amp;nbsp;[/quote]
&lt;p&gt;&lt;span&gt;I see tha 0x163000 bytes are allocated to the app region, which definitely is too big for DFU. But I don&amp;#39;t know the actual size of the application.&amp;nbsp;You may find this thread relevant&amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/122068/problem-with-flash-overflow-when-adding-ble-dfu-on-nrf52833"&gt;Problem with flash overflow when adding BLE DFU on nRF52833&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Unfortunately, we do not have any samples that demonstrate how you can transfer FW updates directly with Thread as Sigurd points out here&amp;nbsp;&amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/109777/dfu-over-thread-ncs-v2-4-0"&gt;DFU over thread(NCS v2.4.0)&lt;/a&gt;&amp;nbsp;&amp;nbsp;. However, if you are able to manage the transfer, you can use the&amp;nbsp;&lt;/span&gt;&lt;a href="https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/libraries/dfu/dfu_target.html"&gt;DFU target&lt;/a&gt;&amp;nbsp;library to help store the update to the secondary slot so it later can be activated by the bootloader.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Vidar&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>