<?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>Basic Bootloader nRF52832</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/49761/basic-bootloader-nrf52832</link><description>Dear All, 
 I know similar questions have been asked before but I have read around quite a bit and I couldn&amp;#39;t find an answer to my specific problem. 
 I have a ble application with softdevice which normally runs just fine. Now I would like to have some</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 18 Jul 2019 09:07:33 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/49761/basic-bootloader-nrf52832" /><item><title>RE: Basic Bootloader nRF52832</title><link>https://devzone.nordicsemi.com/thread/199175?ContentTypeID=1</link><pubDate>Thu, 18 Jul 2019 09:07:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d6324f3f-038e-4893-aa9c-78906e2fb7ef</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;The programming tool (nrfjprog/Jlink commander/ IDE) should give a warning or an error if the&amp;nbsp;&lt;span&gt;UICR.NRFFW[0] is not erased before you write to it. The verify&amp;nbsp;operation&amp;nbsp;should also detect if the register was not properly set, provided&amp;nbsp;the value+address is included as a part of the hex file.&lt;/span&gt;&lt;/p&gt;
[quote user="vittopascu"]Should I then actively write the bootloader address in the MBR at runtime?[/quote]
&lt;p&gt;It&amp;#39;s not required to write the address to MBR if you use&amp;nbsp;&lt;span&gt;UICR.NRFFW[0].&amp;nbsp; MBR will check both locations for a BL start address on boot.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Basic Bootloader nRF52832</title><link>https://devzone.nordicsemi.com/thread/199068?ContentTypeID=1</link><pubDate>Wed, 17 Jul 2019 16:38:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:454d59cd-1080-4d91-ad97-ee051b18fb1c</guid><dc:creator>vittopascu</dc:creator><description>&lt;p&gt;One question though. When writing to&amp;nbsp;&amp;nbsp;&lt;span&gt;UICR.NRFFW[0] (while using segger) should I take care of erasing the flash location to make sure it can be properly written or is it performed &amp;quot;quietly&amp;quot; by the programmer tools?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Should I then actively write the bootloader address in the MBR at runtime?&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Basic Bootloader nRF52832</title><link>https://devzone.nordicsemi.com/thread/198880?ContentTypeID=1</link><pubDate>Wed, 17 Jul 2019 08:24:35 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:12c9813d-982d-436c-8a59-4ea1d7082826</guid><dc:creator>vittopascu</dc:creator><description>&lt;p&gt;I figured it out, The UICR.NRFFW[0] was correctly set. The project is also builf with NO_VTOR_CONFIG.&lt;/p&gt;
&lt;p&gt;The problem was that I excluded bootloader_info.c from build. I got no warnings for that but for some reason it was breaking the functionality. I re-included it and everything works now. Not sure what the fundamental problem was but I am happy it works now.&lt;/p&gt;
&lt;p&gt;Thanks for your support&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Basic Bootloader nRF52832</title><link>https://devzone.nordicsemi.com/thread/198315?ContentTypeID=1</link><pubDate>Mon, 15 Jul 2019 07:19:52 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3e028158-e189-4cdd-85b2-85938225daec</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;The MBR checks if UICR.NRFFW[0] @ 0x10001014 contain a bootloader start address&amp;nbsp;on startup, then if the address is valid the MBR will branch execution to this address. Can you verify that&amp;nbsp;&amp;nbsp;&lt;span&gt;UICR.NRFFW[0] holds the address to your bootloader? You can use the memory window in SES or the following nrfjprog command to check: nrfjprog --memrd 0x10001014.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
[quote user=""]where the while(1); can be commented or uncommented and serves as the simplest possible test of whether the bootloader is executing correctly or not. When I flash the bootloader directly from SEGGER Embedded Studio everything seems to work as expected (at least apparently), when the while(1); is there everything gets stuck, when I comment it out I can see my application start so that suggests that the control is going MBR-&amp;gt;bootloader-&amp;gt;softdevice-&amp;gt;app.[/quote]
&lt;p&gt;Maybe it&amp;#39;s something with the debugger configuration. SES does for instance set the &lt;a href="http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dai0321a/BIHHDGBC.html"&gt;VTOR&amp;nbsp;&lt;/a&gt;&amp;nbsp;register to the start address of the project you&amp;#39;re building unless you build with&amp;nbsp; &amp;quot;NO_VTOR_CONFIG&amp;quot;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>