<?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>update nrf dfu bootloader from SDK15 with bigger one</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/58811/update-nrf-dfu-bootloader-from-sdk15-with-bigger-one</link><description>Hey, 
 I am using SDK16 and want to update the bootloader on my NRF52840 from SDK15 with a new one. 
 I modified the bootloader from SDK16 a little bit. Then I created a Zip file from the bootloader and proceeded the dfu update. This version of the update</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 06 Mar 2020 15:41:47 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/58811/update-nrf-dfu-bootloader-from-sdk15-with-bigger-one" /><item><title>RE: update nrf dfu bootloader from SDK15 with bigger one</title><link>https://devzone.nordicsemi.com/thread/238581?ContentTypeID=1</link><pubDate>Fri, 06 Mar 2020 15:41:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e3d7040c-8ec6-482e-ac6c-3b2ca392f3e4</guid><dc:creator>Turbo J</dc:creator><description>[quote userid="87378" url="~/f/nordic-q-a/58811/update-nrf-dfu-bootloader-from-sdk15-with-bigger-one"]Does the&amp;nbsp;SD_MBR_COMMAND from the softdevice not accept a target address to activate a bootloader, which is bigger than the old one?[/quote]
&lt;p&gt;Nope.&lt;/p&gt;
&lt;p&gt;Reason is simple: Any power loss (or other unexpected problem/reset) during the size change could brick the device, espacially when UICR or MBR needed an erase cycle.&lt;/p&gt;
&lt;p&gt;You really want to do this with an jlink debugger/programmer via SWD.&lt;/p&gt;
&lt;p&gt;It is THEORETICALLY possible to write an intermediate bootloader that changes the address from 0x7000 to 0x5000 since that would only need a bit flip in 1-&amp;gt;0 direction - which is possible without an erase cycle.&lt;/p&gt;
&lt;p&gt;But it would require at least some free space in the old bootloader area in order to be able to make this change somewhat safely - and you would also have to worry about FDS data, which is normally stored right below the bootloader space.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>