<?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>About MBR area of softdevice</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/10974/about-mbr-area-of-softdevice</link><description>Hi,
I&amp;#39;m using s130 as softdevice for nrf51822. I program the softdevice with the official s130 hex file. According to the hex file, there is no data at address from 0x7c0 to 0x1000. This is the reserved area for MBR. So I don&amp;#39;t want to touch this address</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 28 Jan 2016 23:30:20 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/10974/about-mbr-area-of-softdevice" /><item><title>RE: About MBR area of softdevice</title><link>https://devzone.nordicsemi.com/thread/41036?ContentTypeID=1</link><pubDate>Thu, 28 Jan 2016 23:30:20 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c74d745d-8f44-4e98-99dd-1c5784b6fc7d</guid><dc:creator>John Bettendorff</dc:creator><description>&lt;p&gt;Well I don&amp;#39;t know this for a fact, but what I &amp;quot;assumed&amp;quot; is going on is the MBR is using some of that space for NV storage. Nordic claims that the MBR will make sure a boot loader or soft device is completely copied over. For it to do that, the MBR is going to need to save some information in case the device loses power during the operation. My guess is the last 1K of memory at 0xc00 to 0xFFF is probably used for this purpose. My guess is when you issue the MBR command to copy the soft device, the MBR probably erases that 1K of memory, and then writes some information regarding the copy it is about to do. Then it copies the memory. If there is garbage in that section then when the MBR boots up it probably thinks it needs to copy the soft device and since it is garbage it hangs somewhere.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: About MBR area of softdevice</title><link>https://devzone.nordicsemi.com/thread/41032?ContentTypeID=1</link><pubDate>Wed, 23 Dec 2015 03:31:02 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:94c4321e-6042-476b-a56c-d0447b01ef24</guid><dc:creator>leibin</dc:creator><description>&lt;p&gt;Hi Håkon,
Thanks for your reply!
But looks like I still haven&amp;#39;t got the answer for my confuse.
What kind of data should be programmed into this higher area of MBR?
The flash tool programs the flash through SWD interface according to the hex file, and will ignore this area since there is no indication for it in hex file. But it can&amp;#39;t work if there is some old data in it, we have to erase it or set it to all 0x0 as I tested. If there is some requirement for setting this area to some special values(all 0 or 0xFF), it should be indicated in hex file. Why the hex file ignore it?
Even if NVMC peripheral could write to this area, it should just erase this area and write new data. The  old data should not effect.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: About MBR area of softdevice</title><link>https://devzone.nordicsemi.com/thread/41035?ContentTypeID=1</link><pubDate>Tue, 22 Dec 2015 12:05:44 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:bce7dcae-cfe4-4b3a-8adc-45c0941e5885</guid><dc:creator>H&amp;#229;kon Alseth</dc:creator><description>&lt;p&gt;The MBR handles flash operations, which means that it can write to any location of the chip. Even if there is no indication from the .hex file that there should be data in that section; it may still write something to the higher area using the NVMC peripheral.
I would strongly recommend not altering the MBR or the softdevices address area in general.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: About MBR area of softdevice</title><link>https://devzone.nordicsemi.com/thread/41034?ContentTypeID=1</link><pubDate>Tue, 22 Dec 2015 11:21:08 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:007d31d3-4445-439e-9787-84eb7e46b28a</guid><dc:creator>leibin</dc:creator><description>&lt;p&gt;The first 0x1000 bytes of softdevice is reserved for MBR. Since the size of MBR is 0x7c0 and  is smaller than 0x1000 bytes, there is some useless area(from address 0x7c0 to 0xFFF). Theoretically this area can be any data, since it is useless area. But my test result is that if I set this area with random data the softdevice can&amp;#39;t work fine, and it has to be set to all 0xFF or 0x0. I want to know the rootcause for it.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: About MBR area of softdevice</title><link>https://devzone.nordicsemi.com/thread/41033?ContentTypeID=1</link><pubDate>Tue, 22 Dec 2015 11:16:46 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:25dfd89d-de37-49d6-905e-8c278368705d</guid><dc:creator>leibin</dc:creator><description>&lt;p&gt;Hi,
I program some invalid binary file to the FLASH to override the softdevice area firstly. Then I  try to program the softdevice hex file into the flash. When programming the softdevice I just ignore the reserved area from address 0x7c0 to 0xFFF according to the s130 hex file. Then this area(0x7c0 to 0xFFF) will keep the old invalid data. Then I program and run my application with this softdevice. It can&amp;#39;t work fine and get stuck at the address   0x596.
I tried to erase the reserved area(from address 0x7c0 to 0xFFF) to 0xFF, or set this area to all 0x0, then everything works fine.
Theoretically this area should not effect anything since it is useless area according to the s130 hex file. The hex file has ignored this area. But from my test, looks like this area has effected the running of the softdevice. Why can this happen?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: About MBR area of softdevice</title><link>https://devzone.nordicsemi.com/thread/41031?ContentTypeID=1</link><pubDate>Tue, 22 Dec 2015 10:19:08 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:10179339-f7ec-48e2-87ee-97fd6364a4c8</guid><dc:creator>H&amp;#229;kon Alseth</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;This area should not be touched.&lt;/p&gt;
&lt;p&gt;Could you provide more detailed info on what operation you&amp;#39;re performing?&lt;/p&gt;
&lt;p&gt;Cheers
Håkon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>