<?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>How to flash application to specific address.</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/125236/how-to-flash-application-to-specific-address</link><description>Hi, 
 On the nRF54L15DK board, I flashed an application and then performed a full erase. However, after erasing, I noticed that approximately 2000 bytes of memory were still occupied when reading back the flash. Could you please clarify why this portion</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 29 Oct 2025 07:25:59 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/125236/how-to-flash-application-to-specific-address" /><item><title>RE: How to flash application to specific address.</title><link>https://devzone.nordicsemi.com/thread/552702?ContentTypeID=1</link><pubDate>Wed, 29 Oct 2025 07:25:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:79da9abc-31c9-4f16-a120-8cfb3e35683c</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Try to include the following in your pm_static.yml file:&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;bootloader:
  address: 0x0
  end_address: 0x20000
  region: flash_primary
  size: 0x20000
app:
  address: 0x20000
  end_address: 0x80000
  region: flash_primary
  size: 0x60000
slot0_partiton:
  address: 0x20000
  end_address: 0x80000
  orig_span: &amp;amp;id001
  - app
  region: flash_primary
  sharers: 0x1
  size: 0x60000
  span: *id001
slot1_partiton:
  address: 0x80000
  end_address: 0xe0000
  region: flash_primary
  size: 0x60000
storage:
  address: 0xe0000
  end_address: 0xe9000
  region: flash_primary
  size: 0x9000
custom_data:
  address: 0xe9000
  end_address: 0x165000
  region: flash_primary
  size: 0x7c000&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Here the app is placed in slot0. You can run the &amp;quot;memory report&amp;quot; action in VS code to confirm the placement.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to flash application to specific address.</title><link>https://devzone.nordicsemi.com/thread/552694?ContentTypeID=1</link><pubDate>Wed, 29 Oct 2025 06:42:54 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:cd119021-833c-41fd-899e-2ede6f39dda4</guid><dc:creator>Theja</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;corrected flash partition name:&lt;br /&gt;&lt;br /&gt;bootloader:&lt;br /&gt; address: 0x00000000&lt;br /&gt; size: 0x00020000&lt;br /&gt; &lt;br /&gt;slot0_partiton:&lt;br /&gt; address: 0x00020000&lt;br /&gt; size: 0x00060000&lt;br /&gt; region: flash_primary&lt;br /&gt; &lt;br /&gt;slot1_partiton:&lt;br /&gt; address: 0x00080000&lt;br /&gt; size: 0x00060000&lt;br /&gt; region: flash_primary&lt;br /&gt; &lt;br /&gt;storage:&lt;br /&gt; address: 0x000E0000&lt;br /&gt; size: 0x00009000&lt;br /&gt; region: flash_primary&lt;br /&gt; &lt;br /&gt;custom_data:&lt;br /&gt; address: 0x000E9000&lt;br /&gt; size: 0x0007C000&lt;br /&gt; region: flash_primary&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to flash application to specific address.</title><link>https://devzone.nordicsemi.com/thread/552689?ContentTypeID=1</link><pubDate>Wed, 29 Oct 2025 05:52:40 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:101c144e-2540-44e7-9ed3-f9e586d87c8a</guid><dc:creator>Theja</dc:creator><description>&lt;p&gt;Hi Vidar,&lt;br /&gt;&lt;br /&gt;Sorry for the misunderstanding. Here&amp;rsquo;s the requirement I wanted to clarify: we are implementing a custom bootloader that resides at the start address, along with two application slots and two custom storage partitions, as shown below. These will occupy the entire flash memory. &lt;br /&gt;&lt;pre class="ui-code" data-mode="text"&gt;bootloader:
  address: 0x00000000
  size: 0x00020000
 
slot0_partiton:
  address: 0x00020000
  size: 0x00060000
  region: flash_primary
 
slot0_partiton:
  address: 0x00080000
  size: 0x00060000
  region: flash_primary
 
storage:
  address: 0x000E0000
  size: 0x00009000
  region: flash_primary
 
custom_data:
  address: 0x000E9000
  size: 0x0007C000
  region: flash_primary&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;I would like to know how to ensure that my application is placed in either slot 1 or slot 2. How can I achieve this?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to flash application to specific address.</title><link>https://devzone.nordicsemi.com/thread/552615?ContentTypeID=1</link><pubDate>Tue, 28 Oct 2025 10:41:31 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9182e1f9-df26-4d1c-bbb1-3d0750e4174d</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Hi Theja,&lt;/p&gt;
