<?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 start an application from bootloader at specified address?</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/12238/how-to-start-an-application-from-bootloader-at-specified-address</link><description>Hello. 
 I use s130 2.0.0-7.alpha stack and thus app starts at 0x1B000 
 Questions: 
 
 
 How to change default app start address, for example to 0x25000 ? 
 
 
 How to programmatically switch between 2 apps from bootloader, one app at 0x1B000</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 02 Mar 2016 17:08:27 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/12238/how-to-start-an-application-from-bootloader-at-specified-address" /><item><title>RE: How to start an application from bootloader at specified address?</title><link>https://devzone.nordicsemi.com/thread/46306?ContentTypeID=1</link><pubDate>Wed, 02 Mar 2016 17:08:27 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5b70a882-6b1b-4f86-bc04-e44985ac472a</guid><dc:creator>Fabien Comte</dc:creator><description>&lt;p&gt;Secondary address is what you need (for me it&amp;#39;s 0x00049000). I think in the case of nRF5x slots are not an hardware limitation but user chosen areas that fit with your need. Some adresses are fixed (SD memory model in documentation) but not the start of application if you have a bootloader.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to start an application from bootloader at specified address?</title><link>https://devzone.nordicsemi.com/thread/46305?ContentTypeID=1</link><pubDate>Wed, 02 Mar 2016 12:28:52 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:189b0e6b-c5cf-42d2-a118-a860a27b5649</guid><dc:creator>Alex Pristenskiy</dc:creator><description>&lt;p&gt;Actually my minimal wish is to run app from bootloader: &lt;a href="https://devzone.nordicsemi.com/question/70080/nrf51822-s130-200-7alpha-bare-minimum-bootloader-which-starts-app-at-0x1b000/"&gt;devzone.nordicsemi.com/.../&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to start an application from bootloader at specified address?</title><link>https://devzone.nordicsemi.com/thread/46304?ContentTypeID=1</link><pubDate>Wed, 02 Mar 2016 10:40:01 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d390be62-101b-4ac9-a8ee-b8f067fc11cc</guid><dc:creator>Alex Pristenskiy</dc:creator><description>&lt;p&gt;Thanks.
The main question is what should be a value of SECONDARY_ADDRESS ?
Because DFU_BANK_0_REGION_START is &lt;em&gt;not&lt;/em&gt; equal to 0x1B000
So, SECONDARY_ADDRESS with a value 0x25000 doesn&amp;#39;t work.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to start an application from bootloader at specified address?</title><link>https://devzone.nordicsemi.com/thread/46303?ContentTypeID=1</link><pubDate>Tue, 01 Mar 2016 19:25:25 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b660402b-3feb-483a-9e1a-19b627980f8c</guid><dc:creator>Fabien Comte</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;You could try to replace DFU_BANK_0_REGION_START by a variable called my_app_address.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;unsigned int my_app_address;
if (condition)
{
   my_app_address = DFU_BANK_0_REGION_START;
}
else
{
   my_app_address = SECONDARY_ADDRESS;
}

if (bootloader_app_is_valid(my_app_address) &amp;amp;&amp;amp; !bootloader_dfu_sd_in_progress())
{
   bootloader_app_start(my_app_address);
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Each application should be compiled with the right ld file (ORIGIN is modified)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>