<?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 using BLE</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/46776/buttonless-dfu-using-ble</link><description>Hello, 
 I have application that is sending data over BLE every 5 minutes. 
 I want to implement DFU using BLE. I don&amp;#39;t have any single button on my device. 
 What should i have to add in my application for DFU. I use native nRF boot-loader from example</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 28 May 2021 08:29:53 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/46776/buttonless-dfu-using-ble" /><item><title>RE: Buttonless DFU using BLE</title><link>https://devzone.nordicsemi.com/thread/312302?ContentTypeID=1</link><pubDate>Fri, 28 May 2021 08:29:53 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ed510cc7-483d-4643-a25f-bc9edee75b71</guid><dc:creator>Karl Ylvisaker</dc:creator><description>&lt;p&gt;Hello,&lt;br /&gt;&lt;br /&gt;Thank you for providing us with an update on this, Hector! :)&amp;nbsp;&lt;br /&gt;I assume that brijeshgpt47 created a separate ticket for this, but its great to have your comment here for completeness / future reference.&lt;br /&gt;&lt;br /&gt;Best regards,&lt;br /&gt;Karl&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Buttonless DFU using BLE</title><link>https://devzone.nordicsemi.com/thread/312230?ContentTypeID=1</link><pubDate>Thu, 27 May 2021 22:00:02 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2f0792cd-aa51-4de4-a637-7460807cba79</guid><dc:creator>Hector.a.c</dc:creator><description>&lt;p&gt;Hello, it&amp;#39;s been a long time since you posted these questions but the answer is:&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;STEP 1. be sure that in the code &amp;quot;secure_bootloader&amp;quot; the macro&amp;nbsp;NRF_BL_DFU_ENTER_METHOD_GPREGRET located in sdk_config.h file been equal to 1.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;STEP 2. in your main application if you want to jump to DFU mode you have to execute the next code:&lt;/p&gt;
