<?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>nRF51822 Dfu from own ble application</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/1623/nrf51822-dfu-from-own-ble-application</link><description>When starting with nRFgo Studio &amp;quot;Erase all&amp;quot;, &amp;quot;Program SoftDevice&amp;quot; &amp;amp; &amp;quot;Program Bootloader&amp;quot; to have a almost virgin base without an application, I succeed perform an over the air update and got a running application afterwards. 
 But from this point, when</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 18 Feb 2014 18:19:34 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/1623/nrf51822-dfu-from-own-ble-application" /><item><title>RE: nRF51822 Dfu from own ble application</title><link>https://devzone.nordicsemi.com/thread/7152?ContentTypeID=1</link><pubDate>Tue, 18 Feb 2014 18:19:34 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c249527b-4e75-4368-91f3-62db83b1f2b0</guid><dc:creator>Joe Merten</dc:creator><description>&lt;p&gt;Ok, I&amp;#39;ll test that approach as soon as I became able to build the bootloader with gcc.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF51822 Dfu from own ble application</title><link>https://devzone.nordicsemi.com/thread/7151?ContentTypeID=1</link><pubDate>Mon, 17 Feb 2014 14:45:35 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ddb3baab-fcd1-4bb8-9e0f-64613e929463</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Your understanding is correct, Joe. You use your proprietary trigger to set a flag in flash or in GPREGRET register and then reset, after that in the bootloader you check for that flag, if it is set, you enter DFU mode, if it is not, you run to application. (Remember to clear the flag after bootloader run)
When the bootloader run into DFU mode, you can use our app (nRF Toolbox, nRF Master Control Panel, nRF Loader) or you can integrate it in your own app. The source codes are provided (not the Master Control Panel) so you should have no problem integrate the DFU feature.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF51822 Dfu from own ble application</title><link>https://devzone.nordicsemi.com/thread/7150?ContentTypeID=1</link><pubDate>Mon, 17 Feb 2014 13:39:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:967cce26-d8fc-4d7c-9909-b61cb980c468</guid><dc:creator>Joe Merten</dc:creator><description>&lt;p&gt;Thanx for the interesting links. So if I understand right; I have to implement some kind of proprietary trigger in my application (preferably via ble, but not part of nordics DFU service spec?) to decide when to jump into the bootloader. And then, when bootloader code is active, I can use Nordic tools e.g. »nRF Master Control Panel« or »nRF Loader« to perform the update.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF51822 Dfu from own ble application</title><link>https://devzone.nordicsemi.com/thread/7149?ContentTypeID=1</link><pubDate>Mon, 17 Feb 2014 12:39:56 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:31289b28-d65f-4e3f-93e4-6a429b8758a5</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Joe,&lt;/p&gt;
&lt;p&gt;The way the DFU bootloader example work is that, the bootloader will always be started first after the softdevice. When it starts it will check if the DFU button is pressed, it will enter DFU mode. If not, it will check for a valid application, in this case you already have the valid application v1.0, it will execute the application, if not it will run the DFU.&lt;/p&gt;
&lt;p&gt;So to force the bootloader to DFU mode you would need to either press the DFU button (bootloader_is_pushed). If you don&amp;#39;t want to press the button but have a command from the BLE master to force the device to enter DFU mode you can refer to several similar cases here:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/index.php/dfu#reply-1685"&gt;devzone.nordicsemi.com/.../dfu&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/index.php/firmware-update-without-button-press"&gt;devzone.nordicsemi.com/.../firmware-update-without-button-press&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>