<?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>Bootloader code example SDK s132 v13.0</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/33021/bootloader-code-example-sdk-s132-v13-0</link><description>Hi, 
 I use the bootloader example given into the library to update my application (or bootloader and/or softdevice+bootloader) via DFU but I don&amp;#39;t find in this code how to restart my target in application mode (if application is valid) when I try to</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 05 Apr 2018 08:11:04 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/33021/bootloader-code-example-sdk-s132-v13-0" /><item><title>RE: Bootloader code example SDK s132 v13.0</title><link>https://devzone.nordicsemi.com/thread/126975?ContentTypeID=1</link><pubDate>Thu, 05 Apr 2018 08:11:04 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:96a62c3a-0576-471b-8d29-6c110a03110c</guid><dc:creator>Bj&amp;#248;rn Kvaale</dc:creator><description>&lt;p&gt;The function for starting an application is defined in nrf_bootloader_app_start.h:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;/**@brief Function for starting another application (and aborting the current one).
 *
 * @details This function uses the provided address to swap the stack pointer and then load
 *          the address of the reset handler to be executed. It checks the current system mode
 *          (thread/handler). If in thread mode, it resets into the other application.
 *          If in handler mode, isr_abort is executed to ensure that handler mode is left correctly.
 *          It then jumps into the reset handler of the other application.
 *
 * @note This function will never return, but issues a reset into the provided application.
 *
 * @param[in]  start_addr  Start address of the other application. This address must point to the
               initial stack pointer of the application.
 *
 */
void nrf_bootloader_app_start(uint32_t start_addr);&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&amp;amp; is called at the end of the main() function in main.c:&lt;/p&gt;
&lt;p&gt;// Either there was no DFU functionality enabled in this project or the DFU module detected&lt;br /&gt; // no ongoing DFU operation and found a valid main application.&lt;br /&gt; // Boot the main application.&lt;br /&gt; nrf_bootloader_app_start(MAIN_APPLICATION_START_ADDR);&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>