<?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>Repeatedly performing OTA with updated firmware</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/48164/repeatedly-performing-ota-with-updated-firmware</link><description>Hi, 
 I have the NRF52 dev kit with NRF522832 chip. I am using SDK version 15.2 and the Segger IDE. I am trying to do OTA programming and have used this tutorial: 
 https://devzone.nordicsemi.com/nordic/b/blog/posts/getting-started-with-nordics-secure</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 07 Jun 2019 11:17:49 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/48164/repeatedly-performing-ota-with-updated-firmware" /><item><title>RE: Repeatedly performing OTA with updated firmware</title><link>https://devzone.nordicsemi.com/thread/191616?ContentTypeID=1</link><pubDate>Fri, 07 Jun 2019 11:17:49 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:57825760-f8d5-48fe-beec-2e4a0abbc1a7</guid><dc:creator>Shiv</dc:creator><description>&lt;p&gt;Thank you so much for your help. I will verify these answers.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Repeatedly performing OTA with updated firmware</title><link>https://devzone.nordicsemi.com/thread/191563?ContentTypeID=1</link><pubDate>Fri, 07 Jun 2019 09:13:39 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:28088824-f986-4ac3-9a24-e78b4e21ba36</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Sounds like it&amp;#39;s working correctly now. Yes, the bootloader will time out after 2 minutes of inactivity (default). On timeout, it will either reset and go back to DFU mode, or reset and boot the application (if there&amp;#39;s is a valid app in bank 0).&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Repeatedly performing OTA with updated firmware</title><link>https://devzone.nordicsemi.com/thread/191452?ContentTypeID=1</link><pubDate>Thu, 06 Jun 2019 16:46:07 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:422b8492-08c0-4dac-94a4-464b366b9963</guid><dc:creator>Shiv</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Thanks again. This is what I did. I took the ble_app_buttonless_dfu. I configured a GPIO as output and connected an LED to it. I flashed the LED 10 times and after the 10th time, I ran the function:&lt;/p&gt;
