<?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>A filesystem and raw block access to the same QSPI flash</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/78773/a-filesystem-and-raw-block-access-to-the-same-qspi-flash</link><description>Hello. 
 I&amp;#39;d like to split an external QSPI flash chip so that part of the memory is accessible as raw blocks, and the other part holds a filesystem such as fatfs. Essentially I&amp;#39;d need to combine the nRF5 SDK examples peripheral/qspi and peripheral/usbd_msc</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 30 Aug 2021 10:12:49 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/78773/a-filesystem-and-raw-block-access-to-the-same-qspi-flash" /><item><title>RE: A filesystem and raw block access to the same QSPI flash</title><link>https://devzone.nordicsemi.com/thread/327160?ContentTypeID=1</link><pubDate>Mon, 30 Aug 2021 10:12:49 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b0a7889d-941f-4893-ab7b-00f63ae46c6a</guid><dc:creator>mrono</dc:creator><description>&lt;p&gt;Ok, I can now alternate between file access and raw block access. I combined the write-read test routine from the qspi example and the fatfs file access tests from usbd_msc.&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/4/6116.Snip.PNG" /&gt;&lt;/p&gt;
&lt;p&gt;Now I need to add these to my actual application. And implement a file transfer method over BLE.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: A filesystem and raw block access to the same QSPI flash</title><link>https://devzone.nordicsemi.com/thread/327119?ContentTypeID=1</link><pubDate>Mon, 30 Aug 2021 07:46:35 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3ddb3021-a277-4504-ae0a-b27d9b5af7d0</guid><dc:creator>mrono</dc:creator><description>&lt;p&gt;Sorry for the delay, I needed to work on something else last week.&lt;/p&gt;
&lt;p&gt;I got this part working. I checked how the block_dev_ram implementation specified an address range, and followed that. So instead of altering the shared geometry struct, I added the offset and size to the block_dev_qspi&amp;#39;s config-structure.&lt;/p&gt;
&lt;p&gt;This seems to be working. I still need to integrate the raw block access routines and verify that I can alternate between the two.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: A filesystem and raw block access to the same QSPI flash</title><link>https://devzone.nordicsemi.com/thread/325994?ContentTypeID=1</link><pubDate>Fri, 20 Aug 2021 14:03:04 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:be312e9f-4f48-4c45-a7f8-aeebb6a8ebd0</guid><dc:creator>ovrebekk</dc:creator><description>&lt;p&gt;Hi&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Unfortunately the guy that developed the&amp;nbsp;nrf_block_dev modules is on vacation at the moment, but looking at the code I can&amp;#39;t see any reference to any offset variables or similar that would allow you to start at an address &amp;gt; 0 in the external flash.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;As far as I can tell the nrf_block_dev_qspi.c implementation would have to be changed, in order to add a constant offset to the block index for every call to one of the nrf_drv_qspi_read/write/erase functions.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The blk_count variable in the&amp;nbsp;nrf_block_dev_geometry_t struct would then need to be reduced by the same amount, to make sure you don&amp;#39;t try to access memory beyond the boundaries of the flash module.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Best regards&lt;br /&gt;Torbjørn&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>