<?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 assert</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/8476/softdevice-assert</link><description>Hi,
What are the general causes of SDS assert in nrf51/52 ? Assuming that SW has been tested, is there something that could happen in the code that would cause the assertion ? Can some HW malfunction cause the assert and is it possible to track the issue</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Sun, 02 Aug 2015 16:28:50 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/8476/softdevice-assert" /><item><title>RE: Softdevice assert</title><link>https://devzone.nordicsemi.com/thread/30912?ContentTypeID=1</link><pubDate>Sun, 02 Aug 2015 16:28:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:631b9c40-2bd1-4a88-aaee-2199cc02e6ef</guid><dc:creator>Susheel Nuguru</dc:creator><description>&lt;p&gt;Softdevice could assert because&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Application accessing modules in hardware that are used by softdevice&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Application configuring/using interrupt  priorities that it is not suppose to use, breaking softdevice realtime requirements.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;trying to debug by breaking the execution of the code and stepping.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;application stack overflow corrupting softdevice stack memory&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;using Timeslot API and not ending the allocated session in time.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;These are the reasons cause by application for softdevice to assert and application has to fix it in its code. Any other reason that caused the assert might be a bad sign and could be a hint that it could be softdevice bug. When softdevice asserts it wont be able to come out of it as all the real time requirements for it are broken. System restart would bring it back, but if the system restart again leads to the same system state, then it will cause the same softdevice assert.
The main intention of assert handlers is debugging. But if you want to extend its usage by trying to dynamically handle softdevice assert, then why not, It could atleast be used to exit things gracefully.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>