<?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>Help Wanted: nRF52840 QSPI + FatFS to Winbond W25N01GV</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/39090/help-wanted-nrf52840-qspi-fatfs-to-winbond-w25n01gv</link><description>Looking for help creating an example similar to the usbd_msc example that works with the W25N01GV . Currently using SDK 15.0. Would like to see this work with FatFS or possibly another alternative better suited for flash. Please inquire in direct message</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 02 Jun 2020 11:49:26 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/39090/help-wanted-nrf52840-qspi-fatfs-to-winbond-w25n01gv" /><item><title>RE: Help Wanted: nRF52840 QSPI + FatFS to Winbond W25N01GV</title><link>https://devzone.nordicsemi.com/thread/252711?ContentTypeID=1</link><pubDate>Tue, 02 Jun 2020 11:49:26 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a6a8acff-10bc-41fb-b7e6-788752733974</guid><dc:creator>awneil</dc:creator><description>&lt;p&gt;Note that the last request was&lt;strong&gt; 9 months ago&lt;/strong&gt;, and got no reply - so seems that &lt;a href="https://devzone.nordicsemi.com/members/blueshifting"&gt;blueshifting&lt;/a&gt; is no longer listening&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Help Wanted: nRF52840 QSPI + FatFS to Winbond W25N01GV</title><link>https://devzone.nordicsemi.com/thread/252693?ContentTypeID=1</link><pubDate>Tue, 02 Jun 2020 11:18:58 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f96f6396-848e-4c30-adb0-180b32026e49</guid><dc:creator>Athan.Kok</dc:creator><description>&lt;p&gt;Hi,I am interested in the SPI solution too if possible.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Help Wanted: nRF52840 QSPI + FatFS to Winbond W25N01GV</title><link>https://devzone.nordicsemi.com/thread/209223?ContentTypeID=1</link><pubDate>Wed, 11 Sep 2019 14:37:31 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:cad32792-62fc-4ad3-9e31-d5d8c9670333</guid><dc:creator>Mihal</dc:creator><description>&lt;p&gt;hi. it would be nice. i&amp;#39;m interested in spi solution.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Help Wanted: nRF52840 QSPI + FatFS to Winbond W25N01GV</title><link>https://devzone.nordicsemi.com/thread/209132?ContentTypeID=1</link><pubDate>Wed, 11 Sep 2019 10:38:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f95b9376-9070-48b9-8fd9-c8d2151f5582</guid><dc:creator>Sarp</dc:creator><description>&lt;p&gt;I have implemented SPI functions but not QSPI, I can share my lib with you if you wish. &lt;br /&gt;Now, I am at the start stage to implement FATFS to W25N01GV. Did you proceed a bit? Does anyone have a suggestion, sample guide or sth?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Help Wanted: nRF52840 QSPI + FatFS to Winbond W25N01GV</title><link>https://devzone.nordicsemi.com/thread/183003?ContentTypeID=1</link><pubDate>Tue, 23 Apr 2019 07:45:31 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:746ce3bf-d4c0-42ca-a131-c1d3f4885356</guid><dc:creator>Nick</dc:creator><description>&lt;p&gt;Using the basic QSPI examples to talk to the W25N01GV is never actually writing to backing flash, as you already determined (it wouldn&amp;#39;t persist across power cycles). For one, the&amp;nbsp;W25N01GV boots with all pages write-protected via the BP bits of the Protection Register (Status Register 1). This must be cleared before any persistent writes (technically, Page Program operations) can succeed. If you checked the P-FAIL bit of Status Register 3, you&amp;#39;d likely find it set high, if the write was truly attempted at all.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I&amp;#39;ve been able to drag the&amp;nbsp;W25N01GV through most of its capability via extensive use of CINSTR, though I&amp;#39;m still only able to operate it via FASTREAD/PP 1x interfaces, and can only write 512 bytes to each 2048 byte NAND page. Look at the interfaces implemented by the nrRF52840 and the&amp;nbsp;W25N01GV, and they quite clearly don&amp;#39;t match up. Throw away the SDK&amp;#39;s QSPI driver, save to use it as a map to QSPI HAL. You then must look at what the Winbond needs sent, see if there&amp;#39;s anything that matches it in the nRF52840. There are few matches, so expect to implement most things with CINSTR.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Good luck!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Help Wanted: nRF52840 QSPI + FatFS to Winbond W25N01GV</title><link>https://devzone.nordicsemi.com/thread/170201?ContentTypeID=1</link><pubDate>Fri, 08 Feb 2019 23:26:57 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f79dbd90-e0fc-4566-9a5e-f8c84a942b9e</guid><dc:creator>blueshifting</dc:creator><description>&lt;p&gt;@Mihal we can discuss our implementation of a driver on a Slack I&amp;#39;ve created. My intention was to make an unofficial slack for people working on nRF platforms to discuss topics that might not be significant enough to post here. You (and anyone else) should be able to join it at &lt;a href="https://join.slack.com/t/nrfdevelopers/shared_invite/enQtNTQ2NDExMzIwNzcxLTc2YTIxNWRmNTI3Nzk5MjhjMzAxYzA1MWNlM2NkNzU1OGQ4ZjdhOGU1YTc1NDhkZjBmNTQyNzUwYWVhZWQxZGI" rel="noopener noreferrer" target="_blank"&gt;this slack invitation link&lt;/a&gt;.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Help Wanted: nRF52840 QSPI + FatFS to Winbond W25N01GV</title><link>https://devzone.nordicsemi.com/thread/170197?ContentTypeID=1</link><pubDate>Fri, 08 Feb 2019 22:11:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:069f4ee9-c6b7-451e-8761-5c75145372e1</guid><dc:creator>Mihal</dc:creator><description>&lt;p&gt;yeah, sure. it looks quite big and bothersome to make it alone.&lt;/p&gt;
&lt;p&gt;i have also found some kind of winbond nand driver by&amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/39090/help-wanted-nrf52840-qspi-fatfs-to-winbond-w25n01gv/170189/github.com/mongoose-os-libs/vfs-dev-w25xxx"&gt;the link&lt;/a&gt;. can&amp;#39;t say that i understand anything though&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Help Wanted: nRF52840 QSPI + FatFS to Winbond W25N01GV</title><link>https://devzone.nordicsemi.com/thread/170193?ContentTypeID=1</link><pubDate>Fri, 08 Feb 2019 21:58:04 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d5866206-bc28-4f04-8053-4459527b8991</guid><dc:creator>blueshifting</dc:creator><description>&lt;p&gt;Thanks, I&amp;rsquo;ll look for that. Perhaps this is a project we can tackle together?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Help Wanted: nRF52840 QSPI + FatFS to Winbond W25N01GV</title><link>https://devzone.nordicsemi.com/thread/170192?ContentTypeID=1</link><pubDate>Fri, 08 Feb 2019 21:55:00 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f4562bee-b55a-4ca2-9c21-f77d6710d422</guid><dc:creator>Mihal</dc:creator><description>&lt;p&gt;btw, i&amp;#39;ve just found an app note &amp;quot;Migration Guide from SPI NOR to SPI NAND&amp;quot; on official winbond page. i can&amp;#39;t check it all right now but it must be helpful if you&amp;#39;ll try modify some 3rd party driver.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Help Wanted: nRF52840 QSPI + FatFS to Winbond W25N01GV</title><link>https://devzone.nordicsemi.com/thread/170190?ContentTypeID=1</link><pubDate>Fri, 08 Feb 2019 21:36:32 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:76e35e1d-8b12-4d8c-a7e1-3defe1d7e58e</guid><dc:creator>Mihal</dc:creator><description>&lt;p&gt;well, i think it&amp;#39;s possible to make a kind of your own driver by encapsulating bunches of nrfx_qspi_cinstr_xfer(). But it&amp;#39;s blocking as i can see, so there is another big problem. maybe it&amp;#39;s possible to combine them somehow with standard read/write&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Help Wanted: nRF52840 QSPI + FatFS to Winbond W25N01GV</title><link>https://devzone.nordicsemi.com/thread/170189?ContentTypeID=1</link><pubDate>Fri, 08 Feb 2019 21:17:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1d4c4372-c437-411a-95af-75bf00f0b90d</guid><dc:creator>blueshifting</dc:creator><description>&lt;p&gt;I noticed the same thing: basic qspi write and validate read works, but the general state of the Nordic QSPI peripheral seems unsuited for NAND SPI flash. I will also admit not fully understanding how QSPI works - particularly when it comes to opcodes and write-enables, etc.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Currently I&amp;#39;ve been thinking about using SPI3 @ 32Mhz instead of QSPI and accessing the flash that way.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Help Wanted: nRF52840 QSPI + FatFS to Winbond W25N01GV</title><link>https://devzone.nordicsemi.com/thread/170188?ContentTypeID=1</link><pubDate>Fri, 08 Feb 2019 21:12:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0a180a6b-4812-4d17-98d3-2221942d228a</guid><dc:creator>Mihal</dc:creator><description>&lt;p&gt;Well. Actually i think my problem is in&amp;nbsp;a different plane. Looks like i can&amp;#39;t access memory properly.&lt;/p&gt;
&lt;p&gt;Data is valid if i do a simple write/read test like in qspi example. But it does not stay the same after power down and addressing works weird. So i think that problem is in the different set of commands implemented in&amp;nbsp;W25N01GV and in a chip used in PDK.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;But the point is that i don&amp;#39;t really understand how qspi driver works and&amp;nbsp;whether i can fix it. Well, it&amp;#39;s pretty clear that each function encapsulate a whole set of memory instructions but i guess there are no source in open access&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Help Wanted: nRF52840 QSPI + FatFS to Winbond W25N01GV</title><link>https://devzone.nordicsemi.com/thread/168986?ContentTypeID=1</link><pubDate>Fri, 01 Feb 2019 07:59:10 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:88445bbc-700d-4a14-8f3b-b7fad1498fd1</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;At least in SDK15.2.0 the usbd_msc project uses QSPI. Although it only creates random files (random file names) instead of writing to the files, it is possible to use this project to write in the files as well.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;If you replace&amp;nbsp;fatfs_file_create() with this function:&lt;br /&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;static void fatfs_create_test_file(void)
{
    FRESULT ff_result;
    FIL file;
    uint32_t file_size = 0;

    ff_result = f_open(&amp;amp;file, &amp;quot;my_file.txt&amp;quot;, FA_READ);
    if (ff_result != FR_OK)
    {
        NRF_LOG_ERROR(&amp;quot;my_file.txt Does not exist\r\n&amp;quot;);
        NRF_LOG_INFO(&amp;quot;Creating my_file.txt&amp;quot;);
        ff_result = f_open(&amp;amp;file, &amp;quot;my_file.txt&amp;quot;, FA_CREATE_ALWAYS | FA_WRITE);
        if (ff_result != FR_OK)
        {
            if(!m_usb_connected)
                NRF_LOG_ERROR(&amp;quot;Unable to open or create file: my_file.txt&amp;quot;);
            NRF_LOG_FLUSH();
            return;
        }
    }

    ff_result = f_close(&amp;amp;file);
    if (ff_result != FR_OK)
    {
        NRF_LOG_ERROR(&amp;quot;Unable to close file: %u \r\n&amp;quot;, ff_result);
        NRF_LOG_FLUSH();
        return;
    }

    file_size = f_size(&amp;amp;file);
    NRF_LOG_INFO(&amp;quot;my_file.txt create SUCCESSFUL; file size = %d\r\n&amp;quot;, file_size);
}&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;To create a specific file, and then you can use a function similar to this to write data to the file:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;static void write()
{
    int i = 0;
    char log_record[128] = {0};
    char log_record_r[128] = {0};

    FRESULT ff_result;
    FIL file;
    uint32_t fileSize;

    ff_result = f_open(&amp;amp;file, &amp;quot;my_file.txt&amp;quot;, FA_OPEN_APPEND | FA_OPEN_ALWAYS | FA_WRITE | FA_READ);
    if (ff_result != FR_OK)
    {
        if(!m_usb_connected)
            NRF_LOG_INFO(&amp;quot;Unable to open or create my_file.txt: %u&amp;quot;, ff_result);
        NRF_LOG_FLUSH();
        return;
    }


    sprintf(log_record, &amp;quot;Helloworld!\r\n&amp;quot;);


    FSIZE_t ptr = f_tell(&amp;amp;file);

    i = f_printf(&amp;amp;file, log_record);

    i = f_close(&amp;amp;file);
    if (i != 0)
    {
      NRF_LOG_INFO(&amp;quot;f_close != 0, %d&amp;quot;, i);
    }

    NRF_LOG_INFO(&amp;quot;Wrote Data Record&amp;quot;);
}&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Help Wanted: nRF52840 QSPI + FatFS to Winbond W25N01GV</title><link>https://devzone.nordicsemi.com/thread/168961?ContentTypeID=1</link><pubDate>Fri, 01 Feb 2019 00:51:24 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ce7c9785-fa8c-468f-b5bb-a164d8293ffc</guid><dc:creator>blueshifting</dc:creator><description>&lt;p&gt;I&amp;#39;ve not, though I&amp;#39;ve some ideas on how I&amp;#39;m going to do it. Just haven&amp;#39;t gotten to that task yet.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Help Wanted: nRF52840 QSPI + FatFS to Winbond W25N01GV</title><link>https://devzone.nordicsemi.com/thread/168960?ContentTypeID=1</link><pubDate>Fri, 01 Feb 2019 00:50:23 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:12cde33d-608e-4f8f-9647-bb3f4ac65436</guid><dc:creator>Mihal</dc:creator><description>&lt;p&gt;Hi, have you solved it? I have problems with this memory too&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Help Wanted: nRF52840 QSPI + FatFS to Winbond W25N01GV</title><link>https://devzone.nordicsemi.com/thread/151233?ContentTypeID=1</link><pubDate>Tue, 02 Oct 2018 12:42:03 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5d8e471e-d673-4a80-8868-a0e93b21e54b</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;Alternatively, you can check out the QSPI example.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Be aware that there is a current consumption bug in the QSPI. It is not very important when you just want to test this, but be aware of this before finishing your application.&lt;/p&gt;
&lt;p&gt;It is the errata number 122 in &lt;a href="http://infocenter.nordicsemi.com/pdf/nRF52840_Rev_1_Errata_v1.1.pdf"&gt;this document&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I would suggest you check out the SDK\examples\peripheral\qspi example, since it looks like the W25N01GV supports QSPI.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;You can easily test this example if you have the nRF52840DK, which uses QSPI on the flash storage chip on the DK.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;If you want to change the pins that the QSPI uses, these are decided in sdk_config.h. Note that when they are defined as NRF_QSPI_PIN_NOT_CONNECTED, it will use the default pins that are defined in pca10056.h.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Also note that you may experience some weird behavior if you have long cables/PCB traces, and the QSPI_CONFIG_FREQUENCY is very high.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Help Wanted: nRF52840 QSPI + FatFS to Winbond W25N01GV</title><link>https://devzone.nordicsemi.com/thread/151152?ContentTypeID=1</link><pubDate>Tue, 02 Oct 2018 07:40:29 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b5642abc-b3d3-42d1-9e5a-ecda9b335ece</guid><dc:creator>awneil</dc:creator><description>&lt;p&gt;Have you looked at the FatFs documentaion?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;That describes how to adapt the FatFs code to &lt;em&gt;&lt;strong&gt;any&lt;/strong&gt;&lt;/em&gt; target - basically, there is only one target-dependent file ...&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>