<?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>Bootloader update OTA not working (Application OTA is working)</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/27053/bootloader-update-ota-not-working-application-ota-is-working</link><description>Hello, 
 I am tring to do a Bootloader update OTA using the bootlader DFU Dual Bank. Application update OTA is working fine while it is not the case for Bootloader update OTA. 
 For Bootloader update, I have tried with a Zip file and .bin + .dat files</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 09 Dec 2016 15:50:20 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/27053/bootloader-update-ota-not-working-application-ota-is-working" /><item><title>RE: Bootloader update OTA not working (Application OTA is working)</title><link>https://devzone.nordicsemi.com/thread/106285?ContentTypeID=1</link><pubDate>Fri, 09 Dec 2016 15:50:20 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:bba07c7e-3845-45d4-9cb6-37af3117f140</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;@Karim: Was there any other modification added to the bootloader ?&lt;/p&gt;
&lt;p&gt;If you have your board for testing, you can do what I suggested, to change the bootloader to support debugging (or add your UART trace) and check why the bootloader is not replaced. It&amp;#39;s not a black box that can&amp;#39;t be debug.
To change the bootloader to debug mode have a look at &lt;a href="https://devzone.nordicsemi.com/question/18039/bootloader-debugging/?answer=18051#post-id-18051"&gt;this&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This function dfu_bl_image_swap() should be called for the replacement of the bootloader. You can start with that.&lt;/p&gt;
&lt;p&gt;I also suggest you to test with the original bootloader example, just to check if you can replace the bootloader with it.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Bootloader update OTA not working (Application OTA is working)</title><link>https://devzone.nordicsemi.com/thread/106287?ContentTypeID=1</link><pubDate>Fri, 09 Dec 2016 15:34:13 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e3d5a4ef-619b-4ed7-8c82-ff199917f481</guid><dc:creator>Karim19</dc:creator><description>&lt;p&gt;I just would like to add the following information to my last comment: The products where I want to do a bootloader Update OTA doesn&amp;#39;t have yet the Watchdog implemented in its app. So the issue here is a simple uploading  of the bootloader OTA which is not working (it has Nothing to do with the watchdog). The Watchdog is simply a feature that I am planning to integrate in the new bootloader to support.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Bootloader update OTA not working (Application OTA is working)</title><link>https://devzone.nordicsemi.com/thread/106286?ContentTypeID=1</link><pubDate>Fri, 09 Dec 2016 15:00:31 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9a0a3abe-2d35-47c6-8204-3f6cdef8b710</guid><dc:creator>Karim19</dc:creator><description>&lt;p&gt;I am currently testing on my own board. I do have few products with the modified bootloader that I would like to update, once I have the right bootloader&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;I have managed to have a bootloader that handle an App with watchdog -&amp;gt; the issue here that I cannot update the bootloader in product currently having previous Bootlodder. Transfer OTA finishes successfully but it seems like the bootloader doesn&amp;#39;t get swapped with the new one. I verified this with a led&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;I tried your last solution in order to allow App update OTA with a bootloder not supporting Watchdog. What I did is before calling bootloader_util_reset() I added an infinite look and wait for the watchdog to fire a reset. in NRFconnect it keep opening the image file but then it restarts&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;I think the best thing is to find a way to update directly the bootloader (option 1) in order to have all the products with the same bootloader&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Bootloader update OTA not working (Application OTA is working)</title><link>https://devzone.nordicsemi.com/thread/106284?ContentTypeID=1</link><pubDate>Fri, 09 Dec 2016 11:19:37 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:eb73e95b-a49b-44c5-8762-7d56481fdaaa</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;What you described may not explain why the bootloader update is not performed. I would suggest to test with a development kit (or your own board) not with the product that you can&amp;#39;t flash with the programmer.&lt;/p&gt;
&lt;p&gt;Just to find the root cause.&lt;/p&gt;
&lt;p&gt;So you now have watchdog timer in your application code and you want to keep feeding it when you are in bootloader ? The last solution is to let the watchdog trigger the reset before you switch to bootloader (in stead of branching directly, let the watchdog reset and the bootloader will enter bootloader mode after checking the GPREGRET flag).&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Bootloader update OTA not working (Application OTA is working)</title><link>https://devzone.nordicsemi.com/thread/106283?ContentTypeID=1</link><pubDate>Fri, 09 Dec 2016 10:30:15 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:40ab8691-a40a-407d-a250-4a0f3b4c5ce8</guid><dc:creator>Karim19</dc:creator><description>&lt;p&gt;Hi Hung, Thanks for your reply. I may have found the reason of this behavior.&lt;/p&gt;
&lt;p&gt;When flashing the chip and in order to flash only one single code that contains the bootloader+ SD + App, and following some other comments found in the forum I have applied the following modifications:&lt;/p&gt;
&lt;p&gt;bootloader_settings.c:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;removed this line -
uint8_t m_boot_settings[CODE_PAGE_SIZE] &lt;strong&gt;attribute&lt;/strong&gt; ((section(&amp;quot;.bootloaderSettings&amp;quot;)));&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;added this line -
&lt;strong&gt;attribute&lt;/strong&gt; ((section(&amp;quot;.bootloaderSettings&amp;quot;))) volatile uint8_t m_boot_settings[CODE_PAGE_SIZE] = {BANK_VALID_APP};&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Removed this from the ld file:
&lt;em&gt;/&lt;/em&gt; Place the bootloader settings page in flash. &lt;em&gt;/
.bootloaderSettings(NOLOAD) :
{
} &amp;gt; BOOTLOADER_SETTINGS&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Is there a way to update this bootloader either OTA or through SD card? Flashing the bootloader with a programmer is not possible anymore. Thanks&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Bootloader update OTA not working (Application OTA is working)</title><link>https://devzone.nordicsemi.com/thread/106288?ContentTypeID=1</link><pubDate>Fri, 09 Dec 2016 09:44:07 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4ce50e3d-4eb2-40ea-9b9e-705365f561db</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Karim,&lt;/p&gt;
&lt;p&gt;You need to make sure the DFU process is successful. A sniffer trace may help here.&lt;/p&gt;
&lt;p&gt;Secondly, you may need to modify the bootloader to allow debugging (or you can add UART trace) and check why the bootloader is not replaced.&lt;/p&gt;
&lt;p&gt;Do you have any modification on the bootloader ?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>