<?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>Run application with softdevice at custom address without bootloader</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/48255/run-application-with-softdevice-at-custom-address-without-bootloader</link><description>Hello, 
 I am currently working on nRF52832 custom board with SDK 15.2.0 and softdevice S132. I am using Segger Embedded Studio as IDE. 
 I would like to include an external library compiled to start at address 0x26000 and ends at address 0x30000. Unfortunately</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 06 Jun 2019 12:47:46 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/48255/run-application-with-softdevice-at-custom-address-without-bootloader" /><item><title>RE: Run application with softdevice at custom address without bootloader</title><link>https://devzone.nordicsemi.com/thread/191367?ContentTypeID=1</link><pubDate>Thu, 06 Jun 2019 12:47:46 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:793f2045-8661-4ec9-9950-cc640be9231d</guid><dc:creator>Bilal Bouguerra</dc:creator><description>&lt;p&gt;I figured it out myself:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;uicr_bootloader_start_address RX 0x10001014 0x4&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Was missing in the linker section placements segments.&lt;/p&gt;
&lt;p&gt;I also had to add this function:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;uint32_t nrf_dfu_mbr_init_sd(void)
{
    uint32_t ret_val;

    sd_mbr_command_t command =
    {
        .command = SD_MBR_COMMAND_INIT_SD
    };

    ret_val = sd_mbr_command(&amp;amp;command);

    return ret_val;
}&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Before ble_stack_init function in the initialization procedure.&lt;/p&gt;
&lt;p&gt;I also added:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;err_code = sd_softdevice_vector_table_base_set(0x30000);
APP_ERROR_CHECK(err_code);&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;At the beginning of&amp;nbsp;&lt;span&gt;ble_stack_init function.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;I hope this post will&amp;nbsp;avoid other people to spend hours on a similar case.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Kind regards.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Bilal&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>