<?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>High Level DFU Questions</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/64803/high-level-dfu-questions</link><description>I have pretty much gotten my application fully ported and working on nRF52832. I am now looking at adding in DFU for OTA updates. 
 Can you confirm my understanding, based on following statements: 
 
 nRF5_SDK_17.0.0_9d13099\examples\ble_peripheral\ble_app_buttonless_dfu</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 14 Aug 2020 12:54:02 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/64803/high-level-dfu-questions" /><item><title>RE: High Level DFU Questions</title><link>https://devzone.nordicsemi.com/thread/264629?ContentTypeID=1</link><pubDate>Fri, 14 Aug 2020 12:54:02 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:796b4af0-756d-4662-96f7-da997bf5b2bf</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
[quote user=""]nRF5_SDK_17.0.0_9d13099\examples\ble_peripheral\ble_app_buttonless_dfu is the example that shows how to advertise DFU service, which allows BLE app on phone / computer to load a new image after making connection[/quote]
&lt;p&gt;&amp;nbsp;Yes. To clarify. The buttonless DFU Service is used to activate DFU mode on the nRF. It does not contain the bootloader itself.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
[quote user=""]nRF5_SDK_17.0.0_9d13099\examples\dfu\secure_bootloader\pca10040_s132_ble is the example project for secure bootloader.[/quote]
&lt;p&gt;&amp;nbsp;Correct.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
[quote user=""]Buttonless-DFU example needs to be merged into my application[/quote]
&lt;p&gt;&amp;nbsp;That is correct. This mainly means that you need to add the buttonless service in services_init() as it is done in the ble_app_buttonless_dfu example. You also need to include&amp;nbsp;ble_dfu_buttonless_async_svci_init(), as this includes instructions on how to save data for the bootloader, so that it knows when to enter DFU mode, or when to start the already present application (the bootloader will always run before the application on a reset, so it needs to know when to enter DFU mode and when not to do so).&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
[quote user=""]Secure_bootloader needs to be a separate project from my application[/quote]
&lt;p&gt;&amp;nbsp;That is also correct. When the bootloader is present, the softdevice (or MBR, if you do not use any softdevice) will detect that there is a bootloader present (uploaded as a separate .hex file), and start the bootloader.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I hope this clarified some of your doubts. Let me know if anything was unclear.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>