<?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>BLE Interrupts and Flash Operations</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/126108/ble-interrupts-and-flash-operations</link><description>Hi, 
 I use flash read operations at the BLE interrupts, because I need some of the stored informations. However, while I am doing another flash operations and BLE interrupt arrived at the same time the firmware stucks at the wait_for_flashready(&amp;amp;fstorage</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 12 Dec 2025 14:26:12 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/126108/ble-interrupts-and-flash-operations" /><item><title>RE: BLE Interrupts and Flash Operations</title><link>https://devzone.nordicsemi.com/thread/556884?ContentTypeID=1</link><pubDate>Fri, 12 Dec 2025 14:26:12 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3de9d11e-fed9-4eb3-962b-39c250f03071</guid><dc:creator>Elfving</dc:creator><description>&lt;p&gt;Are you using the bare-metal SDK, nRF 5 SDK, or plain bare-metal? I guess the solution is the same though, you need some sort of buffer or scheduler of tasks you can do outside the interrupt.&lt;/p&gt;
[quote user="cemile nur damnali"]But I am not sure about the problem&amp;#39;s real cause though.&amp;nbsp;[/quote]
&lt;p&gt;I guess the actual fault depends on the situation, but generally, BLE tasks are very time-sensitive and need to be handled right away. You can study this further by looking at the error you&amp;#39;ve gotten, but I believe the answer will be the same. It is worth noting that if you have something else you need to do that is equally time-sensitive, we&amp;#39;ve developed multi-core SoCs for this very reason - you can eg. get the extra core on the 54L to do this flash writing.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Regards,&lt;/p&gt;
&lt;p&gt;Elfving&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BLE Interrupts and Flash Operations</title><link>https://devzone.nordicsemi.com/thread/556870?ContentTypeID=1</link><pubDate>Fri, 12 Dec 2025 12:58:45 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9c8ed655-efce-4a72-9706-c0529f19137d</guid><dc:creator>cemile nur damnali</dc:creator><description>&lt;p&gt;Hi Elfving,&lt;/p&gt;
&lt;p&gt;Unfortunately I cannot use RTOS in my project. I want to know the real cause of the conflict to produce a real solution. I remove all of the flash read functions in the BLE interrupts and as I see there is no problem no more. But I am not sure about the problem&amp;#39;s real cause though.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;For short, did this conflict happened because of this state or was it due to something else?&lt;/p&gt;
&lt;p&gt;Sincerely,&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BLE Interrupts and Flash Operations</title><link>https://devzone.nordicsemi.com/thread/556865?ContentTypeID=1</link><pubDate>Fri, 12 Dec 2025 12:24:51 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:fb5e9aaf-793c-4403-a282-17ff2ce0c387</guid><dc:creator>Elfving</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Like you say, the BLE interrupts are very important and time sensitive, and needs to be done quickly. That you want to store something from these are understandable as well though,&amp;nbsp;but you should rather do this with a workqueue. &lt;a href="https://academy.nordicsemi.com/courses/nrf-connect-sdk-fundamentals/lessons/lesson-7-multithreaded-applications/topic/scheduler/"&gt;For more on how to make workqueues, see here.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Regards,&lt;/p&gt;
&lt;p&gt;Elfving&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>