<?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>USB without Softdevice Issue</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/48784/usb-without-softdevice-issue</link><description>I ported the nRF52840 USB driver to work with Mbed-OS&amp;#39;s USB Device stack. When building without the soft device, the following macros are removed from the compilation: 
 
 Now, the USB code is somehow affected. It appears to timeout after a few endpoint</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 21 Jun 2019 14:12:25 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/48784/usb-without-softdevice-issue" /><item><title>RE: USB without Softdevice Issue</title><link>https://devzone.nordicsemi.com/thread/194141?ContentTypeID=1</link><pubDate>Fri, 21 Jun 2019 14:12:25 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:cd525649-2d9d-4ba4-92b3-996fdb314ee7</guid><dc:creator>George Beckstien</dc:creator><description>&lt;p&gt;Turns out it was an issue with the critical section API used by Nordic drivers when the soft device is disabled (by setting &amp;quot;SOFTDEVICE_PRESENT&amp;quot; to 0).&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;The Nordic drivers were switched to use an internal critical section API rather than the same one Mbed was using. So the Nordic drivers would unexpectedly reenable global interrupts while Mbed expected to be in a critical section still.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: USB without Softdevice Issue</title><link>https://devzone.nordicsemi.com/thread/193913?ContentTypeID=1</link><pubDate>Thu, 20 Jun 2019 14:13:44 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:813db1a6-d92a-4966-ab6d-a340d2472977</guid><dc:creator>George Beckstien</dc:creator><description>&lt;p&gt;Hi Bjorn, it isn&amp;#39;t related to the Cordio BLE stack as I am building without it enabled. Mainly what I am asking is:&lt;/p&gt;
&lt;p&gt;What changes occur to interrupt handling when the soft device is present vs absent? Is interrupt latency decreased when it is absent? Can you give me your thoughts on why the USB stack may be affected by removing the softdevice?&lt;/p&gt;
&lt;p&gt;It appears the issue is being caused when an endpoint write is triggered on a non-control endpoint. The transfer complete interrupt is occurring before the USB stack has internally updated its state to reflect that a write operation was triggered. This was somehow not occurring before removing the soft device.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: USB without Softdevice Issue</title><link>https://devzone.nordicsemi.com/thread/193856?ContentTypeID=1</link><pubDate>Thu, 20 Jun 2019 10:16:04 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:38f711c8-b903-455c-9637-836d2daf0a74</guid><dc:creator>Bj&amp;#248;rn Kvaale</dc:creator><description>&lt;p&gt;Unfortunately, it seems like this issue is related to mbed-os &amp;amp; not the 52840. As this seems to be related to the Cordio BLE stack, I would continue the discussion on the github issue you created. They should be able to help you more than we can.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>