<?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>FreeRTOS 8.2.1 for the nRF51 SDK 8 - is the interrupt handling ok?</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/7631/freertos-8-2-1-for-the-nrf51-sdk-8---is-the-interrupt-handling-ok</link><description>I just published my port of a new FreeRTOS operating system version for the nRF51x22 and the nRF51 SDK 8.x.x to github.com/.../freertos_nrf51 , the README is copied below. 
 It seems to work without problems for me. I red everything I found in this forum</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 28 Sep 2015 13:37:54 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/7631/freertos-8-2-1-for-the-nrf51-sdk-8---is-the-interrupt-handling-ok" /><item><title>RE: FreeRTOS 8.2.1 for the nRF51 SDK 8 - is the interrupt handling ok?</title><link>https://devzone.nordicsemi.com/thread/27220?ContentTypeID=1</link><pubDate>Mon, 28 Sep 2015 13:37:54 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b0e009d9-4ec2-48ce-837f-d2f4f25e5826</guid><dc:creator>Kate</dc:creator><description>&lt;p&gt;I also tried this Pertti Kasanen&amp;#39;s port. I used earlier 8.0.1 port but with both i have issues heavy interrupt load. I use Nordic spi_master.c and I just have FreeRTOS wrapper around it that signals semaphore when SPI transfer is done. It crashes randomly after thousands of SPI transfers. It looks that there is some race condition and when interrupt happens inside of small window, crash happens.&lt;/p&gt;
&lt;p&gt;Boths of the FreeRTOS pors use sd_nvic_critical_region_enter and exit calls that are internally using svc-call to softdevice. Interupt handlers use  portYIELD_FROM_ISR( xHigherPriorityTaskWoken ); macro that sets pendSVC flag to schedule context switch&lt;/p&gt;
&lt;p&gt;There is something odd because about similar drivers works without problems in STM32.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: FreeRTOS 8.2.1 for the nRF51 SDK 8 - is the interrupt handling ok?</title><link>https://devzone.nordicsemi.com/thread/27219?ContentTypeID=1</link><pubDate>Thu, 03 Sep 2015 04:19:07 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ca15b206-ca35-4cbf-adf7-828a1a8fe86c</guid><dc:creator>Pertti Kasanen</dc:creator><description>&lt;p&gt;There is an updated version in github. I managed to sort it out and the newer implementation seems to work reliably with FreeRTOS timers, BLE stack advertising/connected, relatively high BLE traffic and several peripherals.&lt;/p&gt;
&lt;p&gt;Also the stack overflow detection now works, I&amp;#39;m running it with about 5 kB heap memory + the stack/queues configured for the FreeRTOS tasks. I have used the port with both nRF_SDK_8 and nRF_SDK_9.&lt;/p&gt;
&lt;p&gt;Please try if it works for you and let me know it there are any problems.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: FreeRTOS 8.2.1 for the nRF51 SDK 8 - is the interrupt handling ok?</title><link>https://devzone.nordicsemi.com/thread/27218?ContentTypeID=1</link><pubDate>Wed, 02 Sep 2015 18:37:35 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:597574ed-9c4d-4b5b-b8ee-cd2b56cb7a68</guid><dc:creator>Henrik</dc:creator><description>&lt;p&gt;Nice work Pertti!
Did you get any second opinion from the Nordic people regarding the interrupt handling?  (bump bump up the feed to the support team)&lt;/p&gt;
&lt;p&gt;We are about to port an existing FreeRTOS application to nRF, and using this port could be really helpful.&lt;/p&gt;
&lt;p&gt;// Henrik&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>