<?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>Boot up without SoftDevice possible? (nRF Connect)</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/107467/boot-up-without-softdevice-possible-nrf-connect</link><description>Hello! 
 As part of our risk mitigation, we are interested to know whether during the boot up procedure, we can temporarily boot into a mode where the SoftDevice is fully disabled, with the customer application fully in control of the chip? 
 Within this</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 14 Feb 2024 13:55:02 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/107467/boot-up-without-softdevice-possible-nrf-connect" /><item><title>RE: Boot up without SoftDevice possible? (nRF Connect)</title><link>https://devzone.nordicsemi.com/thread/468840?ContentTypeID=1</link><pubDate>Wed, 14 Feb 2024 13:55:02 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:07bc5669-da46-4b85-857b-076590bb5fd2</guid><dc:creator>Edvin</dc:creator><description>[quote user="jose321"]For the samples that don&amp;#39;t use the radio, am I correct in assuming&amp;nbsp;&lt;span&gt;&lt;span style="background-color:rgba(230, 230, 230, 1);font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;mpsl_lib_uninit()&lt;/span&gt; will have to be called?&lt;/span&gt;[/quote]
&lt;p&gt;If you are not using the radio at all, you can avoid including any stacks by just not including them (CONFIG_BT=y, CONFIG_THREAD=y, and so on). If they are not included, then you don&amp;#39;t need to do anything. But if you want to include BT in your application, you need to set CONFIG_BT=y. By default, it is already enabled when you hit your main() function, so it is not possible to avoid it being enabled. If you want that option, you need to use MPSL, which then gives you the option to uninit itself.&lt;/p&gt;
&lt;p&gt;BR,&lt;br /&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Boot up without SoftDevice possible? (nRF Connect)</title><link>https://devzone.nordicsemi.com/thread/468796?ContentTypeID=1</link><pubDate>Wed, 14 Feb 2024 11:55:31 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:51bc2122-3b16-4bf7-b06b-d9fbc78ae768</guid><dc:creator>jose321</dc:creator><description>&lt;p&gt;Hello Edvin,&lt;/p&gt;
&lt;p&gt;Thanks for the response! Ok noted.&lt;/p&gt;
&lt;p&gt;For the samples that don&amp;#39;t use the radio, am I correct in assuming&amp;nbsp;&lt;span&gt;&lt;span style="background-color:#e6e6e6;font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;mpsl_lib_uninit()&lt;/span&gt; will have to be called?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;I will be trying this out in the coming few days, and I will feedback on how I get on!&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Thank you&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Jose&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Boot up without SoftDevice possible? (nRF Connect)</title><link>https://devzone.nordicsemi.com/thread/468795?ContentTypeID=1</link><pubDate>Wed, 14 Feb 2024 11:46:25 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e3002286-4d12-4570-af12-1371bece3621</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;As far as I know, there are no samples that are doing this. The typical use case in our samples is to either use the radio stack, or not at all. Also, most customers use a different application to run radio tests, and when it passes, they flash the final application to the nRF. And I don&amp;#39;t think they run the radio test on all devices. Just a selection.&lt;/p&gt;
&lt;p&gt;However, you should be able to just add a line saying CONFIG_MPSL_DYNAMIC_INTERRUPTS=y to your prj.conf.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Boot up without SoftDevice possible? (nRF Connect)</title><link>https://devzone.nordicsemi.com/thread/468707?ContentTypeID=1</link><pubDate>Tue, 13 Feb 2024 18:42:31 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:28a59196-5ad5-43f6-82e0-72fdc3cacf0f</guid><dc:creator>jose321</dc:creator><description>&lt;p&gt;Hi &lt;a href="https://devzone.nordicsemi.com/members/edvin-holmseth"&gt;Edvin&lt;/a&gt;&amp;nbsp;, thank you for the answer, that helps with better understanding.&lt;br /&gt;&lt;br /&gt;Regarding the suggestion of MPSL initialised at boot with CONFIG_MPSL_DYNAMIC_INTERRUPTS &amp;amp; calling mpsl_lib_uninit(),&amp;nbsp;can you point me to any examples which might be the closest starting point I can use to understand this further?&lt;/p&gt;
&lt;p&gt;Thank you&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Boot up without SoftDevice possible? (nRF Connect)</title><link>https://devzone.nordicsemi.com/thread/465086?ContentTypeID=1</link><pubDate>Fri, 19 Jan 2024 14:43:39 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2b0e1fbe-a7ff-45ab-b881-a1bdfb532962</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;1. Systick is not used in any of our SDKs.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;2. The link you provided is for the s132 softdevice, which is intended for the nRF52832. I believe you are looking for &amp;quot;&lt;a href="https://infocenter.nordicsemi.com/topic/sds_s140/SDS/s1xx/processor_avail_interrupt_latency/exception_mgmt_sd.html?cp=5_7_4_0_15_1"&gt;this Nordic document&lt;/a&gt;&amp;quot;.&lt;/p&gt;
&lt;p&gt;3. Yes, by default, if you enable the softdevice controller (using bt_enable()) then the softdevice controller in nRF Connect SDK will handle all interrupts, and forward most of them to the application. But if you use the mpsl library as described in the previous reply, and make sure to disable it before you enable the bluetooth stack, you will have direct access to all interrupts. Then you would need to enable both MPSL and the bluetooth stack when your self test is done.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Boot up without SoftDevice possible? (nRF Connect)</title><link>https://devzone.nordicsemi.com/thread/464918?ContentTypeID=1</link><pubDate>Thu, 18 Jan 2024 19:39:15 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b802e831-e9f0-45ee-96c6-ceb869e4796e</guid><dc:creator>jose321</dc:creator><description>&lt;p&gt;Hello, I dug around the nRF Connect examples &amp;amp; also the nRF5 SDK, just to understand the interrupt priorities more.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;1. In both, it appears that SysTick takes a higher priority. However I am confused because I thought the SoftDevice always took a higher priority? (see header files attached below with interrupt priorities listed)&lt;/p&gt;
&lt;p&gt;2. For the header file for nRF5 SDK, the interrupts don&amp;#39;t match the values given in &lt;a href="https://infocenter.nordicsemi.com/index.jsp?topic=%2Fsds_s132%2FSDS%2Fs1xx%2Fprocessor_avail_interrupt_latency%2Fexception_mgmt_sd.html"&gt;this&lt;/a&gt;&amp;nbsp;Nordic document (the image in the original post).&amp;nbsp;Is that because the interrupts are configured after&amp;nbsp;boot, after these values are initialised? And is that the same for nRF Connect SDK?&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;3. I also found this document- &lt;a id="" href="https://infocenter.nordicsemi.com/topic/sds_s132/SDS/s1xx/processor_avail_interrupt_latency/interrupt_forwarding_to_application.html"&gt;https://infocenter.nordicsemi.com/topic/sds_s132/SDS/s1xx/processor_avail_interrupt_latency/interrupt_forwarding_to_application.html&lt;/a&gt;. This says that the SoftDevice (from nRF5 SDK) always gets the interrupts and then chooses what to forward to the application. Is it the same with nRF Connect SDK?&lt;/p&gt;
&lt;p&gt;Thank you&lt;/p&gt;
&lt;p&gt;Jose&lt;/p&gt;
&lt;p&gt;The header files I refer to are attached below-&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/nrf5340_5F00_application-from-nRF-Connect-SDK-2.5.1.h"&gt;devzone.nordicsemi.com/.../nrf5340_5F00_application-from-nRF-Connect-SDK-2.5.1.h&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/nrf52-from-nRF5-SDK17.1.0.h"&gt;devzone.nordicsemi.com/.../nrf52-from-nRF5-SDK17.1.0.h&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/nrf52840-from-nRF-Connect-SDK-2.5.1.h"&gt;devzone.nordicsemi.com/.../nrf52840-from-nRF-Connect-SDK-2.5.1.h&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Boot up without SoftDevice possible? (nRF Connect)</title><link>https://devzone.nordicsemi.com/thread/464900?ContentTypeID=1</link><pubDate>Thu, 18 Jan 2024 18:07:58 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:793e720c-967e-43aa-930c-f966f371e094</guid><dc:creator>jose321</dc:creator><description>&lt;p&gt;&amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/members/edvin-holmseth"&gt;Edvin&lt;/a&gt;&amp;nbsp;, thank you for getting back to me! I am checking this out in more detail. Probably not, but just wondering if there are any example codes that touch upon this, or I can use for inspiration?&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Quick couple of questions-&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Does your comment apply equally to nRF Connect based operation in nRF52 as well as nRF53?&amp;nbsp;&lt;/li&gt;
&lt;li&gt;When I see the MPSL library, it mentions interrupts like&amp;nbsp;&lt;span&gt;RADIO_IRQn &amp;amp;&amp;nbsp;RTC0_IRQn (e.g. &lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/libraries/mpsl/mpsl_lib.html)"&gt;developer.nordicsemi.com/.../mpsl_lib.html)&lt;/a&gt;. Where can I get a complete list of these interrupts &amp;amp; also ideally the default priorities used within nRF Connect?&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span&gt;Thank you!&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Jose&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Boot up without SoftDevice possible? (nRF Connect)</title><link>https://devzone.nordicsemi.com/thread/464630?ContentTypeID=1</link><pubDate>Wed, 17 Jan 2024 14:09:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4f5fcfdd-b6bb-4805-ba65-9465d997318b</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;You can use MPSL, and this will be initialized on boot (before you hit your main() function). However, you can use CONFIG_MPSL_DYNAMIC_INTERRUPTS, and call mpsl_lib_uninit() before you call bt_enable. This way you will get access to all interrupts, as if there was no softdevice at all. Is that something that you can utilize?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>