&lt;p&gt;Sorry, I&amp;#39;m not sure what you&amp;#39;re trying to achieve now. I thought the only goal was to have the application start at an offset, but here you&amp;#39;ve redefined the partitions from the device tree and included MCUboot slots. Are you planning to use MCUboot in your project? In that case, I would recommend removing the pm_static file for now and read through this&amp;nbsp;&lt;a id="" href="https://academy.nordicsemi.com/courses/nrf-connect-sdk-intermediate/lessons/lesson-9-bootloaders-and-dfu-fota/"&gt;https://academy.nordicsemi.com/courses/nrf-connect-sdk-intermediate/lessons/lesson-9-bootloaders-and-dfu-fota/&lt;/a&gt;&amp;nbsp;to find out how to configure the bootloader for your application.&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: How to flash application to specific address.</title><link>https://devzone.nordicsemi.com/thread/552610?ContentTypeID=1</link><pubDate>Tue, 28 Oct 2025 10:05:00 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:23a77134-000f-498a-9fab-ab739a4376f1</guid><dc:creator>Theja</dc:creator><description>&lt;p&gt;Hi Vidar,&lt;/p&gt;
&lt;p data-start="183" data-end="454"&gt;As per your suggestion, I added the &lt;code data-start="219" data-end="234"&gt;pm_static.yml&lt;/code&gt; file to the &lt;strong data-start="247" data-end="254"&gt;src&lt;/strong&gt; folder. However, even though the &lt;strong data-start="288" data-end="307"&gt;slot0_partition&lt;/strong&gt; address is defined as &lt;strong data-start="330" data-end="341"&gt;0x10000&lt;/strong&gt;, I observed that the application is actually located at a different address when checked using the programmer.&lt;/p&gt;
&lt;p data-start="456" data-end="621"&gt;I have attached the partition details and the memory read image from the programmer for your reference.&lt;br data-start="559" data-end="562" /&gt; Your insights on this issue would be greatly appreciated.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;&lt;pre class="ui-code" data-mode="text"&gt;boot_partition:
  address: 0x00000000
  size: 0x00010000
  region: flash_primary

slot0_partition:
  address: 0x00010000
  size: 0x00051000
  region: flash_primary

slot0_ns_partition:
  address: 0x00061000
  size: 0x00051000
  region: flash_primary
 
slot1_partition:
  address: 0x000B2000
  size: 0x00051000
  region: flash_primary

slot1_ns_partition:
  address: 0x00103000
  size: 0x00051000
  region: flash_primary

storage_partition:
  address: 0x0015C000
  size: 0x00009000
  region: flash_primary
&lt;/pre&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&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/pastedimage1761645820193v1.png" alt=" " /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Regards,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Theja&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to flash application to specific address.</title><link>https://devzone.nordicsemi.com/thread/552446?ContentTypeID=1</link><pubDate>Mon, 27 Oct 2025 09:48:17 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5320f6bd-d0c8-4b9b-ab2c-99b96ff743ed</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
[quote user=""]On the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;nRF54L15DK&lt;/strong&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;board, I flashed an application and then performed a full erase. However, after erasing, I noticed that approximately&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;2000 bytes of memory&lt;/strong&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;were still occupied when reading back the flash. Could you please clarify why this portion of memory remains in use even after recovering the device?[/quote]
&lt;p&gt;The recover operation includes flashing a FW after the ERASEALL operation in order to&amp;nbsp;keep the APPROTECT mechanism disabled across resets.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
[quote user=""]Additionally, on the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;nRF52833DK&lt;/strong&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;using&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;nRF Connect SDK v2.5.0&lt;/strong&gt;, I was able to flash my application to a specific address using the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;CONFIG_FLASH_LOAD_OFFSET&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;configuration. However, on the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;nRF54L15DK&lt;/strong&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;with&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;nRF Connect SDK v3.2.0&lt;/strong&gt;, this configuration no longer works and appears to be deprecated. Could you please advise on the correct method to flash the application to a specific address as per our requirements in the newer SDK version?[/quote]
&lt;p&gt;If you want your app to start at an offset you need to specify a placeholder partition by creating a file named &amp;quot;pm_static.yml&amp;quot; with the following content:&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;pre class="ui-code" data-mode="text"&gt;bootloader:
address: 0x0
end_address:&amp;#160;&amp;lt;specify offset in bytes&amp;gt;
placement:
after:
- start
region: flash_primary
size: &amp;lt;specify offset in bytes&amp;gt; e.g 0x10000&lt;/pre&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;The partitition is named &amp;quot;bootloader&amp;quot; but can be named anything.&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;Best regards,&lt;/div&gt;
&lt;div&gt;Vidar&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>