<?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>Unerstanding of DFU OTA on legacy bootloder</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/126142/unerstanding-of-dfu-ota-on-legacy-bootloder</link><description>Hello, 
 I have an application running on legacy NRF SDK and using the nRF5 bootloader, which has below flash sectors, 0x00000 - 0x026000 - Soft-device section 0x26000 - 0x0D9000 - Application section 0xD9000 - 0x0F8000 - Reserved section 0xF8000 - 0x100000</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 18 Dec 2025 13:29:21 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/126142/unerstanding-of-dfu-ota-on-legacy-bootloder" /><item><title>RE: Unerstanding of DFU OTA on legacy bootloder</title><link>https://devzone.nordicsemi.com/thread/557333?ContentTypeID=1</link><pubDate>Thu, 18 Dec 2025 13:29:21 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e12d1b2d-a74d-4442-bf88-685cf5c7e272</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Ankit,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I believe you can have minimum size MCUboot that can fit to the bootloader. Have you looked at the example provided by Vidar ?&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
[quote user="Ankit_chauhan"]Also, the softdevice region is from 0x100 to 0x26000, which means the Zephyr application that is going to be updated over the Softdevice region is limited to that size.[/quote]
&lt;p&gt;As far as I know it&amp;#39;s ok for a new softdevice to increase in size. You have to provide the softdevice size (and info) at a special location inside the softdevice hex file for that.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Of course you can continue to do what you plan. But it would be easier if you follow what discussed in the&amp;nbsp;embeddedrelated link. Instead of overwriting the softdevice , you simply replace the bootloader and remove the protection in the bootloader, after that run in RAM and overwrite softdevice to write your application there.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Unerstanding of DFU OTA on legacy bootloder</title><link>https://devzone.nordicsemi.com/thread/557188?ContentTypeID=1</link><pubDate>Wed, 17 Dec 2025 10:48:31 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:68019c53-d44e-47df-b2bd-7cd8b4c11b64</guid><dc:creator>Ankit_chauhan</dc:creator><description>&lt;p&gt;Thank you for sharing the links for reference. Actually, I have been working on this for a couple of weeks and I almost gone through all possible approaches defined in the links that you shared.&lt;br /&gt;&lt;br /&gt;Basically, the&amp;nbsp;concept they suggest is to create a DFU package that can update the softdevice and bootloader with the Zephyr application and MCUBOOT. And they made it work as well. However, the sector defined in the nRF5 application for the bootloader is now 24KB, and the size of MCUboot is approximately 45-50KB. So it will not fit into that region.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I tried the suggested approach, and during DFU through the nRF Connect app, I am getting a pop-up of insufficient space, and it stops file transfer.&amp;nbsp;I believe that is due to the insufficient flash sector of MCUboot, as I mentioned above.&lt;/p&gt;
&lt;p&gt;Also, the softdevice region is from 0x100 to 0x26000, which means the Zephyr application that is going to be updated over the Softdevice region is limited to that size.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Unerstanding of DFU OTA on legacy bootloder</title><link>https://devzone.nordicsemi.com/thread/557089?ContentTypeID=1</link><pubDate>Tue, 16 Dec 2025 12:48:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:01d790c7-0a8c-48f3-972c-3f0636d8203e</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Ankit,&amp;nbsp;&lt;br /&gt;Thanks for the info.&amp;nbsp;&lt;br /&gt;There actually some discussion regarding what you want to achieve.&amp;nbsp;&lt;br /&gt;I would suggest to take a look here:&amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/92774/hang-with-nrf5-sdk-17-1-0-bootloader-and-nrf-connect-sdk-2-1-0-application"&gt;Hang with nRF5 SDK 17.1.0 Bootloader and nRF Connect SDK 2.1.0 application&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/76529/nrf5-sdk-possible-to-ota-update-to-nrf-connect-sdk?pifragment-684=2"&gt;https://devzone.nordicsemi.com/f/nordic-q-a/76529/nrf5-sdk-possible-to-ota-update-to-nrf-connect-sdk?pifragment-684=2&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;And another solution here which is closer to what you are doing:&amp;nbsp;&lt;a href="https://www.embeddedrelated.com/showarticle/1573.php"&gt;https://www.embeddedrelated.com/showarticle/1573.php&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;There are a few things:&amp;nbsp;&lt;/p&gt;
&lt;p&gt;- You image must replace the softdevice. Inside the softdevice there is a MBR that doesn&amp;#39;t get replaced , so you need to customize your application to start after the MBR.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;- You need to trick the bootloader to think that your application is a valid softdevice image.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;- The plan to run an application from RAM to do the copying expose a risk that if there is a reset for example power reset, when the process is on going , you may brick the device.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Unerstanding of DFU OTA on legacy bootloder</title><link>https://devzone.nordicsemi.com/thread/557086?ContentTypeID=1</link><pubDate>Tue, 16 Dec 2025 12:17:42 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:03754ebd-2a5a-4b36-8d26-2c8dadc49aee</guid><dc:creator>Ankit_chauhan</dc:creator><description>&lt;p&gt;Hello,&lt;br /&gt;&lt;br /&gt;Thank you for the response.&lt;/p&gt;
&lt;p&gt;My goal is to switch the nrf bootloader to MCUboot. I have multiple devices running on a legacy nRF application + bootloader. I ported this application to Zephyr + MCUBoot, and now I want to update the Zephyr application over the legacy nRF application. Due to hardware limitations, I am not able to access the SWD pins, so I cannot flash the Zephyr application straight away.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;So, I have created an intermediate firmware that has two byte arrays. One array contains the raw bytes of the mcuboot binary zephyr.bin, and another array contains the raw bytes of the application binary zephyr_signed.bin.&lt;/p&gt;
&lt;p&gt;Along with this, I have created a RAM function that copies&amp;nbsp;these raw byte arrays to a specific flash location as mentioned&amp;nbsp;above.&lt;/p&gt;
&lt;p&gt;This approach is working as expected. I have tested this on devkits. After flashing the intermediate firmware over the legacy nRF application, it erases the required flash sectors, write new byte array data of the MCUboot and Zephyr application, and reboots the device. After this reboot, it starts with the MCUboot and zephyr application.&lt;/p&gt;
&lt;p&gt;Now, I need to perform the same thing through DFU OTA. The legacy nRF application supports BLE OTA DFU, and I have created a DFU package of intermediate firmware that can be transferred to the nRF application. But this part is not working, and the reason I suspect is&amp;nbsp;my initial comment.&lt;br /&gt;&lt;br /&gt;I hope this will provide you with the required information that you are looking for. Let me know if you have doubts about any of the explanations.&lt;br /&gt;&lt;br /&gt;Thank you,&lt;br /&gt;Ankit.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Unerstanding of DFU OTA on legacy bootloder</title><link>https://devzone.nordicsemi.com/thread/557081?ContentTypeID=1</link><pubDate>Tue, 16 Dec 2025 11:59:55 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:680f813b-a384-4bd9-9add-d7076c4d2259</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Ankit,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Could you explain what exactly you want to achieve by swapping the original application with the intermediate application ? Does the intermediate application has a softdevice ? What exactly the intermediate application does&amp;nbsp; ? Is it flashed just to perform some operation before being swapped with another application ? Does it have a softdevice ?&amp;nbsp;&lt;/p&gt;
&lt;p&gt;How familiar you are with the secure bootloader in nRF5 SDK. What you asking for is quite advanced and not something our bootloader support originally.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>