<?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>Enabling DFU service in application</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/21105/enabling-dfu-service-in-application</link><description>Hello, 
 I am using MDBT40 ( www.raytac.com/.../MDBT40 spec-Version A5.pdf) in my project. Also I am using arduino IDE to create .hex file for MDBT40 using this reference link- github.com/.../arduino-nRF5 
 I tried OTA- DFU example provided in SDK V11</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 18 Apr 2017 13:54:38 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/21105/enabling-dfu-service-in-application" /><item><title>RE: Enabling DFU service in application</title><link>https://devzone.nordicsemi.com/thread/82567?ContentTypeID=1</link><pubDate>Tue, 18 Apr 2017 13:54:38 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:08dbefa5-1dcc-4a56-8fa8-6db49ce2fec6</guid><dc:creator>bjorn-spockeli</dc:creator><description>&lt;p&gt;&lt;a href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.tools/dita/tools/nrf5x_command_line_tools/nrf5x_mergehex.html?resultof=%22%6d%65%72%67%65%68%65%78%22%20"&gt;Here&lt;/a&gt; is the link to the mergehex User-guide on Infocenter.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Enabling DFU service in application</title><link>https://devzone.nordicsemi.com/thread/82566?ContentTypeID=1</link><pubDate>Tue, 18 Apr 2017 13:53:38 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:bf4012d9-a736-478e-833d-82aa3c07af84</guid><dc:creator>bjorn-spockeli</dc:creator><description>&lt;p&gt;I recommend that you use mergehex( part of the nRF5x Commandline Tools, available &lt;a href="https://www.nordicsemi.com/eng/nordic/download_resource/33444/40/27687703/53210"&gt;here&lt;/a&gt;).&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Enabling DFU service in application</title><link>https://devzone.nordicsemi.com/thread/82569?ContentTypeID=1</link><pubDate>Sun, 09 Apr 2017 17:25:21 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:88c755a8-a001-42a9-be36-9f64e7625667</guid><dc:creator>Dhiraj</dc:creator><description>&lt;p&gt;I am merging the two files to include DFU service from ble_hrs example to my code written in arduino ide.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Enabling DFU service in application</title><link>https://devzone.nordicsemi.com/thread/82568?ContentTypeID=1</link><pubDate>Sun, 09 Apr 2017 17:21:34 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8db42d87-04c9-4174-8703-57a1f0c40393</guid><dc:creator>Dhiraj</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;I merged two hex file:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Blink.hex compiled using arduino IDE&lt;/li&gt;
&lt;li&gt;nrf51422_xxac_s130.hex from \installed folder...\ble_app_hrs
using srec_cat.exe&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;I used this command: srec_cat.exe nrf51422_xxac_s130.hex -intel Blink.hex -intel -offset -MAximum-addr nrf51422_xxac_s130.hex -intel -Output_Block_Size=16 -o output.hex -intel
and successfully generated &amp;quot;output.hex&amp;quot; file&lt;/p&gt;
&lt;p&gt;I tried loading this firmware using nrfgostudio with s130 softdevice from SDK11.&lt;/p&gt;
&lt;p&gt;Few observation:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;When I first mention &lt;strong&gt;Blink.hex&lt;/strong&gt; file in srec_cat command like this: srec_cat.exe &lt;strong&gt;Blink.hex&lt;/strong&gt; -intel nrf51422_xxac_s130.hex -intel -offset -MAximum-addr Blink.hex -intel -Output_Block_Size=16 -o output.hex -intel
the output.hex behaves as if only Blink.hex is uploaded and nrf51422_xxac_s130.hex has no effect.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;opposite to above (nrf51422_xxac_s130 when mentioned first in cmd)&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Am I going in right direction?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Enabling DFU service in application</title><link>https://devzone.nordicsemi.com/thread/82565?ContentTypeID=1</link><pubDate>Thu, 06 Apr 2017 11:53:20 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:dae5d9a4-1e28-4e94-b100-c2034134217f</guid><dc:creator>bjorn-spockeli</dc:creator><description>&lt;p&gt;Yes, if your comfortable with going from arduino code to mBed code, then this should work.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Enabling DFU service in application</title><link>https://devzone.nordicsemi.com/thread/82564?ContentTypeID=1</link><pubDate>Thu, 06 Apr 2017 09:37:40 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:048a180e-f10e-45c1-a01c-56c72d1103aa</guid><dc:creator>Dhiraj</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;Thank you for the reply.
I referred to this link of redbear labs that uses MDBT40: &lt;a href="https://github.com/RedBearLab/nRF51822-Arduino/blob/S130/arduino-1.6.x/hardware/RBL/RBL_nRF51822/libraries/BLE_Examples/examples/BLE_SimplePeripheral/BLE_SimplePeripheral.ino"&gt;github.com/.../BLE_SimplePeripheral.ino&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This code uses DFU service and has .cpp source as you mentioned for the DFU service.
Further this link explains about FOTA:
&lt;a href="https://developer.mbed.org/teams/Bluetooth-Low-Energy/wiki/Firmware-Over-the-Air-FOTA-Updates"&gt;developer.mbed.org/.../Firmware-Over-the-Air-FOTA-Updates&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This should work in my case right?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Enabling DFU service in application</title><link>https://devzone.nordicsemi.com/thread/82563?ContentTypeID=1</link><pubDate>Wed, 05 Apr 2017 07:15:07 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a6bd11d9-144a-4af2-b986-52f0e1fdb919</guid><dc:creator>bjorn-spockeli</dc:creator><description>&lt;p&gt;Hi Dhiraj,&lt;/p&gt;
&lt;p&gt;the Infocenter guide you&amp;#39;re referring to explains how to add DFU support to an application that is written in C, i.e. using our SDK directly and not through a 3rd party library. Thus, including the 3 files mentioned in the guide will not work.&lt;/p&gt;
&lt;p&gt;I took a quick look at sandeepmistry&amp;#39;s &lt;a href="https://github.com/sandeepmistry/arduino-BLEPeripheral"&gt;arduino-BLEPeripheral&lt;/a&gt; library and it appears that you will have to create the DFU service using the .cpp source, like sandeep did for the &lt;a href="https://github.com/sandeepmistry/arduino-BLEPeripheral/blob/master/src/BLEHIDPeripheral.cpp"&gt;HID example&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If you need support for Device Firmware Updates in your project, then I would recommend moving from the Arduino IDE and Sandeep&amp;#39;s Library to using our SDK in Keil, Eclipse or Segger Embedded Studio.&lt;/p&gt;
&lt;p&gt;Bjørn&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>