<?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 I2C Bootloader to Flash Softdevice</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/40139/custom-i2c-bootloader-to-flash-softdevice</link><description>I am working on a custom I2C bootloader for nrf52832 using SDK 14.2.0. Currently, the bootloader can flash the application code very well. But I have no idea how to flash the softdevice through my bootloader. In my bootloader code, I do not use anything</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 05 Nov 2018 12:56:00 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/40139/custom-i2c-bootloader-to-flash-softdevice" /><item><title>RE: Custom I2C Bootloader to Flash Softdevice</title><link>https://devzone.nordicsemi.com/thread/155957?ContentTypeID=1</link><pubDate>Mon, 05 Nov 2018 12:56:00 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e37a3bf9-9fc8-46b1-98e5-cb43c68a1598</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;The master boot record occupies the first page in flash (0x0 - 0x1000) and must not be erased during DFU as&amp;nbsp;it is in charge of forwarding interrupts/execution to the bootloader or the softdevice (&lt;a href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.s132.sds/dita/softdevices/s130/mem_usage/mem_resource_map_usage.html?cp=2_3_1_0_13_0"&gt;memory layout&lt;/a&gt;). It should work if you only erase the pages between address 0x1000 and application start.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Some additional notes:&lt;/p&gt;
&lt;p&gt;-&amp;nbsp;SDK 15.2.0 secure UART bootloader uses a standalone version of the MBR which removes the need for having a&amp;nbsp;softdevice present. This allows you to free up some space as long as&amp;nbsp;your application/bootloader is not dependent on a&amp;nbsp;softdevice being present.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;- All softdevice images are distributed with the MBR included, but this section is automatically removed by nrfutil when it generates the DFU distribution image. If you are converting the hex files to binary yourself, make sure to omit the MBR section.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;- Another alternative to creating a custom bootloader is to implement a custom i2c transport&amp;nbsp;to&amp;nbsp;our existing bootloader example.&amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>