<?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>DFU OTA does not work from application</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/10635/dfu-ota-does-not-work-from-application</link><description>I followed the instructions from here developer.nordicsemi.com/.../a00081.html 
to make my application support DFU OTA. Despite of some errors in the instructions I managed to finish the task, and got my application running. After connecting from a phone</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 10 Dec 2015 08:07:34 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/10635/dfu-ota-does-not-work-from-application" /><item><title>RE: DFU OTA does not work from application</title><link>https://devzone.nordicsemi.com/thread/39682?ContentTypeID=1</link><pubDate>Thu, 10 Dec 2015 08:07:34 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e4c2c8b6-f58e-483b-91fc-7273a8336a83</guid><dc:creator>Jarmo</dc:creator><description>&lt;p&gt;What I did yesterday was that I replaced every single Noridic&amp;#39;s file with the version from SDK 8.1.0 (they were from 8.0.0). Now it finally works. Unfortunately I don&amp;#39;t have any clue what specific thing did the magic.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: DFU OTA does not work from application</title><link>https://devzone.nordicsemi.com/thread/39681?ContentTypeID=1</link><pubDate>Thu, 10 Dec 2015 08:06:22 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2d944d42-347a-420f-8cce-b1df13380027</guid><dc:creator>Jarmo</dc:creator><description>&lt;p&gt;Thanks for comment! But I want to share the bond information, if it means that then I can upload my application without the need to first enter the bootloader, separately. What I did yesterday was that I replaced every single Noridic&amp;#39;s file with the version from SDK 8.1.0 (they were from 8.0.0). Now it finally works. Unfortunately I don&amp;#39;t have any clue what specific thing did the magic. This exercise took me over 40 hours blood, toil, tears and sweat... But anyway, thanks for your support :)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: DFU OTA does not work from application</title><link>https://devzone.nordicsemi.com/thread/39680?ContentTypeID=1</link><pubDate>Wed, 09 Dec 2015 16:29:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:336763e2-d66a-4bc3-b19e-317de7ef3d4e</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;@Jarmo: You should not copy the ble_app_hrs_dfu main to your project. It&amp;#39;s not needed.
What you should do is described in the instruction I linked before. There are 3 files need to be added as mentioned in the instruction.&lt;/p&gt;
&lt;p&gt;But if you don&amp;#39;t plan to share bond information. You can do these simple steps:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Write to GPREGRET a value, let say 0x55&lt;/li&gt;
&lt;li&gt;Reset the chip using (sd_nvic_SystemReset)&lt;/li&gt;
&lt;li&gt;Remove  &amp;quot;if (init_softdevice)&amp;quot; in ble_stack_init&lt;/li&gt;
&lt;li&gt;The bootloader should start advertise as DFUTarg.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you still have the issue &amp;quot; it jams into its event loop, not being able to connect any more&amp;quot; Please capture &lt;a href="https://www.nordicsemi.com/eng/Products/Bluetooth-Smart-Bluetooth-low-energy/nRF-Sniffer/(language)/eng-GB"&gt;a sniffer trace&lt;/a&gt; when you try to connect to it. You can use the nRF Master Control panel app to try to connect to the DFUTarg.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: DFU OTA does not work from application</title><link>https://devzone.nordicsemi.com/thread/39678?ContentTypeID=1</link><pubDate>Tue, 08 Dec 2015 20:40:30 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0fe0f671-9617-4088-875d-3563b45744fa</guid><dc:creator>Jarmo</dc:creator><description>&lt;p&gt;What is the way application&amp;#39;s connection information is passed into the bootloader? If I understood right, the existing connection with the OTA DFU central point is passed to bootloader when entering there (shared RAM or something like that?). In my case this thing seems to fail and the central point is instantly disconnected. After that, bootloader sets up its BLE stack (it becomes visible as DfuTarg) but then it jams into its event loop, not being able to connect any more.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: DFU OTA does not work from application</title><link>https://devzone.nordicsemi.com/thread/39677?ContentTypeID=1</link><pubDate>Tue, 08 Dec 2015 20:18:41 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b4217745-a528-449e-8850-470dab484d52</guid><dc:creator>Jarmo</dc:creator><description>&lt;p&gt;What should I put here?&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;cp_init.start_on_notify_cccd_handle    = m_hrs.hrm_handles.cccd_handle;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;I do not have heart rate monitor service, thus I guess something else should be put there. And I already forgot what was that stupid CCCCCCCCCD...&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: DFU OTA does not work from application</title><link>https://devzone.nordicsemi.com/thread/39676?ContentTypeID=1</link><pubDate>Tue, 08 Dec 2015 20:14:28 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c7014052-43ed-46c0-b164-76a4ffed9f0c</guid><dc:creator>Jarmo</dc:creator><description>&lt;p&gt;Thanks, I have followed those instructions earlier and double-checked it now, still. Also, I just converted the main file from app_hrs_dfu -example into my project, and thought my application would then do ota dfu, as well. But nope! I have really run out of ideas. Is there some size limit for the application, realated to bootloader? My app&amp;#39;s binary is now around 21 KB in size. I guess the error might be very trivial, but since there&amp;#39;s no feedback from the system, expect jamming, this is very difficult case :&amp;#39;(&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: DFU OTA does not work from application</title><link>https://devzone.nordicsemi.com/thread/39679?ContentTypeID=1</link><pubDate>Tue, 08 Dec 2015 14:51:22 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0c1b372a-0837-4ff3-93d6-96c8b81098d7</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Jarmo,
If you don&amp;#39;t plan to share bond information, then you don&amp;#39;t need device manager or app_context_load. The BSP module is to handle LED and button, I don&amp;#39;t think it&amp;#39;s needed.
What make the difference is that we branch (jump) from application to bootloader, and we don&amp;#39;t reinitialize the bootloader. When you reset the bootloader and have to reinitialize. They should both work (with some modification with your approach to remove the app_reset thingy, just call ble_stack_init(true);)&lt;/p&gt;
&lt;p&gt;Have you followed the instruction &lt;a href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.sdk51.v10.0.0/bledfu_appextending.html?cp=4_1_0_4_3_1_2_1"&gt;here&lt;/a&gt; ? It should work.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: DFU OTA does not work from application</title><link>https://devzone.nordicsemi.com/thread/39672?ContentTypeID=1</link><pubDate>Tue, 08 Dec 2015 10:09:17 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:661506af-9b59-4856-adcc-b7e4aaea1b5a</guid><dc:creator>Jarmo</dc:creator><description>&lt;p&gt;Yep, ble_app_hrs_s110_with_dfu_pca10028 seems to work well. I noted that app_context_load() and device_manager_evt_handler() -functions were missing in my app (I think those were not mentioned in dfu guide). So I added them similarly as in hrs example. However, it did not change anything, it is still not working. Now I am wondering what is BSP module? I don&amp;#39;t have things related to that, but maybe it is something important?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: DFU OTA does not work from application</title><link>https://devzone.nordicsemi.com/thread/39673?ContentTypeID=1</link><pubDate>Mon, 07 Dec 2015 13:00:00 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b0bf383d-53aa-4229-8735-e35620855a9f</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Jarmo,&lt;/p&gt;
&lt;p&gt;Looked like you have reset the application when you jump from application to bootloader.&lt;/p&gt;
&lt;p&gt;Could you try to test with the ble_app_hrs_with_dfu in our SDK  ?&lt;/p&gt;
&lt;p&gt;Note that in our application, we branch directly to the bootloader, not reset. Please have a look at the question C in this &lt;a href="https://devzone.nordicsemi.com/blogs/685/common-faq-on-dfu/"&gt;FAQ&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: DFU OTA does not work from application</title><link>https://devzone.nordicsemi.com/thread/39675?ContentTypeID=1</link><pubDate>Sat, 05 Dec 2015 14:51:35 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9a06fa21-2961-459d-beaf-2268eb2e0e79</guid><dc:creator>Jarmo</dc:creator><description>&lt;p&gt;Well, I am not actually sure if that reset thing is needed at all, because I had to change also two other lines as follows:&lt;/p&gt;
&lt;p&gt;ble_stack_init(true); // was &amp;quot;ble_stack_init(!app_reset);&amp;quot;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: DFU OTA does not work from application</title><link>https://devzone.nordicsemi.com/thread/39674?ContentTypeID=1</link><pubDate>Sat, 05 Dec 2015 11:09:53 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e1342dd6-31c1-4b0f-9ac1-763f1d2d0f76</guid><dc:creator>Jarmo</dc:creator><description>&lt;p&gt;Yes it works without the application.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: DFU OTA does not work from application</title><link>https://devzone.nordicsemi.com/thread/39671?ContentTypeID=1</link><pubDate>Fri, 04 Dec 2015 14:22:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:162533ad-4889-4856-9882-a2d6912f45e9</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Jarmo,&lt;/p&gt;
&lt;p&gt;Have you flashed and tested with the bootloader (not the application integrate with DFU service) ?
Note that the instruction in the link is to integrate the DFU service only, what this service does is to jump to the bootloader (trigger bootloader without a button). You should test and make sure the bootloader worked fine first.&lt;/p&gt;
&lt;p&gt;Please have a look at &lt;a href="https://devzone.nordicsemi.com/tutorials/9/"&gt;this tutorial&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>