<?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 to custom memory address</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/87363/ota-dfu-to-custom-memory-address</link><description>Hi, 
 I compiled an application that should start at address 0x40000. However, executing an OTA DFU always places the application at 0x26000, right after the softdevice. 
 I&amp;#39;m using nrfutil to generate the DFU package and nRF Connect app on iOS to send</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 27 Apr 2022 15:32:26 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/87363/ota-dfu-to-custom-memory-address" /><item><title>RE: OTA DFU to custom memory address</title><link>https://devzone.nordicsemi.com/thread/365256?ContentTypeID=1</link><pubDate>Wed, 27 Apr 2022 15:32:26 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:61dac6e2-af4c-496a-b7bd-afcf6e1a0699</guid><dc:creator>senneverhaegen</dc:creator><description>&lt;p&gt;I&amp;#39;m currently looking where I can modify the dfu process.&lt;/p&gt;
&lt;p&gt;Unfortunately the alternative approach you suggested is not possible for me.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: OTA DFU to custom memory address</title><link>https://devzone.nordicsemi.com/thread/365164?ContentTypeID=1</link><pubDate>Wed, 27 Apr 2022 11:31:55 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:56fb32ec-aad2-478d-a145-20c1a23d3e03</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;It is possible, but you would also need to modify the dfu process in your bootloader to place a new app images at 0x40000 instead of the default app start address (0x26000 for this particular version).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; another alternative to modifying the dfu process is to always update the 2 application together. I.e. simply merge app hex &amp;quot;1&amp;quot; and &amp;quot;2&amp;quot;, then create the app update package from that one hex file. You will still need a mechanism to tell the bootloader which reset handler it needs to branch to on boot, but I guess maybe you have a solution for that already.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: OTA DFU to custom memory address</title><link>https://devzone.nordicsemi.com/thread/365158?ContentTypeID=1</link><pubDate>Wed, 27 Apr 2022 11:15:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ecc98d3e-1ceb-442c-aee7-101bc06b1cf7</guid><dc:creator>senneverhaegen</dc:creator><description>&lt;p&gt;Hi, thank you for your response.&lt;/p&gt;
&lt;p&gt;I did modify the bootloader to launch the app at an address of my choosing (according to another article on this forum). I verified that it works, however, only if programmed with nrfjprog.&lt;/p&gt;
&lt;p&gt;So given that I modified the bootloader correctly, is it still impossible using DFU?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: OTA DFU to custom memory address</title><link>https://devzone.nordicsemi.com/thread/365155?ContentTypeID=1</link><pubDate>Wed, 27 Apr 2022 11:09:55 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:03af9f90-81a1-4b6f-ba1a-cdf4a09a10a9</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;This is will not be possible with the original SDK bootloader, unfortunately. There is nothing in the DFU protocol which specify the app start address. It&amp;#39;s always assumed to be right above the Softdevice.&lt;/p&gt;
[quote user=""]If I flash the program with nrfjprog, the application does go to 0x40000.[/quote]
&lt;p&gt;Yes, the intelhex format includes address records telling nrjprog where store the data. But the Softdevice will still expect the application to start at 0x26000 unless the bootloader has configured the softdevice to start the app at a non-default address.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>