<?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>SPIM start task not functioning normally when migrating from 2.5.0 to 2.6.0</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/113456/spim-start-task-not-functioning-normally-when-migrating-from-2-5-0-to-2-6-0</link><description>My SPIM seems to stopped working when migrating from NCS 2.5.0 to 2.7.0, so I decided to downgrade to 2.6.0, and it seems the issue is still there. When migrating to 2.6.0, all the changes I have made during the migration that might impact the driver</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 31 Jul 2024 16:16:38 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/113456/spim-start-task-not-functioning-normally-when-migrating-from-2-5-0-to-2-6-0" /><item><title>RE: SPIM start task not functioning normally when migrating from 2.5.0 to 2.6.0</title><link>https://devzone.nordicsemi.com/thread/496455?ContentTypeID=1</link><pubDate>Wed, 31 Jul 2024 16:16:38 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:eee08717-1428-471b-b353-15686559d711</guid><dc:creator>PuffinEgg</dc:creator><description>&lt;p&gt;Thank you! Greatly appreciated.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SPIM start task not functioning normally when migrating from 2.5.0 to 2.6.0</title><link>https://devzone.nordicsemi.com/thread/496454?ContentTypeID=1</link><pubDate>Wed, 31 Jul 2024 16:15:32 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:cf3e8c03-deaa-4e17-8572-0e12518d52ef</guid><dc:creator>Susheel Nuguru</dc:creator><description>&lt;p&gt;This is a bug then in our end, I will create a bug report internally to track this and let the dev team fix it for future releases.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SPIM start task not functioning normally when migrating from 2.5.0 to 2.6.0</title><link>https://devzone.nordicsemi.com/thread/496451?ContentTypeID=1</link><pubDate>Wed, 31 Jul 2024 16:03:53 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:979cdad5-5728-4687-96b7-2535561bb2fb</guid><dc:creator>PuffinEgg</dc:creator><description>&lt;p&gt;As mentioned in the link to my other post, changing it to 4 (the default on 2.7.0 is actually 4) causes multiple IRQ registration conflict with the Zephyr BT LL stack (&lt;span&gt;CONFIG_BT_LL_SW_SPLIT). I had&amp;nbsp;NRF52_ANOMALY_109_WORKAROUND_EGU_INSTANCE changed to 5 and it gives me the tx and rx length issue.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SPIM start task not functioning normally when migrating from 2.5.0 to 2.6.0</title><link>https://devzone.nordicsemi.com/thread/496319?ContentTypeID=1</link><pubDate>Wed, 31 Jul 2024 05:27:06 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:fdb929b6-8b13-4c40-ac88-f9e65e426987</guid><dc:creator>Susheel Nuguru</dc:creator><description>&lt;p&gt;Turning off the option might give you some other side effects if your chip is effected by this Anomaly. Could you try changing the &lt;code&gt;NRF52_ANOMALY_109_WORKAROUND_EGU_INSTANCE&lt;/code&gt;&lt;span&gt;&amp;nbsp;value to 4 instead to keep the anomaly workaround but still get rid of the error?&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SPIM start task not functioning normally when migrating from 2.5.0 to 2.6.0</title><link>https://devzone.nordicsemi.com/thread/496281?ContentTypeID=1</link><pubDate>Tue, 30 Jul 2024 16:46:41 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4aeda870-8ba8-44f3-aaa7-3029bbe5803e</guid><dc:creator>PuffinEgg</dc:creator><description>&lt;p&gt;The issue seems to coming from&amp;nbsp;NRFX_SPIM_NRF52_ANOMALY_109_WORKAROUND_ENABLED which is resetting the xfer_dest.tx_length and rx_length to 0 in nrfx_spim.c:802. On 2.5.0 this option seems to be turned off by default. On 2.7.0, not having this option gives me the error described in one of my other post (&amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/113169/multiple-irq-registration-build-error-when-migrating-from-ncs-2-5-0-to-2-7-0"&gt;Multiple IRQ registration build error when migrating from NCS 2.5.0 to 2.7.0&lt;/a&gt;), so I can only set&amp;nbsp;&lt;span&gt;NRFX_SPIM_NRF52_ANOMALY_109_WORKAROUND_ENABLED = n to fix this issue.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SPIM start task not functioning normally when migrating from 2.5.0 to 2.6.0</title><link>https://devzone.nordicsemi.com/thread/496167?ContentTypeID=1</link><pubDate>Tue, 30 Jul 2024 09:36:38 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:83fe8a15-e4d1-44c9-afa0-8bda2ffdb502</guid><dc:creator>Susheel Nuguru</dc:creator><description>&lt;p&gt;If you are seeing this only after migrating to later versions of SDK, it might be a possible bug in the API.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I would recommend you to put a breakpoint in&amp;nbsp;nrfx_spim_xfer and step in the code since I can see in modules\hal\nordic\nrfx\drivers\src\nrfx_spim.c-&amp;gt;nrfy_spim_buffers_set the the MAXCNT register is set for TXD if you are using the easyDma version of the SPI. Find out by stepping line by line as to why that configuration did not get set. I am guessing there might be some configuration that we might have missed? Just trying to avoid future surprises and bugs with the workaround you had to make this work. Or maybe this is a bug at our end. In any case it would be good to know for sure why this happened.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SPIM start task not functioning normally when migrating from 2.5.0 to 2.6.0</title><link>https://devzone.nordicsemi.com/thread/496101?ContentTypeID=1</link><pubDate>Mon, 29 Jul 2024 23:43:43 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:88135cf9-131e-413b-9f9d-e75cf62ca600</guid><dc:creator>PuffinEgg</dc:creator><description>&lt;p&gt;I have found the issue however I am unsure why it is only happening in 2.6.0/2.7.0. Apparently, the TXD.MAXCNT register for some reason did not take in the tx_length value in nrfx_spim_xfer_desc_t after calling nrfx_spim_xfer, so I had to manually add that in. (shown below)&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;nrfx_spim_xfer_desc_t spim_xfer_desc = {
    .p_tx_buffer = NULL, 
    .tx_length = tx_len,
    .p_rx_buffer = NULL,
    .rx_length = 0
};

