<?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>Jumping to bootloader without DFU</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/60133/jumping-to-bootloader-without-dfu</link><description>Hello! We have an app with bootloader on SDK 15.3.0. Is there a way to jump from application into bootloader without setting byte 0 of GPREGRET register? I.e. without this: 
 sd_power_gpregret_set(0, BOOTLOADER_DFU_SKIP_CRC) The reason is: app has several</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 14 Apr 2020 08:48:05 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/60133/jumping-to-bootloader-without-dfu" /><item><title>RE: Jumping to bootloader without DFU</title><link>https://devzone.nordicsemi.com/thread/244357?ContentTypeID=1</link><pubDate>Tue, 14 Apr 2020 08:48:05 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:288a3a2e-bf3c-49b3-ae5e-d6e3a761a2b8</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;nrf_pwr_mgmt_shutdown(NRF_PWR_MGMT_SHUTDOWN_GOTO_DFU) calls NVIC_SystemReset() at the end of its shutdown procedure. &lt;/p&gt;
[quote userid="72280" url="~/f/nordic-q-a/60133/jumping-to-bootloader-without-dfu/244351"]Why do I see different behavior if I set GPREGRET and don&amp;#39;t set it before calling[/quote]
&lt;p&gt;It should be cleared before you call NVIC_SystemReset()/nrf_pwr_mgmt_shutdown() if you don&amp;#39;t want the bootloader to enter DFU mode.&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;    /* Clear POWER-&amp;gt;GPREGRET0 */
    err_code = sd_power_gpregret_clr(0, 0xffffffff);
    VERIFY_SUCCESS(err_code);
&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Jumping to bootloader without DFU</title><link>https://devzone.nordicsemi.com/thread/244351?ContentTypeID=1</link><pubDate>Tue, 14 Apr 2020 08:28:22 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6ec645d8-639a-4b77-a2a7-543d4917936d</guid><dc:creator>CodeLoader</dc:creator><description>&lt;p&gt;Why do I see different behavior if I set GPREGRET and don&amp;#39;t set it before calling&lt;/p&gt;
&lt;pre&gt;&lt;span&gt;nrf_pwr_mgmt_shutdown(NRF_PWR_MGMT_SHUTDOWN_GOTO_DFU)?&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&lt;span&gt;With&amp;nbsp;&amp;nbsp;NVIC_SystemReset() it seems to enter the bootloader&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Jumping to bootloader without DFU</title><link>https://devzone.nordicsemi.com/thread/244333?ContentTypeID=1</link><pubDate>Tue, 14 Apr 2020 07:36:55 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7c9c5308-dd97-4608-90da-dce3ecca3b20</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;The bootloader will always run before the application after reset, so it is sufficient to just call NVIC_SystemReset() without setting the retention register first.&amp;nbsp;The bootloader will only enter DFU mode if one of the &amp;quot;DFU_ENTER_METHOD&amp;quot; checks return true.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>