<?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>How to use nrf52840 SPIM3 EasyDMA</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/59579/how-to-use-nrf52840-spim3-easydma</link><description>Hi， 
 now，I am using SPIM3 successfully， 
 Is EASYDMA also opened by default when I use SPIM3？ If not, how to open it?</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 02 Apr 2020 09:58:27 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/59579/how-to-use-nrf52840-spim3-easydma" /><item><title>RE: How to use nrf52840 SPIM3 EasyDMA</title><link>https://devzone.nordicsemi.com/thread/243136?ContentTypeID=1</link><pubDate>Thu, 02 Apr 2020 09:58:27 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:fc0330e1-e7d5-4c49-9bba-e13d4d53b49b</guid><dc:creator>Karl Ylvisaker</dc:creator><description>[quote user="Larkin"]I&amp;#39;m sorry for the late reply[/quote]
&lt;p&gt;No problem at all.&lt;/p&gt;
[quote user="Larkin"]Maybe I should describe the my usage scenarios[/quote]
&lt;p&gt;Yes, as a rule of thumb it is good to share your intentions, so that we may better understand your situation and how to help you.&lt;/p&gt;
[quote user="Larkin"]I save the image data in SPI FLASH, and then read the image data to RAM through QSPI, then use SPIM3&amp;nbsp; to transfer the image data to drive the LCD, I hope to improve the efficiency of image data transmission to the LCD, so I choose to open SPIM3 easyDMA, with using an array list, but I don&amp;#39;t know exactly how to use the DMA array list.[/quote]
&lt;p&gt;Do I understand you correctly that you would like to use easyDMA with both the QSPI transfer from the flash to RAM, and then again with the transfer from RAM to LCD?&lt;br /&gt;This should be possible, and result in minimal CPU usage for your transactions.&lt;br /&gt;Sadly, we do not have any examples of this, but you may achieve this using the &lt;a href="https://infocenter.nordicsemi.com/topic/sdk_nrf5_v16.0.0/group__nrfx__spim.html"&gt;SPIM&lt;/a&gt; and &lt;a href="https://infocenter.nordicsemi.com/topic/sdk_nrf5_v16.0.0/group__nrfx__qspi.html"&gt;QSPI API&lt;/a&gt; References to set them both up using easyDMA, and then point the SPIM to transact what the QSPI has moved to the flash.&lt;br /&gt;To do this you would need to pass the start of the buffer filled by the QSPI to the SPIM for sending to the LCD.&lt;br /&gt; If you would like, these transfers could also be set up to trigger using PPI, to make it as seamless as possible for the CPU. Or you may just start the SPIM transfer as soon as one page of the QSPI has finished, it is up to you.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
[quote user="Larkin"]With SPIM3, there were no transmission errors or other unexpected situations.[/quote]
&lt;p&gt;This sounds good, but I am not sure what I should help you with then - except for the aforementioned. Is there anything in particular about the SPIM driver or SPIM3 instance that you would like to know?&lt;br /&gt;&lt;br /&gt;Best regards,&lt;br /&gt;Karl&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to use nrf52840 SPIM3 EasyDMA</title><link>https://devzone.nordicsemi.com/thread/243072?ContentTypeID=1</link><pubDate>Thu, 02 Apr 2020 03:32:48 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:40ef0943-234c-45b7-90f4-ca35fc64ddc3</guid><dc:creator>Larkin</dc:creator><description>&lt;p&gt;I&amp;#39;m sorry for the late reply，&lt;br /&gt;&lt;span&gt;Maybe I should describe the my usage scenarios，&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt; I save the image data in SPI FLASH, and then read the image data to RAM through QSPI, then use SPIM3&amp;nbsp; to transfer the image data to drive the LCD, I hope to improve the efficiency of image data transmission to the LCD, so I choose to open SPIM3 easyDMA, with using an array list, but I don&amp;#39;t know exactly how to use the DMA array list.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;With SPIM3, there were no transmission errors or other unexpected situations.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Best regards,&lt;br /&gt;larkinn&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to use nrf52840 SPIM3 EasyDMA</title><link>https://devzone.nordicsemi.com/thread/242453?ContentTypeID=1</link><pubDate>Mon, 30 Mar 2020 13:45:13 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:895c04ff-d4a3-4d1f-a6c0-b3897cb66196</guid><dc:creator>Karl Ylvisaker</dc:creator><description>&lt;p&gt;Perhaps it is the&amp;nbsp;&lt;a href="https://infocenter.nordicsemi.com/topic/sdk_nrf5_v16.0.0/group__nrf__spim.html"&gt;SPIM API Reference&lt;/a&gt; you are looking for?&lt;br /&gt;In particular, you need to ensure that the RX and TX registers given in your&amp;nbsp;&lt;span&gt;nrfx_spim_xfer_desc_t is located in the easyDMA memory region of the RAM. Examples of this is shown in the two links I posted in my previous reply.&lt;/span&gt;&lt;br /&gt;Are you familiar with assigning memory locations, and/or configuring registers directly?&lt;br /&gt;&lt;br /&gt;I see, could you elaborate what you are having trouble doing when you are operating it?&lt;br /&gt;Are you receiving any errors when you attempt to do transfers, or any unexpected behavior?&lt;br /&gt;It would be helpful if you could share your code, so I might get a better understanding of what you are having trouble achieving.&lt;br /&gt;&lt;br /&gt;I look forward to hearing your reply, so we may resolve your issue.&lt;br /&gt;&lt;br /&gt;Best regards,&lt;br /&gt;Karl&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to use nrf52840 SPIM3 EasyDMA</title><link>https://devzone.nordicsemi.com/thread/242025?ContentTypeID=1</link><pubDate>Fri, 27 Mar 2020 09:23:37 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c6c73301-161a-4079-a129-bfd47c70501c</guid><dc:creator>Larkin</dc:creator><description>&lt;p&gt;&lt;span&gt;Hi，Karl，I have read the document you instructed, but I still don&amp;#39;t understand how to operate it，&amp;nbsp;&lt;/span&gt;Where can I find the demo code from the SDK ？&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to use nrf52840 SPIM3 EasyDMA</title><link>https://devzone.nordicsemi.com/thread/242000?ContentTypeID=1</link><pubDate>Fri, 27 Mar 2020 07:45:08 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:737f66db-115a-4604-8254-96c2058f5378</guid><dc:creator>Karl Ylvisaker</dc:creator><description>&lt;p&gt;Hello,&lt;br /&gt;&lt;br /&gt;Yes, if configured correctly. Especially, you need to ensure that the buffers are located in the easyDMA RAM region.&lt;br /&gt;You can see how a normal easyDMA configuration is done&amp;nbsp;&lt;a href="https://infocenter.nordicsemi.com/index.jsp?topic=%2Fps_nrf52840%2Feasydma.html&amp;amp;anchor=easydma"&gt;here&lt;/a&gt;.&lt;br /&gt;You can read more about the SPIM easyDMA functionality&amp;nbsp;&lt;a href="https://infocenter.nordicsemi.com/index.jsp?topic=%2Fps_nrf52840%2Fspim.html&amp;amp;anchor=concept_svj_wt2_wr"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Best regards,&lt;br /&gt;Karl&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>