<?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 and SD dependencies</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/24841/mbr-and-sd-dependencies</link><description>Hi, 
 This is a follow-on question to the following: link 
 I have similar questions and would like further clarification. The MBR and the SD are packaged/delivered together in the same binary. 
 
 If there is no dependency, then why package them</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 01 Sep 2017 06:17:03 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/24841/mbr-and-sd-dependencies" /><item><title>RE: MBR and SD dependencies</title><link>https://devzone.nordicsemi.com/thread/97829?ContentTypeID=1</link><pubDate>Fri, 01 Sep 2017 06:17:03 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8829d12c-63ca-4b54-b7b7-ba75039e0ce0</guid><dc:creator>endnode</dc:creator><description>&lt;p&gt;Hi JeanMBoones,&lt;/p&gt;
&lt;p&gt;If you read the answer correctly it says MBR and SD versions are independent meaning and only to certain extend (MBR major version). So you can load one MBR+SD combination and upgrade SD later (until it is still compatible with this particular MBR major version number). However SD as compiled won&amp;#39;t work with MBR or to be more specific it won&amp;#39;t work without some piece of code which forwards interrupt vector table and program counter to proper memory addresses (and that piece of code must sit at offset 0x00000000 because that&amp;#39;s where nRF5x ARM chips look for code to execute after reset!).&lt;/p&gt;
&lt;p&gt;So the answers to your questions are:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;SD comes with MBR because you need to flash MBR in order to have SD (and then you APP FW on top of it) working.&lt;/li&gt;
&lt;li&gt;As said nRF5x chips boot code at address 0x00000000 so MBR only provides quick jump to proper region at the start of SD (and then MBR also provides small set of basic unctions which are available to call if you want to manipulate with flash on top of it, e.g. erase and rewrite all sectors including those occupied by the stack).&lt;/li&gt;
&lt;/ol&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>