<?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>[SDK 7.2 DFU] Adding DFU service at NUS example</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/8223/sdk-7-2-dfu-adding-dfu-service-at-nus-example</link><description>SoftDevice : S110 7.1 
 
 
 SDK 7.2 
 
 
 Example : nrf51-ble-app-temp + experimental_ble_app_uart 
 
 
 Using IAR 7.1 
 
 
 (Before debugging with IAR, I downloaded both the bootloader.hex and s110 7.1 hex with nrfjprog.exe) 
 
 
 Modified</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 21 Jul 2015 07:56:43 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/8223/sdk-7-2-dfu-adding-dfu-service-at-nus-example" /><item><title>RE: [SDK 7.2 DFU] Adding DFU service at NUS example</title><link>https://devzone.nordicsemi.com/thread/29603?ContentTypeID=1</link><pubDate>Tue, 21 Jul 2015 07:56:43 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e0ed3338-3c41-4a7f-888c-d862019b34bd</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;@Mango: Yes we will check it to know if the peripheral is application or is the bootloader. If it&amp;#39;s the application, it will try to trigger the device enter the bootloader first, then start sending image.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: [SDK 7.2 DFU] Adding DFU service at NUS example</title><link>https://devzone.nordicsemi.com/thread/29602?ContentTypeID=1</link><pubDate>Mon, 20 Jul 2015 15:59:39 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c35c016f-359c-4477-8d31-17514f234892</guid><dc:creator>MANGO</dc:creator><description>&lt;p&gt;Really? After I unzipped the SDK 7.2, I used that ble_app_hrs dfu example. Well I will check it.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Added 21, July, 2015:&lt;/strong&gt; You&amp;#39;re right. In the example,&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#define DFU_REV_MINOR                        0x05
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;was defined like this. Thanks to you, it works now.&lt;/p&gt;
&lt;p&gt;Before closing the question, does the MCP App or nRF Toolbox check this &lt;code&gt;DFU_REVISION&lt;/code&gt; value&lt;/p&gt;
&lt;p&gt;whether it is 1 or not?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: [SDK 7.2 DFU] Adding DFU service at NUS example</title><link>https://devzone.nordicsemi.com/thread/29601?ContentTypeID=1</link><pubDate>Mon, 20 Jul 2015 15:37:23 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1bd31194-ba9d-499f-90e5-3f0f2153942b</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;@Mango922: If you test with our ble_app_hrs s110_with_dfu example, would it work ?&lt;/p&gt;
&lt;p&gt;The DFU revision in the app should be 0x01 not 0x05 as in your screenshot (the last charactersitic, with the value 05-00)&lt;/p&gt;
&lt;p&gt;So for the app (NUS+DFU) revision should = 1 , for the bootloader (DFUTARG) revision should = 5.
It&amp;#39;s defined by DFU_REVISION in main.c in our ble_app_hrs dfu example.&lt;/p&gt;
&lt;p&gt;ble_app_template on github is pretty old, please use the template in the SDK v7.2&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: [SDK 7.2 DFU] Adding DFU service at NUS example</title><link>https://devzone.nordicsemi.com/thread/29600?ContentTypeID=1</link><pubDate>Fri, 17 Jul 2015 12:34:24 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:baa71f7d-37e7-4b00-babe-a630ebad62ef</guid><dc:creator>MANGO</dc:creator><description>&lt;p&gt;I didn&amp;#39;t know there was a example of a buttonless bootloader example. Anyways,&lt;/p&gt;
&lt;p&gt;the hex file and the init file I use is simply the ones that already existed at the App.&lt;/p&gt;
&lt;p&gt;When there&amp;#39;s nothing at Memory 0x16000, the Toolbox app has no problem doing the DFU.&lt;/p&gt;
&lt;p&gt;So, &lt;strong&gt;for your bolted question, I&amp;#39;m sure that when the firmware has only the bootloader, it can update
(or receive) the hex file and init file from the app.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;However, after downloading the modified (NUS + DFU) example, even though I used the&lt;/p&gt;
&lt;p&gt;hex file and init file which were already existed in the app, it failed.&lt;/p&gt;
&lt;p&gt;I will try the nRF Master Control Panel and check the logs.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: [SDK 7.2 DFU] Adding DFU service at NUS example</title><link>https://devzone.nordicsemi.com/thread/29599?ContentTypeID=1</link><pubDate>Fri, 17 Jul 2015 10:58:20 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ed87d3e5-ff20-4616-93c7-d9e22bbf6349</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;@Mango922: If you haven&amp;#39;t bond with the device then it&amp;#39;s normal that the crc check is failed. But it should not cause any trouble because the result of dfu_ble_get_peer_data() is just to set m_ble_peer_data_valid = true; or not. You can have a look at dfu_transport_update_start() in dfu_transport_ble.c file. So if crc check failed, we will simply not use bonding.&lt;/p&gt;
&lt;p&gt;The issue should be with something else, &lt;strong&gt;have you made sure you can update the hex file and the init file normally (straight with the bootloader, without using button less example) ?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I would need you to attach:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Log file from nRF Master Control Panel app when doing DFU (swipe right)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Sniffer trace&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>