&lt;p&gt;&lt;span style="background-color:#ffffff;"&gt;ble_dfu_buttonless_bootloader_start_finalize();&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;This stops the LED flashing and the kit now starts broadcasting DfuTarg. So, this reverts back to the bootloader through software which is exactly what I want. But, after a minute or so, the application starts up again. So, is there a timer in-built into the DFU bootloader?&lt;/p&gt;
&lt;p&gt;In my application, I will be programming the kits initially through OTA. However, later these kits might be fitted on an experimental setup and we may not be able to flash the code by physically connecting a USB cable. So at that time, we need to do OTA programming. So, we could use an app to send a passcode to it through BLE to run that function above and go back to the DFU bootloader. After that we can upload the next firmware through OTA programming.&lt;/p&gt;
&lt;p&gt;Thanks again for your help.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Repeatedly performing OTA with updated firmware</title><link>https://devzone.nordicsemi.com/thread/191442?ContentTypeID=1</link><pubDate>Thu, 06 Jun 2019 15:40:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:054ffd14-c451-4a26-a48f-2600a3f7d161</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;You only need to generate the settings page&amp;nbsp;when you are&amp;nbsp;flashing SD+BL+APP with the programmer and want the bootloader to start the application (in production for instance).&lt;/p&gt;
&lt;p&gt;The bootloader will&amp;nbsp;manage the settings page when you upload the application through DFU.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Repeatedly performing OTA with updated firmware</title><link>https://devzone.nordicsemi.com/thread/191437?ContentTypeID=1</link><pubDate>Thu, 06 Jun 2019 15:21:20 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8c921311-9181-4b47-9a73-a21e4e529962</guid><dc:creator>Shiv</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I flashed the DFU bootloader and made sure through NRF connect that it was broadcasting DfuTarg. I then compiled the original ble_app_buttonless_dfu and created the application .zip with nrfutil. I was able to do a DFU upload OTA and this time I saw the broadcast change to &amp;quot;Nordic Buttonless&amp;quot;.&lt;/p&gt;
&lt;p&gt;However, I did not generate the bootloader settings. If I saw the broadcast change to &amp;quot;Nordic Buttonless&amp;quot; does that mean the bootloader booted the application?&lt;/p&gt;
&lt;p&gt;Thanks again,&lt;/p&gt;
&lt;p&gt;Shiv&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Repeatedly performing OTA with updated firmware</title><link>https://devzone.nordicsemi.com/thread/191431?ContentTypeID=1</link><pubDate>Thu, 06 Jun 2019 15:09:23 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9314e66e-620b-4bc7-8b19-4ddd2cdd7d77</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Hi Shiv,&lt;/p&gt;
[quote userid="80304" url="~/f/nordic-q-a/48164/repeatedly-performing-ota-with-updated-firmware/191422"]So I backtracked and compiled the original&amp;nbsp;&lt;span style="background-color:#ffffff;color:#000000;float:none;font-family:Verdana,Arial,Helvetica,sans-serif;font-size:12px;font-style:normal;font-weight:400;letter-spacing:normal;text-align:left;text-decoration:none;text-indent:0px;text-transform:none;white-space:normal;"&gt;ble_app_buttonless_dfu&lt;/span&gt; without any changes and I still get this error.[/quote]
&lt;p&gt;&amp;nbsp;Did your&amp;nbsp;flash&amp;nbsp;the bootloader first? The app will not run unless the bootloader is present. You can also set&amp;nbsp;NRF_LOG_BACKEND_RTT_ENABLED to &amp;#39;1&amp;#39; in sdk_config.h and compile the &amp;quot;Debug&amp;quot; target to get the crashlog in SES debug terminal.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Select debug target:&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/4/pastedimage1559833727788v1.png" /&gt;&lt;/p&gt;
&lt;p&gt;Edit: you also need to generate the bootloader settings page. Otherwise, the bootloader will not boot the application but stay in DFU mode.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Repeatedly performing OTA with updated firmware</title><link>https://devzone.nordicsemi.com/thread/191422?ContentTypeID=1</link><pubDate>Thu, 06 Jun 2019 14:37:46 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ee2eeeab-d655-4280-acc0-b3138cd1b5bb</guid><dc:creator>Shiv</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I went through the ble_app_buttonless_dfu example and prepared my code with it. It compiles without error, but when I try to flash the device and execute the code in my Segger IDE, it halts at&amp;nbsp;&lt;span style="background-color:#ffffff;"&gt;NRF_BREAKPOINT_COND;&lt;/span&gt; in app_error_weak.c. So I backtracked and compiled the original&amp;nbsp;&lt;span style="background-color:#ffffff;color:#000000;float:none;font-family:Verdana,Arial,Helvetica,sans-serif;font-size:12px;font-style:normal;font-weight:400;letter-spacing:normal;text-align:left;text-decoration:none;text-indent:0px;text-transform:none;white-space:normal;"&gt;ble_app_buttonless_dfu&lt;/span&gt; without any changes and I still get this error. Will this app work without any changes or are there some mandatory changes I need to get the app working? I erased the device and tried to flash but same error.&lt;/p&gt;
&lt;p&gt;Thanks in advance,&lt;/p&gt;
&lt;p&gt;Shiv&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Repeatedly performing OTA with updated firmware</title><link>https://devzone.nordicsemi.com/thread/191161?ContentTypeID=1</link><pubDate>Wed, 05 Jun 2019 14:25:37 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8f15cefd-658d-4c41-82e8-69413cb1ae0f</guid><dc:creator>Shiv</dc:creator><description>&lt;p&gt;Thanks for the answer. I will continue with that tutorial and get back to close the ticket.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Repeatedly performing OTA with updated firmware</title><link>https://devzone.nordicsemi.com/thread/191159?ContentTypeID=1</link><pubDate>Wed, 05 Jun 2019 14:21:10 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6ea92e93-a6c2-414a-aeb8-618c65ada6fc</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;You will need to add &amp;quot;buttonless DFU&amp;quot; support to&amp;nbsp;your&amp;nbsp;application to allow BLE commands to transfer execution from app to bootloader DFU mode. I&amp;#39;d recommend you to start with the &lt;a href="https://infocenter.nordicsemi.com/topic/com.nordic.infocenter.sdk5.v15.3.0/ble_sdk_app_buttonless_dfu.html?cp=5_1_4_2_2_6"&gt;Buttonless DFU Template Application&lt;/a&gt;&amp;nbsp;and use that as a starting point. Buttonless DFU is also explained in the blog post you linked to, see appendix 1.2.&amp;nbsp; Hope this helps.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>