<?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>Can the bootloader directly boot into the app instead of into the softdevice?</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/71213/can-the-bootloader-directly-boot-into-the-app-instead-of-into-the-softdevice</link><description>We have a standalone application with no SDK integration. We would like to have the possibility to do OTA Updates via BLE and maybe introduce BLE support later on. 
 So for the time being it would like not to use the Softdevice. Since this would mean</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 08 Feb 2021 09:15:57 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/71213/can-the-bootloader-directly-boot-into-the-app-instead-of-into-the-softdevice" /><item><title>RE: Can the bootloader directly boot into the app instead of into the softdevice?</title><link>https://devzone.nordicsemi.com/thread/293260?ContentTypeID=1</link><pubDate>Mon, 08 Feb 2021 09:15:57 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:506949b2-270b-449f-bc6a-481026620d0b</guid><dc:creator>Amanda Hsieh</dc:creator><description>&lt;p&gt;&lt;span&gt;Hi Rico,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;No, you can&amp;#39;t use the Softdevice SOC library when the softdevice is disabled or not enabled. In that case, just call the basic nrf driver functions which do the same thing, or write the registers directly. Many of those softdevice SoC functions only exist to guard shared resources when the SD is active and have one-line counterparts in the SDK.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;-Amanda H.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Can the bootloader directly boot into the app instead of into the softdevice?</title><link>https://devzone.nordicsemi.com/thread/293258?ContentTypeID=1</link><pubDate>Mon, 08 Feb 2021 09:02:18 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:cdbdd0bb-c503-4f88-a4fd-66257c1cef24</guid><dc:creator>rico</dc:creator><description>&lt;p&gt;No problem Amanda.&lt;/p&gt;
&lt;p&gt;I am using the nrfx_nvmc library. I am not using anything Softdevice related yet.&lt;/p&gt;
&lt;p&gt;I have checked myself and found that the flash protection is set from the bootloader and not the soft device. So I either had to disable the protection or use the application settings page for storing data in flash. Which is fine.&lt;/p&gt;
&lt;p&gt;So only the last question remains,&amp;nbsp;&lt;/p&gt;
&lt;div class="content full threaded-reply-content user-defined-markup"&gt;
&lt;div class="content"&gt;
&lt;p&gt;If I am NOT enabling the Softdevice, is it safe to NOT use the Softdevice SOC library? It isn&amp;#39;t clear from the docs if this should only be used if the softdevice is enabled, or all the time when a softdevice is present in flash.&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Can the bootloader directly boot into the app instead of into the softdevice?</title><link>https://devzone.nordicsemi.com/thread/293255?ContentTypeID=1</link><pubDate>Mon, 08 Feb 2021 08:45:42 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d5d00f12-0da0-438a-9f01-f48c2abab5ee</guid><dc:creator>Amanda Hsieh</dc:creator><description>&lt;p&gt;Hi Rico,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Sorry for the delay.&amp;nbsp;&lt;/p&gt;
[quote user="rico"]I need to write to flash in my application an I am receiving an hard fault if I use the nrfx library to do so,[/quote]
&lt;p&gt;If your application uses&amp;nbsp;&lt;span&gt;sd_&lt;em&gt;function&lt;/em&gt; in the nrfx library, y&lt;/span&gt;ou have to enable the softdevice to access the Softdevice&lt;span&gt;&amp;nbsp;SoC library.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;-Amanda H.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Can the bootloader directly boot into the app instead of into the softdevice?</title><link>https://devzone.nordicsemi.com/thread/292710?ContentTypeID=1</link><pubDate>Wed, 03 Feb 2021 14:09:53 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ba5061ce-f799-4846-a839-eac8a66a7329</guid><dc:creator>rico</dc:creator><description>&lt;p&gt;Thanks for your detailed response. That&amp;#39;s exactly what I would like to do. I have already tested the example but with version 7.0.2 Softdevice.&lt;/p&gt;
&lt;p&gt;You say that the bootloader does directly boot the app without booting the Softdevice?&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I need to write to flash in my application an I am receiving an hard fault if I use the nrfx library to do so, while booting the app through the bootloader. So it seems to me that the Softdevice has been involved and has placed memory protection on those areas. Or is this done via bootloader?&lt;/p&gt;
&lt;p&gt;Also does this mean I do NOT have to use the Softdevice SOC management if I am not enabling the Softdevice?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Can the bootloader directly boot into the app instead of into the softdevice?</title><link>https://devzone.nordicsemi.com/thread/292615?ContentTypeID=1</link><pubDate>Wed, 03 Feb 2021 08:30:51 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3c7b3132-07e3-44e7-b011-15607cc24d78</guid><dc:creator>Amanda Hsieh</dc:creator><description>&lt;p&gt;Hi Rico,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I think you want to use BLE DFU to update your&amp;nbsp;&lt;span&gt;standalone application with no SDK integration to the device. If so, y&lt;/span&gt;ou can use&amp;nbsp;&lt;a title="BLE Secure DFU Bootloader" href="https://infocenter.nordicsemi.com/topic/sdk_nrf5_v17.0.2/ble_sdk_app_dfu_bootloader.html?cp=7_1_4_4_0"&gt;BLE Secure DFU Bootloader&lt;/a&gt;,&amp;nbsp;&lt;span&gt;but the BLE DFU transport (see&amp;nbsp;&lt;a href="https://infocenter.nordicsemi.com/topic/sdk_nrf5_v17.0.2/lib_dfu_transport_ble.html"&gt;BLE&lt;/a&gt;) depends on the SoftDevice&lt;/span&gt;. For nRF52833, you can use&amp;nbsp;&amp;lt;InstallFolder&amp;gt;\examples\dfu\secure_bootloader\pca10100_s140_ble. You will see the device advertise as DfuTrag.&amp;nbsp; Also, see&amp;nbsp;&lt;a title="BLE Secure DFU Bootloader" href="https://infocenter.nordicsemi.com/topic/sdk_nrf5_v17.0.2/ble_sdk_app_dfu_bootloader.html?cp=7_1_4_4_0"&gt;BLE Secure DFU Bootloader&lt;/a&gt;.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;You can let the app start above the SD, and the bootloader will boot the app directly. If you use S140 v7.0.1 for the ble bootloader, the app should locate from the FLASH start 0x27000 and&amp;nbsp;&lt;span&gt;RAM Start&amp;nbsp;&lt;/span&gt;&lt;span&gt;0x20001678&lt;/span&gt;. To generate the package to update, you can use this command:&amp;nbsp;&lt;/p&gt;
&lt;p&gt;nrfutil pkg generate --application app.hex --hw-version 52 --sd-req 0x00 --application-version-string &amp;quot;0.5.0&amp;quot; --key-file priv.pem package.zip&lt;/p&gt;
&lt;p&gt;-Amanda H.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>