<?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>MBR doesn&amp;#39;t copy bootloader when upgrading</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/33920/mbr-doesn-t-copy-bootloader-when-upgrading</link><description>I have a problem with upgrading bootloader on NRF52832 IC. We are in the middle of porting our own bootloader from SDK 8.1 to SDK 14, because we had to change BLE modules in our products. The application transfers the image into internal flash and signals</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 03 May 2018 13:34:16 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/33920/mbr-doesn-t-copy-bootloader-when-upgrading" /><item><title>RE: MBR doesn't copy bootloader when upgrading</title><link>https://devzone.nordicsemi.com/thread/130824?ContentTypeID=1</link><pubDate>Thu, 03 May 2018 13:34:16 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:016e4938-2c43-420f-a51b-e0e24c411187</guid><dc:creator>MC</dc:creator><description>&lt;p&gt;Hi Einar, I just figured it out after several hours of trying. &lt;br /&gt;&lt;br /&gt;It turns out, the issue was a bit odd and dificult to track down. We have a system, with a &amp;quot;main&amp;quot; processor and BLE module. I had the module connected to debugger the entire time, which is the key issue here.&lt;br /&gt;&lt;br /&gt; After FW transfer and flashing, the main processor resets the device and power cycles the BLE module with it. By doing that, the debugger starts behaving strangly, so it is impossible to see what is going on in real time. When not in debugger mode, the nrf_dfu_mbr_copy_bl() function works as it should and replaces BL without problems. It seems that the power cycle&amp;#39;s timing was just right to obscure the BL being copied.&lt;/p&gt;
&lt;p&gt;Thank you very much for your time, I will close this question.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: MBR doesn't copy bootloader when upgrading</title><link>https://devzone.nordicsemi.com/thread/130742?ContentTypeID=1</link><pubDate>Thu, 03 May 2018 08:15:09 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:99e0bad2-de39-4145-bbff-02b55f741179</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;This puzzles me. Is &lt;em&gt;anything&lt;/em&gt;&amp;nbsp;erased or copied, or is the content of the bootloader region is flash identical before and after the call to nrf_dfu_mbr_copy_bl() and subsequent reset? What values do you use for the parameters in the&amp;nbsp;nrf_dfu_mbr_copy_bl() call (particularly the length)?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: MBR doesn't copy bootloader when upgrading</title><link>https://devzone.nordicsemi.com/thread/130718?ContentTypeID=1</link><pubDate>Thu, 03 May 2018 06:30:49 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:06481151-897b-4b9f-bb0a-5aac4f8fceb8</guid><dc:creator>MC</dc:creator><description>&lt;p&gt;Bootloader&amp;#39;s size iz 32100 Bytes to be exact.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: MBR doesn't copy bootloader when upgrading</title><link>https://devzone.nordicsemi.com/thread/130595?ContentTypeID=1</link><pubDate>Wed, 02 May 2018 13:39:10 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6c0883b0-365c-4efb-bc11-249562deb0ff</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;One more thing: how large is your bootloader (the one you are copying)?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: MBR doesn't copy bootloader when upgrading</title><link>https://devzone.nordicsemi.com/thread/130589?ContentTypeID=1</link><pubDate>Wed, 02 May 2018 13:30:38 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d2751ec6-c0f8-4b72-a64b-468079963082</guid><dc:creator>MC</dc:creator><description>&lt;p&gt;Yes, we are using SDK 14.2, SoftDevice S132 version 5.1.0.&lt;br /&gt;&lt;br /&gt;sd_mbr_command() doesn&amp;#39;t return anything, it just resets the processor as it should when updating the bootloader. UICR.NRFFW[1] points to the second to last page in flash, 0x7E000. I had problems, when bootloader was too large and has written on that page. Since then, I moved bootloader start address for one page so the MBR settings page is always clear, which I verified through &amp;quot;memmory&amp;quot; tab in Segger embedded studio. I thought this was the problem, but it doesn&amp;#39;t seem to be.&lt;/p&gt;
&lt;p&gt;The last page 0x7F000 is reserved for bootloader settings.&lt;br /&gt;&lt;br /&gt;When I call sd_mbr_command() I could see that something is being written to that page, but then it never gets cleared when MBR resets the processor, nor does the bootloader get swapped.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: MBR doesn't copy bootloader when upgrading</title><link>https://devzone.nordicsemi.com/thread/130557?ContentTypeID=1</link><pubDate>Wed, 02 May 2018 12:55:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8395d102-6d14-44a3-9901-257b4154e41e</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Are you using SDK 14.2 with SoftDevice S132 version 5.0.0? What is the return value of the call to&amp;nbsp;sd_mbr_command()? Is UICR.NRFFW[1] set to the start address of an unused flash page?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>