<?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>custom bootloader and s132</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/68777/custom-bootloader-and-s132</link><description>Hi everybody, thanks for your time. 
 I try to develop an iot board with FOTA. To do so, I have a custom bootloader (address 0x00000000 in flash ) who perform the following task: 
 - Update multiple CPU via a CAN BUS 
 - Ensure the running software is</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 04 Jan 2021 10:12:13 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/68777/custom-bootloader-and-s132" /><item><title>RE: custom bootloader and s132</title><link>https://devzone.nordicsemi.com/thread/287169?ContentTypeID=1</link><pubDate>Mon, 04 Jan 2021 10:12:13 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7b60de04-0a94-45aa-815e-d26bf81f3c17</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Anthony,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Yes you are correct. It&amp;#39;s a standard to use this file if&amp;nbsp; you plan to use our bootloader or softdevice. The MBR is included inside the softdevice. So in any application that you flash the softdevice the MBR is also flashed.&amp;nbsp;&lt;br /&gt;We don&amp;#39;t provide MBR source code, the only purpose of the MBR is to support bootloader functionality and does interrupt vector forwarding.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: custom bootloader and s132</title><link>https://devzone.nordicsemi.com/thread/286495?ContentTypeID=1</link><pubDate>Wed, 23 Dec 2020 15:04:40 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b8d77b8b-1969-4395-9a89-02bf2f61dc08</guid><dc:creator>AMarch</dc:creator><description>[quote userid="2121" url="~/f/nordic-q-a/68777/custom-bootloader-and-s132/282076#282076"]If you are developing your own bootloader, I would suggest to locate it to the bottom of the flash, the same way as our bootloader in nRF5 SDK. The MBR when detecting a bootloader (an address in MBR page) will jump to the bootloader instead of executing the softdevice.&amp;nbsp;[/quote]
&lt;p&gt;So , something I am not catching by reading the &lt;span&gt;Bootloader and &lt;span class="resultofText"&gt;DFU&lt;/span&gt; modules sections of the Infocenter, is the MBR. &lt;br /&gt;If I may add, my additional questions here:&lt;br /&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:arial, helvetica, sans-serif;"&gt;The mbr is a fixed .hex file in the SDK , called&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:arial, helvetica, sans-serif;"&gt;mbr_nrf52_2.4.1_mbr.hex , we don&amp;#39;t make this file , anywhere , is that correct? This file has no source or project?&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:arial, helvetica, sans-serif;"&gt;From the open_bootloader makefile it appears I need to load this file loaded as well as the boot loader hex. &lt;br /&gt;So it it standard to just use this file? &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: custom bootloader and s132</title><link>https://devzone.nordicsemi.com/thread/282158?ContentTypeID=1</link><pubDate>Thu, 26 Nov 2020 17:13:32 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ec55360d-e1ca-47db-b1b5-cc9563f10ddd</guid><dc:creator>snooooopy</dc:creator><description>&lt;p&gt;Thank you for your time! This answere all my question.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: custom bootloader and s132</title><link>https://devzone.nordicsemi.com/thread/282076?ContentTypeID=1</link><pubDate>Thu, 26 Nov 2020 13:11:56 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:26e60a72-1fe3-497c-9ea4-899adc2dbe28</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Snoooooooooooooopy,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;- S132 uses absolute address so it can&amp;#39;t be re-located to other location from the designed place (starts right after the MBR (0x1000), which can be consider part of the softdevice and the MBR starts at address 0x0000000)&amp;nbsp;&lt;/p&gt;
&lt;p&gt;-&amp;nbsp;If you don&amp;#39;t change the version (minor version and major version) the flash requirement of the softdevice unchange. But the RAM requirement is depends on the application configuration (for example how many services, characteristics, size of characteristics etc) will affect the RAM requirement for the softdevice.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;- You meant to ensure the softdevice is signed before executing ? Yes you can develop that in your bootloader. We also have that implemented in our bootloader in SDK v17. You can have a look here:&amp;nbsp;&lt;a href="https://infocenter.nordicsemi.com/topic/sdk_nrf5_v17.0.2/lib_secure_boot.html?cp=7_1_3_5_0_8_1_2#secure_boot_mode_selection"&gt;https://infocenter.nordicsemi.com/topic/sdk_nrf5_v17.0.2/lib_secure_boot.html?cp=7_1_3_5_0_8_1_2#secure_boot_mode_selection&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;- You can read more about booting process in the documentation page above. The MBR starts first, then the bootloader, then the softdevice and then the application. The softdevice when initialized will handle the interrupts and only forward those interrupts available for the application to the application.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;If you are developing your own bootloader, I would suggest to locate it to the bottom of the flash, the same way as our bootloader in nRF5 SDK. The MBR when detecting a bootloader (an address in MBR page) will jump to the bootloader instead of executing the softdevice.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>