err = nrfx_spim_xfer(
        spim,
        &amp;amp;spim_xfer_desc,
        NRFX_SPIM_FLAG_TX_POSTINC | NRFX_SPIM_FLAG_HOLD_XFER | NRFX_SPIM_FLAG_NO_XFER_EVT_HANDLER | NRFX_SPIM_FLAG_REPEATED_XFER);
if (err != NRFX_SUCCESS) {
    return false;
}

NRF_SPIM_Type *spim1_reg = (NRF_SPIM_Type *)NRF_SPIM1_BASE;
spim1_reg-&amp;gt;TXD.MAXCNT = tx_len;
&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SPIM start task not functioning normally when migrating from 2.5.0 to 2.6.0</title><link>https://devzone.nordicsemi.com/thread/496099?ContentTypeID=1</link><pubDate>Mon, 29 Jul 2024 22:04:32 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7bcd75a6-5014-4b48-876d-13facc9d7b71</guid><dc:creator>PuffinEgg</dc:creator><description>&lt;p&gt;However, when I check the status flag of SPIM 1 it seems the&amp;nbsp;EVENTS_END flag is set to 1, which means the transaction is successful despite not seeing any data coming through at my end....&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: GPIOTE input not functioning normally when migrating from 2.5.0 to 2.6.0</title><link>https://devzone.nordicsemi.com/thread/496092?ContentTypeID=1</link><pubDate>Mon, 29 Jul 2024 19:59:15 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e5a76598-c933-40cc-af27-807305ee41b7</guid><dc:creator>PuffinEgg</dc:creator><description>&lt;p&gt;Hi, I did some further testing with the custom hardware, and it seems like the SPI start task is not getting triggered by the PPI. However, I don&amp;#39;t think this is a PPI issue since the fork GPIOTE task is getting triggered correctly (not seeing any data coming out using a logic analyzer).... To replicate this, are you able to correctly trigger a SPI sending task using the timer compare event and with a gpiote output toggle as the fork task?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: GPIOTE input not functioning normally when migrating from 2.5.0 to 2.6.0</title><link>https://devzone.nordicsemi.com/thread/496068?ContentTypeID=1</link><pubDate>Mon, 29 Jul 2024 16:39:16 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a3031209-62a8-4e0b-94ed-24777738f17c</guid><dc:creator>Susheel Nuguru</dc:creator><description>&lt;p&gt;There might changes in many drivers and libraries and we need to verify changes in each peripheral separately. Based on the description you wrote, I thought the issues is mainly in GPIOTE which can be verified if you are able to edit and run the sample I mentioned below with your code snippet. If that works ok, then maybe the problem is even deeper with integration.&lt;/p&gt;
&lt;p&gt;I might need help to replicate the issue at my end to be able to debug and isolate the issue.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: GPIOTE input not functioning normally when migrating from 2.5.0 to 2.6.0</title><link>https://devzone.nordicsemi.com/thread/496063?ContentTypeID=1</link><pubDate>Mon, 29 Jul 2024 16:29:42 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:694052c8-cca5-4d95-90e0-3657eda083de</guid><dc:creator>PuffinEgg</dc:creator><description>&lt;p&gt;Hi this is just a code snippet from my project code. I guess I am just trying to figure out if there are any changes introduced to either SPI, PPI (for some reason the channel number allocated is different between 2.5.0 and 2.6.0), GPIOTE, or SPIM that could cause this issue. I have already checked all the low level registers and it seems the configure register is the same between 2.5.0 and 2.6.0/2.7.0.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: GPIOTE input not functioning normally when migrating from 2.5.0 to 2.6.0</title><link>https://devzone.nordicsemi.com/thread/496061?ContentTypeID=1</link><pubDate>Mon, 29 Jul 2024 16:22:31 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:874b094e-8bdd-4e9f-8dae-6ecec6289d0b</guid><dc:creator>Susheel Nuguru</dc:creator><description>&lt;p&gt;I can give it a try to apply your changes and see if it works on my end. Just to be sure before I start, is it this sample that I should take as a template-&amp;gt;&amp;nbsp; zephyr\samples\boards\nrf\nrfx\src\main.c?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>