<?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>Buttonless DFU jumps to Application not Bootloader</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/18014/buttonless-dfu-jumps-to-application-not-bootloader</link><description>Hi everybody, 
 we have implemented DFU with button and it works like a charm. Now we want to improve that and implemented the buttonless version too. Though, instead of starting the bootloader the application is restarted. There may be something wrong</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 29 Nov 2016 13:14:36 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/18014/buttonless-dfu-jumps-to-application-not-bootloader" /><item><title>RE: Buttonless DFU jumps to Application not Bootloader</title><link>https://devzone.nordicsemi.com/thread/69442?ContentTypeID=1</link><pubDate>Tue, 29 Nov 2016 13:14:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9381b475-679c-4641-ab49-945c86165b2a</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Could you check what is the value of GPREGRET after you reset to bootloader ? You can print out via UART or RTT.&lt;/p&gt;
&lt;p&gt;Could you try to test with our buttonless DFU application that I quoted on my first comment ?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Buttonless DFU jumps to Application not Bootloader</title><link>https://devzone.nordicsemi.com/thread/69441?ContentTypeID=1</link><pubDate>Tue, 29 Nov 2016 12:27:23 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7e43ac2a-8752-46c0-b34c-887ebc32af81</guid><dc:creator>Philipp Mahr</dc:creator><description>&lt;p&gt;Hi Hung Bui, thanks for the feedback. Yes, you are right CODE_REGION_1_START is application start address. When I manually set the address of the bootloader to 7a000 or the value of the register NRF_UICR-&amp;gt;NRFFW[0] nothing happens and I got a freeze.
I also tried the NVIC_SystemReset. That one starts with the bootloader but DFU mode is not accessed. In application I already set the GPREGRET register and in bootloader the register is checked.&lt;/p&gt;
&lt;p&gt;Forwarding of bonding information is not required.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Buttonless DFU jumps to Application not Bootloader</title><link>https://devzone.nordicsemi.com/thread/69440?ContentTypeID=1</link><pubDate>Mon, 28 Nov 2016 15:27:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:bd54bf83-422f-44d8-99c2-b831fa6c28f2</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Thanks Philipp, it&amp;#39;s more clear now.
Could you explain why you have these code:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;sd_softdevice_vector_table_base_set(CODE_REGION_1_START);   
bootloader_util_app_start(CODE_REGION_1_START);
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Note that CODE_REGION_1_START is where your application start, not where the bootloader start (it start from NRF_UICR-&amp;gt;NRFFW[0] .
In addition, if you want to forward bond information you may need to set them into the no-init RAM memory using svc call dfu_ble_svc_peer_data_set().&lt;/p&gt;
&lt;p&gt;I would suggest you to have a look at the function bootloader_start() in dfu_app_handler.c in the ble_app_hrs\pca100040\s132_with_dfu example (our buttonless DFU application example)&lt;/p&gt;
&lt;p&gt;One easier way of doing this is to simply set GPREGRET, then disconnect and do a softreset (NVIC_SystemReset). But this way, you don&amp;#39;t forward bonding information to the bootloader.&lt;/p&gt;
&lt;p&gt;Note that from SDK v12 the bootloader is refactored and is not compatible with the old one, it&amp;#39;s strongly suggested to use the new secure bootloader from SDK v12.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Buttonless DFU jumps to Application not Bootloader</title><link>https://devzone.nordicsemi.com/thread/69439?ContentTypeID=1</link><pubDate>Mon, 28 Nov 2016 15:10:00 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f8ac0a3d-0039-4971-b14c-ac7d2ea82f0b</guid><dc:creator>Philipp Mahr</dc:creator><description>&lt;p&gt;@Hung Is this sufficient or do you need more details for specific steps?&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Flash devices with batch script in following order: Softdevices, bootloader, app &amp;amp; app valid settings 2) Restart devices (I can see the bootloader is started first due to LED briefly lighting up)&lt;/li&gt;
&lt;li&gt;Connecting to device with nRF Connect App&lt;/li&gt;
&lt;li&gt;Writting the &amp;#39;magic word&amp;#39; to our &amp;#39;DFU service&amp;#39; to trigger buttonless DFU&lt;/li&gt;
&lt;li&gt;Devices disconnects correctly&lt;/li&gt;
&lt;li&gt;Device restarts into the application (not going over bootloader as LED is not blinking briefly)&lt;/li&gt;
&lt;/ol&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Buttonless DFU jumps to Application not Bootloader</title><link>https://devzone.nordicsemi.com/thread/69438?ContentTypeID=1</link><pubDate>Mon, 28 Nov 2016 14:47:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:178e56cb-c850-40bd-b054-1cbe1294fde4</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;@Philipss: Please state with step by step how you tested your set-up. You can start with step one: flashing the softdevice.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Buttonless DFU jumps to Application not Bootloader</title><link>https://devzone.nordicsemi.com/thread/69437?ContentTypeID=1</link><pubDate>Mon, 28 Nov 2016 14:19:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:44535326-6b3f-40b6-878d-bd789cb7160c</guid><dc:creator>Philipp Mahr</dc:creator><description>&lt;p&gt;I am suing SDK11 with a makefile project using Eclipse and GCC.
Our bootloader is based on Noric examples, though adjusted to our board. In bootloader, we check  then content of gpregret to differentiate between button and button-less DFU, e.g. initiating ble stack.&lt;/p&gt;
&lt;p&gt;Though, when in bootloader I lightup an LED. Also, during normal startup I see theis LED blinking when going through bootloader. this is not the case, when initiating button-less DFU. Only the application is restarted, which is why I assume something with addresses maybe wrong. I just can find the cause....&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Buttonless DFU jumps to Application not Bootloader</title><link>https://devzone.nordicsemi.com/thread/69436?ContentTypeID=1</link><pubDate>Mon, 28 Nov 2016 12:32:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d5b84e60-25b4-428b-b75e-c87ad22891be</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Could you state the SDK version you are using ?&lt;/p&gt;
&lt;p&gt;I assume you flashed the normal bootloader before you update the buttonless DFU application via the DFU process, as described &lt;a href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.sdk5.v11.0.0/bledfu_appexample.html?cp=4_0_1_4_3_1_2_0"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>