<?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>Several problems with the qspi library function</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/50292/several-problems-with-the-qspi-library-function</link><description>Hi,Master: 
 1.The timing of the underlying nrfx_qspi_write(...) function is:a. Send 05 to check if the wip bit is 0. (Here, if wip is not 0, will it always detect until wip is 0?) 
 2. Is the r egister ADDRCONF used for what purpose? 
 
 3.the nrfx_qspi_init</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 31 Jul 2019 07:13:13 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/50292/several-problems-with-the-qspi-library-function" /><item><title>RE: Several problems with the qspi library function</title><link>https://devzone.nordicsemi.com/thread/201414?ContentTypeID=1</link><pubDate>Wed, 31 Jul 2019 07:13:13 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2001b146-f6d3-4aad-bdaa-d1522f9d98c2</guid><dc:creator>Simonr</dc:creator><description>&lt;p&gt;Hi&lt;/p&gt;
&lt;p&gt;1. The nrfx_qspi_write() function does not check the WIP bit and will return NRFX_ERROR_BUSY if the WIP is set. I just had to check with one of our experts before I could say for certain. You will have to add code yo check the WIP bit before calling this function yourself.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Simon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Several problems with the qspi library function</title><link>https://devzone.nordicsemi.com/thread/201267?ContentTypeID=1</link><pubDate>Tue, 30 Jul 2019 13:26:48 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d70eee2d-97cb-45c3-bf84-3393db9cdd98</guid><dc:creator>outspace</dc:creator><description>&lt;p&gt;Hi, Simon&lt;/p&gt;
&lt;p&gt;1.&amp;quot;you want to know whether the nrfx_qspi_write() function will check and wait for the WIP (write-in-progress) to be done (WIP bit set to 0) before it starts whenever it is called, am I correct?&amp;quot; -Yes&lt;/p&gt;
&lt;p&gt;2.I raised this question separately, and someone helped answer it.link:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/50290/qspi-interrupt-hangs-caused-by-power-consumption-problems"&gt;https://devzone.nordicsemi.com/f/nordic-q-a/50290/qspi-interrupt-hangs-caused-by-power-consumption-problems&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Tanks&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Several problems with the qspi library function</title><link>https://devzone.nordicsemi.com/thread/201226?ContentTypeID=1</link><pubDate>Tue, 30 Jul 2019 11:52:51 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d2e4e260-aa49-405a-b3d5-f2bcc1fe1e8e</guid><dc:creator>Simonr</dc:creator><description>&lt;p&gt;Hi&lt;/p&gt;
&lt;p&gt;1. Just to confirm, you want to know whether the nrfx_qspi_write() function will check and wait for the WIP (write-in-progress) to be done (WIP bit set to 0) before it starts whenever it is called, am I correct? Or are you saying that you&amp;#39;ve made a change to the code to try and make it that way?&lt;/p&gt;
&lt;p&gt;2. It seems like you&amp;#39;re referring to this erratum, where the current consumption won&amp;#39;t go down after disabling QSPI due to an internal function that doesn&amp;#39;t stop when simply calling the uninit function. The official workaround is to execute the following code before disabling QSPI:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;*(volatile uint32_t *)0x40029010ul = 1ul;
*(volatile uint32_t *)0x40029054ul = 1ul&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Simon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Several problems with the qspi library function</title><link>https://devzone.nordicsemi.com/thread/201087?ContentTypeID=1</link><pubDate>Tue, 30 Jul 2019 01:40:43 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a4bee826-4b02-4d6e-bcae-105cf5666207</guid><dc:creator>outspace</dc:creator><description>&lt;p&gt;Hi,Simon&lt;/p&gt;
&lt;p&gt;Thank you for your answer, you have helped me solve the 2 and 4 questions, thank you.&lt;/p&gt;
&lt;p&gt;1.Nrfx_qspi_write(...) The underlying oscilloscope observes the timing. It will send 0x05 to confirm whether the status register wip bit is 0. If it is not 0, will it always query until it is 0? In this case, I don&amp;#39;t need to add code to check the wip bit when calling this function.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;2.I also want to ask you another question.When I use the QSPI library to communicate with flash, first initialize nrfx_qspi_init(&amp;amp;config, NULL, NULL) (handler parameter is NULL, ie: qspi internal interrupt is not enabled); after reading and writing, call nrfx_qspi_uninit() to reduce power consumption , but there will always be qspi interrupt hangs in NVIC, which will result&amp;nbsp;in main&lt;/p&gt;
&lt;p&gt;for(;;)&lt;/p&gt;
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt;App_sched_execute();&lt;/p&gt;
&lt;p&gt;Ble_idle_state();&lt;/p&gt;
&lt;p&gt;Sys_wdt_feed();&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;is always woken up, resulting in an average power consumption that cannot be reduced. This problem can be solved by adding NRFX_IRQ_PENDING_CLEAR(QSPI_IRQn) after calling nrfx_qspi_uninit(). why? Is there any hidden problem that needs attention in other places on the nordic platform? Thank you&lt;/p&gt;
&lt;p&gt;&amp;nbsp;Best regards&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Several problems with the qspi library function</title><link>https://devzone.nordicsemi.com/thread/200956?ContentTypeID=1</link><pubDate>Mon, 29 Jul 2019 12:06:28 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a55ea39a-6097-4606-bb1b-b6c982a7c0a2</guid><dc:creator>Simonr</dc:creator><description>&lt;p&gt;Hi&lt;/p&gt;
&lt;p&gt;1.&lt;/p&gt;
[quote user=""].The timing of the underlying&amp;nbsp; nrfx_qspi_write(...)&amp;nbsp; function is:a[/quote]
&lt;p&gt;Sorry, I&amp;#39;m struggling to understand what you mean by this. Could you please clarify?&lt;/p&gt;
&lt;p&gt;2. The ADDRCONF register is used for extended address configuration in the QSPI, controlling the use of extended 32-bit addressing with optional data bytes following the Opcode that puts the device into the 32-bit addressing mode.&lt;/p&gt;
&lt;p&gt;3. Triggering this task activates the external flash memory interface and initiates communication with the external memory. The READY event is generated when the activation has been completed.&lt;/p&gt;
&lt;p&gt;4. Yes, this is a bug (mentioned in &lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/38540/bug-nrf_qspi_cinstrdata_get-didn-t-collect-data-from-both-cinstrdat1-and-cinstrdat0"&gt;this post&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;&amp;nbsp;Best regards,&lt;/p&gt;
&lt;p&gt;Simon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>