<?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>SOFTDEVICE: ASSERTION FAILED PC=0x00017826</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/82517/softdevice-assertion-failed-pc-0x00017826</link><description>Hi,i&amp;#39;m using NRF52840 as BLE central to develop our products,the enviroment is: 
 SDK:16.0 
 SD:s140_nrf52_7.0.1 
 also using the third party RTOS:RT-Thread 
 what causes this softdevice assertion fail?</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 13 Dec 2021 05:23:50 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/82517/softdevice-assertion-failed-pc-0x00017826" /><item><title>RE: SOFTDEVICE: ASSERTION FAILED PC=0x00017826</title><link>https://devzone.nordicsemi.com/thread/343049?ContentTypeID=1</link><pubDate>Mon, 13 Dec 2021 05:23:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c8b9b87e-98ca-4fc0-98c8-8e5cbf186f9c</guid><dc:creator>Dantes.gan</dc:creator><description>&lt;p&gt;&lt;span&gt;I think the problem has been solved.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Thank you!&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SOFTDEVICE: ASSERTION FAILED PC=0x00017826</title><link>https://devzone.nordicsemi.com/thread/342900?ContentTypeID=1</link><pubDate>Fri, 10 Dec 2021 11:33:52 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:10f69348-ff26-4f1a-ae33-955124b9d663</guid><dc:creator>Dantes.gan</dc:creator><description>&lt;p&gt;&lt;span&gt;I set the value of register BASEPRI to 0x40,instead the original disabling interrupts function.testing&amp;nbsp;on the weekend,I&amp;#39;ll let you know the test results next Monday.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Best regards&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Dantes&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SOFTDEVICE: ASSERTION FAILED PC=0x00017826</title><link>https://devzone.nordicsemi.com/thread/342806?ContentTypeID=1</link><pubDate>Fri, 10 Dec 2021 05:37:32 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d3ec18ca-acb2-482b-87fb-d493e52dfd0c</guid><dc:creator>Dantes.gan</dc:creator><description>&lt;p&gt;Hi&lt;/p&gt;
&lt;p&gt;RTOS kernel disable global interrupt just a few&amp;nbsp;&lt;span&gt;microseconds,do you mean&amp;nbsp;even that short time is not allowed?&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SOFTDEVICE: ASSERTION FAILED PC=0x00017826</title><link>https://devzone.nordicsemi.com/thread/342793?ContentTypeID=1</link><pubDate>Thu, 09 Dec 2021 20:38:30 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f3a6b303-c1e8-4627-af57-b9304827be77</guid><dc:creator>ovrebekk</dc:creator><description>&lt;p&gt;Hi&amp;nbsp;&lt;/p&gt;
[quote user="Dantes.gan"]6.Only disable global interrupt when scheduling by RTOS kernel.[/quote]
&lt;p&gt;Most likely this is the issue. The SoftDevice is not designed to allow you to disable or delay its interrupts.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The SoftDevice comes with its own functions for disabling all non-SoftDevice interrupts which you should use instead, called &lt;a href="https://infocenter.nordicsemi.com/topic/com.nordic.infocenter.s140.api.v7.3.0/group___n_r_f___n_v_i_c___f_u_n_c_t_i_o_n_s.html?cp=4_7_4_1_2_9_2_1#gac3d990530890d81f388de7d507e170b8"&gt;sd_nvic_critical_region_enter()&lt;/a&gt; and &lt;a href="https://infocenter.nordicsemi.com/topic/com.nordic.infocenter.s140.api.v7.3.0/group___n_r_f___n_v_i_c___f_u_n_c_t_i_o_n_s.html?cp=4_7_4_1_2_9_2_2#ga7bcafdd2cd546560174d688fdbeda7dd"&gt;sd_nvic_critical_region_exit()&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Could you try to use these functions instead in your RTOS kernel?&lt;/p&gt;
&lt;p&gt;Best regards&lt;br /&gt;Torbjørn&amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SOFTDEVICE: ASSERTION FAILED PC=0x00017826</title><link>https://devzone.nordicsemi.com/thread/342619?ContentTypeID=1</link><pubDate>Thu, 09 Dec 2021 03:13:53 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:beba3c44-51c4-4ccb-a063-df382ab19f16</guid><dc:creator>Dantes.gan</dc:creator><description>&lt;p&gt;Thank you for your reply.&lt;/p&gt;
&lt;p&gt;1.It happen&amp;nbsp;&lt;span&gt;on rare occasions.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;2.It happened by accident,sometimes when scanning, sometimes when receiving and transmitting data.sometimes it takes us hours to&amp;nbsp;appear again.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;3.I checked all the interrupts in use:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;IRQ&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;priority&lt;/p&gt;
&lt;p&gt;-----------------------------------------------&lt;/p&gt;
&lt;p&gt;SysTick_IRQn&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;7&lt;/p&gt;
&lt;p&gt;POWER_CLOCK_IRQn&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;4&lt;/p&gt;
&lt;p&gt;RADIO_IRQn&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0&lt;/p&gt;
&lt;p&gt;UARTE0_UART0_IRQn&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 6&lt;/p&gt;
&lt;p&gt;GPIOTE_IRQn&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 6&lt;/p&gt;
&lt;p&gt;SAADC_IRQn&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;6&lt;/p&gt;
&lt;p&gt;TIMER0_IRQn&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0&lt;/p&gt;
&lt;p&gt;RTC0_IRQn&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0&lt;/p&gt;
&lt;p&gt;SWI2_EGU2_IRQn&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;6&lt;/p&gt;
&lt;p&gt;SWI5_EGU5_IRQn&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;4&lt;/p&gt;
&lt;p&gt;MWU_IRQn&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1&lt;/p&gt;
&lt;p&gt;I2S_IRQn&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 5&lt;/p&gt;
&lt;p&gt;UARTE1_IRQn&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;6&lt;/p&gt;
&lt;p&gt;The&amp;nbsp;&lt;span&gt;RTOS use&amp;nbsp;SysTick_IRQn for&amp;nbsp;scheduling.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;4.I&amp;#39;m not using timeslot API.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;5.Using&amp;nbsp;fstorage API to read/write bonded peer address.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;6.Only disable global interrupt when scheduling by RTOS kernel.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SOFTDEVICE: ASSERTION FAILED PC=0x00017826</title><link>https://devzone.nordicsemi.com/thread/342540?ContentTypeID=1</link><pubDate>Wed, 08 Dec 2021 12:42:54 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5c25c7be-2709-4007-af50-b33950366176</guid><dc:creator>ovrebekk</dc:creator><description>&lt;p&gt;Hi&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I will check with the stack team what this particular assert could be caused by.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;In the mean time, can you give me a bit more information about the problem:&lt;/p&gt;
&lt;p&gt;1) Does it happen consistently, or only on rare occasions?&lt;/p&gt;
&lt;p&gt;2) Does it happen when you do something in particular in the application, such as establish a BLE connection, send some data, or similar?&lt;/p&gt;
&lt;p&gt;Also, you mention that you use an RTOS. The SoftDevice requires exclusive access to interrupt priorities 0, 1, 4 and 5, and if any other parts of the system use these interrupt priorities then the SoftDevice could crash.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Can you confirm whether or not you have any other interrupts enabled using these priorities?&amp;nbsp;&lt;br /&gt;When using an RTOS it is quite common for the RTOS to use one of the highest priority interrupts to handle its scheduling.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Best regards&lt;br /&gt;Torbjørn&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>