<?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>jump to bootloader from app iuuse</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/70283/jump-to-bootloader-from-app-iuuse</link><description>The chip runs in the app stage and calls a function to make the chip jump to the bootloader stage (DFU mode). 
 The SDK we use is nrf5_ SDK_ 15.3.0_ 59ac345, 
 We made the following attempts 
 method 1： 
 NRF_POWER-&amp;gt;GPREGRET = 0xB1; 
 NVIC_SystemReset</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 11 Jan 2021 15:38:43 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/70283/jump-to-bootloader-from-app-iuuse" /><item><title>RE: jump to bootloader from app iuuse</title><link>https://devzone.nordicsemi.com/thread/288446?ContentTypeID=1</link><pubDate>Mon, 11 Jan 2021 15:38:43 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ca8a4cca-ca3d-45d1-9989-17b872d9ee5b</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
[quote user=""]&lt;p&gt;NRF_POWER-&amp;gt;GPREGRET = 0xB1;&lt;/p&gt;
&lt;p&gt;NVIC_SystemReset();&lt;/p&gt;
&lt;p&gt;it occur error INVALID MEMORY ACCESS&lt;/p&gt;[/quote]
&lt;p&gt;That is expected when the SoftDevice is enabled. You need to use&amp;nbsp;sd_power_gpregret_set() to write to GPREGRET in that case. This approach should work well.&lt;/p&gt;
[quote user=""]&lt;p&gt;method 2:&lt;/p&gt;
&lt;p&gt;use the API : ble_dfu_buttonless_bootloader_start_finalize()&lt;/p&gt;[/quote]
&lt;p&gt;In what way does this fail? It is essentially the same approach as your method 1, but it correctly use the SoftDevice API. Also it uses the power management library, but that might just add complexity if not needed. So your method 1, with the suggested fix is probably the best approach.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>