&lt;p&gt;&lt;br /&gt; sd_power_gpregret_clr(0, 0xFF)&lt;br /&gt; NRF_POWER-&amp;gt;GPREGRET = BOOTLOADER_DFU_START;&lt;br /&gt; // Signal that DFU mode is to be enter to the power management module&lt;br /&gt; nrf_pwr_mgmt_shutdown(NRF_PWR_MGMT_SHUTDOWN_GOTO_DFU);&lt;/p&gt;
&lt;p&gt;wherethe value of those macros is:&lt;/p&gt;
&lt;p&gt;#define BOOTLOADER_DFU_GPREGRET_MASK (0xB0) &lt;br /&gt;#define BOOTLOADER_DFU_START_BIT_MASK (0x01) &lt;br /&gt;#define BOOTLOADER_DFU_START (BOOTLOADER_DFU_GPREGRET_MASK | BOOTLOADER_DFU_START_BIT_MASK)&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;/**@brief Power management shutdown types. */&lt;br /&gt;typedef enum&lt;br /&gt;{&lt;br /&gt; NRF_PWR_MGMT_SHUTDOWN_GOTO_SYSOFF,&lt;br /&gt; //!&amp;lt; Go to System OFF.&lt;/p&gt;
&lt;p&gt;NRF_PWR_MGMT_SHUTDOWN_STAY_IN_SYSOFF,&lt;br /&gt; //!&amp;lt; Go to System OFF and stay there.&lt;br /&gt; /**&amp;lt;&lt;br /&gt; * Useful when battery level is dangerously low, for example.&lt;br /&gt; */&lt;/p&gt;
&lt;p&gt;NRF_PWR_MGMT_SHUTDOWN_GOTO_DFU,&lt;br /&gt; //!&amp;lt; Go to DFU mode.&lt;/p&gt;
&lt;p&gt;NRF_PWR_MGMT_SHUTDOWN_RESET,&lt;br /&gt; //!&amp;lt; Reset chip.&lt;/p&gt;
&lt;p&gt;NRF_PWR_MGMT_SHUTDOWN_CONTINUE&lt;br /&gt; //!&amp;lt; Continue shutdown.&lt;br /&gt; /**&amp;lt;&lt;br /&gt; * This should be used by modules that block the shutdown process, when they become ready for&lt;br /&gt; * shutdown.&lt;br /&gt; */&lt;br /&gt;} nrf_pwr_mgmt_shutdown_t;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Also you have to include the nexts files:&lt;/p&gt;
&lt;p&gt;#include &amp;quot;nrf_soc.h&amp;quot;&lt;/p&gt;
&lt;p&gt;#include &amp;quot;nrf_power.h&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;and that&amp;#39;s all. When the application execute the line&amp;nbsp;&lt;span&gt;nrf_pwr_mgmt_shutdown(NRF_PWR_MGMT_SHUTDOWN_GOTO_DFU); it will execute a system reset so the bootloader will read the&amp;nbsp;NRF_POWER-&amp;gt;GPREGRET register and will jump to DFU mode.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;NOTE: The&amp;nbsp;NRF_POWER-&amp;gt;GPREGRET register is cleared when a hardware reset occurs. therefore if you turn off you device then you turn on it will start in your main application becose the register will be equal to 0.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Buttonless DFU using BLE</title><link>https://devzone.nordicsemi.com/thread/255546?ContentTypeID=1</link><pubDate>Wed, 17 Jun 2020 12:54:52 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3aa05792-7cc6-451b-9511-4a82c7a28134</guid><dc:creator>Karl Ylvisaker</dc:creator><description>&lt;p&gt;Hello &lt;a href="https://devzone.nordicsemi.com/members/brijeshgpt47"&gt;brijeshgpt47&lt;/a&gt;,&lt;br /&gt;&lt;br /&gt;This thread is more than a year old and the customer has stopped replying.&lt;br /&gt;Please create a new ticket detailing the issue you are experiencing, if you require help.&lt;br /&gt;&lt;br /&gt;Best regards,&lt;br /&gt;Karl&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Buttonless DFU using BLE</title><link>https://devzone.nordicsemi.com/thread/255277?ContentTypeID=1</link><pubDate>Tue, 16 Jun 2020 13:24:58 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:24c3213b-639c-495f-8897-e09402622ade</guid><dc:creator>brijeshgpt47</dc:creator><description>&lt;p&gt;hey please update this thread.&lt;/p&gt;
&lt;p&gt;I also want to do the same as Roh_Sys want.&lt;/p&gt;
&lt;p&gt;thanks&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Buttonless DFU using BLE</title><link>https://devzone.nordicsemi.com/thread/185035?ContentTypeID=1</link><pubDate>Fri, 03 May 2019 06:46:20 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5abf978e-e8a1-4380-a65a-26b07c410c85</guid><dc:creator>AndreasF</dc:creator><description>&lt;p&gt;Hi.&lt;/p&gt;
&lt;p&gt;I&amp;#39;m not really sure in understand your question.&lt;/p&gt;
&lt;p&gt;Have you or have you not entered DFU mode?&lt;/p&gt;
&lt;p&gt;If you are not in DFU mode, what way do you wish to enter the DFU mode?&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Andreas&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Buttonless DFU using BLE</title><link>https://devzone.nordicsemi.com/thread/184636?ContentTypeID=1</link><pubDate>Tue, 30 Apr 2019 19:11:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7290f69a-7572-4bb2-a2c9-9f0a7abaa653</guid><dc:creator>Roh_Sys</dc:creator><description>&lt;p&gt;Hey,&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I already went through that infocenter. I am using BLE as transport and&amp;nbsp;&lt;a href="https://infocenter.nordicsemi.com/topic/com.nordic.infocenter.sdk5.v15.3.0/group__nrf__bootloader__config.html#gab540083b75cd50e020bbd166198476c4"&gt;NRF_BL_DFU_ENTER_METHOD_BUTTONLESS&lt;/a&gt;&amp;nbsp;as to enter into DFU mode.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;My que is&lt;/p&gt;
&lt;p&gt;My application is running and i want to go in DFU mode (Buttonless). How to do that ?&lt;/p&gt;
&lt;p&gt;I mean is there anything i need to add in my current application ?&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Lets take an example to explain.&lt;/p&gt;
&lt;p&gt;I have Hello world example in my flash memory. now i want to change that application i mean i want to flash another LED Blink example. So, how can i do that using Buttonless DFU and BL?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Buttonless DFU using BLE</title><link>https://devzone.nordicsemi.com/thread/184431?ContentTypeID=1</link><pubDate>Tue, 30 Apr 2019 06:14:37 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:eb7a26d6-3ba2-47f1-bbd4-2bc85ff457a2</guid><dc:creator>AndreasF</dc:creator><description>&lt;p&gt;Hi.&lt;/p&gt;
&lt;p&gt;Have you had a look at the &lt;a href="https://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.sdk5.v15.3.0%2Flib_bootloader.html"&gt;infocenter&lt;/a&gt;? It is described there how you can enter DFU mode:&lt;/p&gt;
&lt;p&gt;In the DFU mode, the bootloader activates the DFU transports and the device is ready to receive new firmware. The bootloader enters the DFU mode on the following conditions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;No valid application is present.&lt;/li&gt;
&lt;li&gt;SoftDevice is activated and a valid application is present. In that case, the bootloader expects that an application update can be requested by the host.&lt;/li&gt;
&lt;li&gt;Entering DFU mode is triggered by one of the optional sources:
&lt;ul&gt;
&lt;li&gt;Button (&lt;a href="https://infocenter.nordicsemi.com/topic/com.nordic.infocenter.sdk5.v15.3.0/group__nrf__bootloader__config.html#ga2a0043889d40d5b09e524cc701f93fbf"&gt;NRF_BL_DFU_ENTER_METHOD_BUTTON&lt;/a&gt;),&lt;/li&gt;
&lt;li&gt;Pin reset (&lt;a href="https://infocenter.nordicsemi.com/topic/com.nordic.infocenter.sdk5.v15.3.0/group__nrf__bootloader__config.html#gaa89bea64482f2c4d83919922e5e84bc3"&gt;NRF_BL_DFU_ENTER_METHOD_PINRESET&lt;/a&gt;),&lt;/li&gt;
&lt;li&gt;Special value in GPREGRET register (&lt;a href="https://infocenter.nordicsemi.com/topic/com.nordic.infocenter.sdk5.v15.3.0/group__nrf__bootloader__config.html#ga4e1297da5d25948277b4323a6fb87659"&gt;NRF_BL_DFU_ENTER_METHOD_GPREGRET&lt;/a&gt;),&lt;/li&gt;
&lt;li&gt;Request from the application written to the settings page (&lt;a href="https://infocenter.nordicsemi.com/topic/com.nordic.infocenter.sdk5.v15.3.0/group__nrf__bootloader__config.html#gab540083b75cd50e020bbd166198476c4"&gt;NRF_BL_DFU_ENTER_METHOD_BUTTONLESS&lt;/a&gt;).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Andreas&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Buttonless DFU using BLE</title><link>https://devzone.nordicsemi.com/thread/184407?ContentTypeID=1</link><pubDate>Mon, 29 Apr 2019 22:58:35 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:53a4a89d-a8a2-4a9f-af0a-2839206e41cb</guid><dc:creator>Roh_Sys</dc:creator><description>&lt;p&gt;I used below link to understand DFU.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/gamnes/nRF52832-buttonless-dfu-development-tutorial"&gt;https://github.com/gamnes/nRF52832-buttonless-dfu-development-tutorial&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;But i am still confuse. what to add in my application so it can go in DFU mode ?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>