<?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>About SoftDevice interrupt occupancy time</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/109624/about-softdevice-interrupt-occupancy-time</link><description>Hello. In the BLE software under development, the device uses nRF52840 and uses s140 v7.2.0. 
 Please tell me the processing time for interrupts used in SoftDevice. 
 
 According to the SoftDevice specifications, there are three types of interrupt levels</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 02 Apr 2024 06:47:28 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/109624/about-softdevice-interrupt-occupancy-time" /><item><title>RE: About SoftDevice interrupt occupancy time</title><link>https://devzone.nordicsemi.com/thread/476435?ContentTypeID=1</link><pubDate>Tue, 02 Apr 2024 06:47:28 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7bb989af-a216-428f-9824-9c003e245512</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
[quote user="hiroiwas"]Priority 0 is written as SoftDevice timing critical, I assume this refers to the timeslot API using the timer 0 peripheral and the transmit/receive interrupts from the wireless peripheral.[/quote]
&lt;p&gt;The timeslot itself is not running in an interrupt context (&lt;a title="Multiprotocol support" href="https://infocenter.nordicsemi.com/topic/sds_s140/SDS/s1xx/multiprotocol_operation/multiprotocol_support.html?cp=5_7_4_0_8"&gt;Multiprotocol support&lt;/a&gt;), but TIMER0 and RADIO are assigned the highest interrupt priority (&amp;#39;0&amp;#39;).&lt;/p&gt;
[quote user="hiroiwas"]Priority 1 is written as SoftDevice memory protection, so I understand that this is a fail-safe purpose that will not occur as long as the memory used by SD and APP are separated.[/quote]
&lt;p&gt;Yes, the memory protection mechansim will invoke the app error handler if the app&amp;nbsp;attempts to access memory (RAM or peripheral) reserved to the Softdevice.&amp;nbsp;&lt;a title="System on Chip resource requirements" href="https://infocenter.nordicsemi.com/topic/sds_s140/SDS/s1xx/sd_resource_reqs/sd_resource_reqs.html?cp=5_7_4_0_6"&gt;System on Chip resource requirements&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
[quote user="hiroiwas"]Priority 4 is for API calls and non-time-critical processing, but do all SD APIs go through this interrupt?&lt;br /&gt;Also, what exactly does non-time-critical processing mean?&lt;br /&gt;I believe that this is a callback event from SD via an observer.[/quote]
&lt;p&gt;Yes, all SD APIs are implented as SVCs (&lt;a title="Application programming interface" href="https://infocenter.nordicsemi.com/topic/sds_s140/SDS/s1xx/overview/api_overview.html?cp=5_7_4_0_3"&gt;Application programming interface&lt;/a&gt;)&lt;/p&gt;
[quote user="hiroiwas"]I believe that this is a callback event from SD via an observer.[/quote]
&lt;p&gt;The Softdevice events are reported to the application via the&amp;nbsp;SD_EVT_IRQn, which is an application interrupt with priority 6.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Vidar&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: About SoftDevice interrupt occupancy time</title><link>https://devzone.nordicsemi.com/thread/476271?ContentTypeID=1</link><pubDate>Thu, 28 Mar 2024 07:50:40 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2b5a90d9-b0fe-45f9-9299-88ec98efb054</guid><dc:creator>hiroiwas</dc:creator><description>&lt;p&gt;Hello, Vidar.&lt;/p&gt;
&lt;p&gt;Listed below, Is my recognize correct?&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Priority 0 is written as SoftDevice timing critical, I assume this refers to the timeslot API using the timer 0 peripheral and the transmit/receive interrupts from the wireless peripheral.&lt;/li&gt;
&lt;li&gt;Priority 1 is written as SoftDevice memory protection, so I understand that this is a fail-safe purpose that will not occur as long as the memory used by SD and APP are separated.&lt;/li&gt;
&lt;li&gt;Priority 4 is for API calls and non-time-critical processing, but do all SD APIs go through this interrupt?&lt;br /&gt;Also, what exactly does non-time-critical processing mean?&lt;br /&gt;I believe that this is a callback event from SD via an observer.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Best regards.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: About SoftDevice interrupt occupancy time</title><link>https://devzone.nordicsemi.com/thread/475613?ContentTypeID=1</link><pubDate>Mon, 25 Mar 2024 11:20:44 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:28d5a886-d70a-4cfa-93be-4063ee7c66f6</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;The interrupt processing times for various Bluetooth events are documented in the&amp;nbsp;&lt;a title="Bluetooth Low Energy processor usage patterns" href="https://infocenter.nordicsemi.com/topic/sds_s140/SDS/s1xx/processor_avail_interrupt_latency/ble_usage_patterns.html?cp=5_7_4_0_15_2_2"&gt;Bluetooth Low Energy processor usage patterns&lt;/a&gt;&amp;nbsp;section of the Softdevice specification.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Vidar&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>